Strategy protocol
This commit is contained in:
@@ -68,10 +68,20 @@ impl StrategyEngine {
|
||||
let strategy = self.strategy.clone();
|
||||
let risk = self.risk.clone();
|
||||
|
||||
strategy.send(&StrategyEngineMessage::Initialize).await?;
|
||||
|
||||
loop {
|
||||
match strategy.recv().await? {
|
||||
None => {}
|
||||
|
||||
Some(StrategyMessage::GetWatchList) => {
|
||||
let mut v = vec![1];
|
||||
|
||||
v.extend(engine.config.lock().await.watchlist.to_com());
|
||||
|
||||
self.strategy.send_raw(&v).await?;
|
||||
}
|
||||
|
||||
Some(StrategyMessage::Log(mut log)) => {
|
||||
log.name.insert_str(0, "strategy::");
|
||||
engine.terminal_server.log_raw(log).await?;
|
||||
@@ -97,7 +107,7 @@ impl StrategyEngine {
|
||||
}
|
||||
}
|
||||
|
||||
Some(StrategyMessage::RequestOHLC {
|
||||
Some(StrategyMessage::RequestCandlestick {
|
||||
symbol,
|
||||
interval,
|
||||
count,
|
||||
@@ -144,10 +154,20 @@ impl StrategyEngine {
|
||||
|
||||
let risk = self.risk.clone();
|
||||
|
||||
risk.send(&RiskEngineMessage::Initialize).await?;
|
||||
|
||||
loop {
|
||||
match risk.recv().await? {
|
||||
None => {}
|
||||
|
||||
Some(RiskMessage::GetWatchList) => {
|
||||
let mut v = vec![1];
|
||||
|
||||
v.extend(engine.config.lock().await.watchlist.to_com());
|
||||
|
||||
self.risk.send_raw(&v).await?;
|
||||
}
|
||||
|
||||
Some(RiskMessage::Log(mut log)) => {
|
||||
log.name.insert_str(0, "risk::");
|
||||
engine.terminal_server.log_raw(log).await?;
|
||||
|
||||
Reference in New Issue
Block a user