diff --git a/rustybot/src/strategy.rs b/rustybot/src/strategy.rs index bdf1fa6..d995b87 100644 --- a/rustybot/src/strategy.rs +++ b/rustybot/src/strategy.rs @@ -8,6 +8,7 @@ use crate::managers::PositionManager; use crate::models::{Position, PositionProfitState}; pub trait PositionStrategy: DynClone { + fn name(&self) -> String; fn on_new_tick( &self, position: &Position, @@ -17,7 +18,7 @@ pub trait PositionStrategy: DynClone { impl Debug for dyn PositionStrategy { fn fmt(&self, f: &mut Formatter<'_>) -> core::fmt::Result { - write!(f, "PositionStrategy") + write!(f, "{}", self.name()) } } @@ -46,6 +47,10 @@ impl TrailingStop { } impl PositionStrategy for TrailingStop { + fn name(&self) -> String { + "Trailing stop".into() + } + fn on_new_tick( &self, position: &Position,