signals -> messages
This commit is contained in:
parent
e6cb512a17
commit
16a32cdce7
@ -1,8 +1,8 @@
|
|||||||
|
use dyn_clone::DynClone;
|
||||||
|
use log::debug;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::fmt::{Debug, Formatter};
|
use std::fmt::{Debug, Formatter};
|
||||||
|
|
||||||
use dyn_clone::DynClone;
|
|
||||||
|
|
||||||
use crate::events::{Event, EventKind, EventMetadata, Message};
|
use crate::events::{Event, EventKind, EventMetadata, Message};
|
||||||
use crate::managers::{OrderManager, PositionManager, TrackedPositionsMap};
|
use crate::managers::{OrderManager, PositionManager, TrackedPositionsMap};
|
||||||
use crate::models::{ExecutedOrder, OrderForm, Position, PositionProfitState};
|
use crate::models::{ExecutedOrder, OrderForm, Position, PositionProfitState};
|
||||||
@ -86,7 +86,7 @@ impl PositionStrategy for TrailingStop {
|
|||||||
position: Position,
|
position: Position,
|
||||||
manager: &PositionManager,
|
manager: &PositionManager,
|
||||||
) -> (Position, Option<Vec<Event>>, Option<Vec<Message>>) {
|
) -> (Position, Option<Vec<Event>>, Option<Vec<Message>>) {
|
||||||
let mut signals = vec![];
|
let mut messages = vec![];
|
||||||
let events = vec![];
|
let events = vec![];
|
||||||
|
|
||||||
let pl_perc = TrailingStop::net_pl_percentage(position.pl_perc(), TrailingStop::TAKER_FEE);
|
let pl_perc = TrailingStop::net_pl_percentage(position.pl_perc(), TrailingStop::TAKER_FEE);
|
||||||
@ -103,7 +103,8 @@ impl PositionStrategy for TrailingStop {
|
|||||||
} else if TrailingStop::MAX_LOSS_PERC < pl_perc && pl_perc < 0.0 {
|
} else if TrailingStop::MAX_LOSS_PERC < pl_perc && pl_perc < 0.0 {
|
||||||
PositionProfitState::Loss
|
PositionProfitState::Loss
|
||||||
} else {
|
} else {
|
||||||
signals.push(Message::ClosePosition {
|
debug!("Inserting close position message...");
|
||||||
|
messages.push(Message::ClosePosition {
|
||||||
position: position.clone(),
|
position: position.clone(),
|
||||||
});
|
});
|
||||||
PositionProfitState::Critical
|
PositionProfitState::Critical
|
||||||
@ -120,7 +121,7 @@ impl PositionStrategy for TrailingStop {
|
|||||||
return (
|
return (
|
||||||
new_position,
|
new_position,
|
||||||
(!events.is_empty()).then_some(events),
|
(!events.is_empty()).then_some(events),
|
||||||
(!signals.is_empty()).then_some(signals),
|
(!messages.is_empty()).then_some(messages),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -128,7 +129,7 @@ impl PositionStrategy for TrailingStop {
|
|||||||
return (
|
return (
|
||||||
new_position,
|
new_position,
|
||||||
(!events.is_empty()).then_some(events),
|
(!events.is_empty()).then_some(events),
|
||||||
(!signals.is_empty()).then_some(signals),
|
(!messages.is_empty()).then_some(messages),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -174,7 +175,7 @@ impl PositionStrategy for TrailingStop {
|
|||||||
return (
|
return (
|
||||||
new_position,
|
new_position,
|
||||||
(!events.is_empty()).then_some(events),
|
(!events.is_empty()).then_some(events),
|
||||||
(!signals.is_empty()).then_some(signals),
|
(!messages.is_empty()).then_some(messages),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user