skyffire il y a 10 mois
Parent
commit
28e9b0e14e
2 fichiers modifiés avec 16 ajouts et 5 suppressions
  1. 0 3
      global/src/params.rs
  2. 16 2
      strategy/src/predictor.rs

+ 0 - 3
global/src/params.rs

@@ -26,8 +26,6 @@ pub struct Params {
     pub open: Decimal,
     // 激活开仓挂单
     pub open_activate: Decimal,
-    // 激活开仓挂单的最小spread
-    pub min_spread: Decimal,
     // 激活平仓挂单
     pub close_activate: Decimal,
     // 平仓
@@ -94,7 +92,6 @@ impl Params {
             pair: json_value["pair"].as_str().unwrap().to_string(),
             open: Decimal::try_from(json_value["open"].as_f64().unwrap_or_default()).unwrap(),
             open_activate: Decimal::try_from(json_value["open_activate"].as_f64().unwrap_or_default()).unwrap(),
-            min_spread: Decimal::try_from(json_value["min_spread"].as_f64().unwrap_or_default()).unwrap(),
             close: Decimal::try_from(json_value["close"].as_f64().unwrap_or_default()).unwrap(),
             second_observation_time: Decimal::try_from(json_value["second_observation_time"].as_f64().unwrap()).unwrap(),
             lever_rate: Decimal::try_from(json_value["lever_rate"].as_f64().unwrap_or_default()).unwrap(),

+ 16 - 2
strategy/src/predictor.rs

@@ -404,14 +404,20 @@ impl Predictor {
             // 重置开仓焦点,条件1
             if !self.mid_rate_signal_open.is_zero() && !self.inventory.is_zero() {
                 self.mid_rate_signal_open = Decimal::ZERO;
+                self.mid_price_focus_cancel = Decimal::ZERO;
+                self.mid_price_focus_stop_loss = Decimal::ZERO;
             }
             // 重置开仓焦点,条件2
             if !self.mid_price_focus_cancel.is_zero() {
                 if self.mid_rate_signal_open > Decimal::ZERO && self.mid_price > self.mid_price_focus_cancel {
                     self.mid_rate_signal_open = Decimal::ZERO;
+                    self.mid_price_focus_cancel = Decimal::ZERO;
+                    self.mid_price_focus_stop_loss = Decimal::ZERO;
                 }
                 if self.mid_rate_signal_open < Decimal::ZERO && self.mid_price < self.mid_price_focus_cancel {
                     self.mid_rate_signal_open = Decimal::ZERO;
+                    self.mid_price_focus_cancel = Decimal::ZERO;
+                    self.mid_price_focus_stop_loss = Decimal::ZERO;
                 }
             }
             // 更新程序关注的开仓焦点
@@ -729,8 +735,16 @@ impl Predictor {
         let fair_price = Self::DONT_VIEW;
 
         let spread = self.mid_price;
-        let spread_max = self.mid_price_focus_cancel;
-        let spread_min = self.mid_price_focus_stop_loss;
+        let spread_max = if self.mid_price_focus_cancel.is_zero() {
+            self.mid_price
+        } else {
+            self.mid_price_focus_cancel
+        };
+        let spread_min = if self.mid_price_focus_stop_loss.is_zero() {
+            self.mid_price
+        } else {
+            self.mid_price_focus_stop_loss
+        };
         // let spread = self.price_times_avg;
         // let spread_max = self.fair_price_vec[1] / self.fair_price_vec[0];
         // let spread_min = self.fair_price / self.mid_price;