Explorar o código

v4.2.5_beta: 修复pop的顺序问题。

skyffire hai 7 meses
pai
achega
ffb73096e5
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      strategy/src/predictor.rs

+ 2 - 1
strategy/src/predictor.rs

@@ -498,7 +498,7 @@ impl Predictor {
             self.trade_price_map.insert(now, price);
         } else if side == "pd" || side == "pk" {
             if self.trade_time_vec.len() > 0 {
-                let pop_time = self.trade_time_vec.pop_front().unwrap();
+                let pop_time = self.trade_time_vec[0];
 
                 let amount_cache = self.trade_amount_map.get(&pop_time).unwrap();
                 let remaining_amount = amount_cache - amount;
@@ -507,6 +507,7 @@ impl Predictor {
                     self.trade_side_map.remove(&pop_time);
                     self.trade_amount_map.remove(&pop_time);
                     self.trade_price_map.remove(&pop_time);
+                    self.trade_time_vec.pop_front();
                 } else {
                     self.trade_amount_map.insert(pop_time, remaining_amount);
                 }