Kaynağa Gözat

修复反向持仓时,修复force_order_value清不掉一致开单的bug

skyffire 9 ay önce
ebeveyn
işleme
3aa7c21fa4
1 değiştirilmiş dosya ile 5 ekleme ve 8 silme
  1. 5 8
      strategy/src/predictor.rs

+ 5 - 8
strategy/src/predictor.rs

@@ -275,6 +275,11 @@ impl Predictor {
             self.trade_time_vec.push_back(now);
             self.trade_side_map.insert(now, side);
             self.trade_amount_map.insert(now, amount);
+
+            self.prev_trade_time = Decimal::from(Utc::now().timestamp_millis());
+            self.prev_trade_price = self.mid_price;
+            self.prev_trade_force_order_value = self.force_order_value;
+            self.force_order_value = Decimal::ZERO;
         } else if side == "pd" || side == "pk" {
             let pop_time = self.trade_time_vec.pop_front().unwrap();
 
@@ -321,14 +326,6 @@ impl Predictor {
             };
         }
 
-        // 用于计算加仓
-        if self.inventory.abs() > prev_inventory.abs() {
-            self.prev_trade_time = Decimal::from(Utc::now().timestamp_millis());
-            self.prev_trade_price = self.mid_price;
-            self.prev_trade_force_order_value = self.force_order_value;
-            self.force_order_value = Decimal::ZERO;
-        }
-
         // 重置一些计算
         if prev_inventory != self.inventory && self.inventory.is_zero() {
             self.profit_point_vec.clear();