skyffire пре 10 месеци
родитељ
комит
a4a7f0c0ac
1 измењених фајлова са 36 додато и 44 уклоњено
  1. 36 44
      strategy/src/predictor.rs

+ 36 - 44
strategy/src/predictor.rs

@@ -310,9 +310,9 @@ impl Predictor {
         // 重置fair数据,用于重新计算幅度
         if prev_inventory != self.inventory {
             self.fair_price_time_vec.deque.clear();
-            self.mid_price_time_vec.deque.clear();
-            self.mid_price_long_time_vec.deque.clear();
-            self.mid_price_trend_time_vec.deque.clear();
+            // self.mid_price_time_vec.deque.clear();
+            // self.mid_price_long_time_vec.deque.clear();
+            // self.mid_price_trend_time_vec.deque.clear();
         }
 
         // 重置资金流计算
@@ -476,20 +476,12 @@ impl Predictor {
             if self.mid_rate_signal_close.is_zero() && !self.inventory.is_zero() && mid_rate.abs() > close_activate {
                 // 多单平仓逻辑
                 if self.inventory > Decimal::ZERO && mid_rate < Decimal::ZERO {
-                    if self.profit_point > Decimal::ZERO {
-                        self.mid_rate_signal_close = mid_rate;
-                    } else if self.t_diff.is_zero() {
-                        self.mid_rate_signal_close = mid_rate;
-                    }
+                    self.mid_rate_signal_close = mid_rate;
                 }
 
                 // 空单平仓逻辑
                 if self.inventory < Decimal::ZERO && mid_rate > Decimal::ZERO {
-                    if self.profit_point > Decimal::ZERO {
-                        self.mid_rate_signal_close = mid_rate;
-                    } else if self.t_diff.is_zero() {
-                        self.mid_rate_signal_close = mid_rate;
-                    }
+                    self.mid_rate_signal_close = mid_rate;
                 }
             }
             // 15秒以后平仓
@@ -519,36 +511,36 @@ impl Predictor {
             //     info!("----------------------------------------");
             // }
             // // ============================ 平仓特殊逻辑处理2 =======================
-            if self.mid_rate_signal_close.is_zero() && !self.inventory.is_zero() && self.profit_point_vec.len() > 1 {
-                let prev_profit_point = self.profit_point_vec[self.profit_point_vec.len() - 2];
-                let profit_point = self.profit_point_vec[self.profit_point_vec.len() - 1];
-
-                if (prev_profit_point >= Decimal::ZERO && profit_point < Decimal::ZERO) || (prev_profit_point > Decimal::ZERO && profit_point <= Decimal::ZERO) {
-                    self.mid_rate_signal_close = dec!(-0.12);
-
-                    info!("----------------------------------------");
-                    info!("止损逻辑2, 在价格{}处,成本价{},价值={}, p={}。", self.mid_price, self.pos_avg_price, self.pos_avg_price*self.pos_amount, self.profit_point);
-                    info!("----------------------------------------");
-                }
-            }
+            // if self.mid_rate_signal_close.is_zero() && !self.inventory.is_zero() && self.profit_point_vec.len() > 1 {
+            //     let prev_profit_point = self.profit_point_vec[self.profit_point_vec.len() - 2];
+            //     let profit_point = self.profit_point_vec[self.profit_point_vec.len() - 1];
+            //
+            //     if (prev_profit_point >= Decimal::ZERO && profit_point < Decimal::ZERO) || (prev_profit_point > Decimal::ZERO && profit_point <= Decimal::ZERO) {
+            //         self.mid_rate_signal_close = dec!(-0.12);
+            //
+            //         info!("----------------------------------------");
+            //         info!("止损逻辑2, 在价格{}处,成本价{},价值={}, p={}。", self.mid_price, self.pos_avg_price, self.pos_avg_price*self.pos_amount, self.profit_point);
+            //         info!("----------------------------------------");
+            //     }
+            // }
             // ============================ 平仓特殊逻辑处理3 =======================
-            if self.mid_rate_signal_close.is_zero() && !self.inventory.is_zero() {
-                if self.inventory > Decimal::ZERO && self.mid_price < self.mid_price_focus_stop_loss * dec!(0.9995) {
-                    self.mid_rate_signal_close = dec!(-0.13);
-
-                    info!("----------------------------------------");
-                    // info!("止损,参数调整:{} -> {}", prev_open_activate, self.params.open_activate);
-                    info!("趋势失效止损, 在价格{}处,成本价{},价值={}, p={}。", self.mid_price, self.pos_avg_price, self.pos_avg_price*self.pos_amount, self.profit_point);
-                    info!("----------------------------------------");
-                } else if self.inventory < Decimal::ZERO && self.mid_price > self.mid_price_focus_stop_loss * dec!(1.0005) {
-                    self.mid_rate_signal_close = dec!(-0.13);
-
-                    info!("----------------------------------------");
-                    // info!("止损,参数调整:{} -> {}", prev_open_activate, self.params.open_activate);
-                    info!("趋势失效止损, 在价格{}处,成本价{},价值={}, p={}。", self.mid_price, self.pos_avg_price, self.pos_avg_price*self.pos_amount, self.profit_point);
-                    info!("----------------------------------------");
-                }
-            }
+            // if self.mid_rate_signal_close.is_zero() && !self.inventory.is_zero() {
+            //     if self.inventory > Decimal::ZERO && self.mid_price < self.mid_price_focus_stop_loss * dec!(0.9995) {
+            //         self.mid_rate_signal_close = dec!(-0.13);
+            //
+            //         info!("----------------------------------------");
+            //         // info!("止损,参数调整:{} -> {}", prev_open_activate, self.params.open_activate);
+            //         info!("趋势失效止损, 在价格{}处,成本价{},价值={}, p={}。", self.mid_price, self.pos_avg_price, self.pos_avg_price*self.pos_amount, self.profit_point);
+            //         info!("----------------------------------------");
+            //     } else if self.inventory < Decimal::ZERO && self.mid_price > self.mid_price_focus_stop_loss * dec!(1.0005) {
+            //         self.mid_rate_signal_close = dec!(-0.13);
+            //
+            //         info!("----------------------------------------");
+            //         // info!("止损,参数调整:{} -> {}", prev_open_activate, self.params.open_activate);
+            //         info!("趋势失效止损, 在价格{}处,成本价{},价值={}, p={}。", self.mid_price, self.pos_avg_price, self.pos_avg_price*self.pos_amount, self.profit_point);
+            //         info!("----------------------------------------");
+            //     }
+            // }
         }
 
         // // 判断价格是否回归
@@ -759,8 +751,8 @@ impl Predictor {
 
         let inventory = self.inventory;
 
-        let (sigma_square, _, _) = if self.mid_price_trend_time_vec.len() > 1 {
-            Self::get_real_rate(&self.mid_price_trend_time_vec)
+        let (sigma_square, _, _) = if self.mid_price_time_vec.len() > 1 {
+            Self::get_real_rate(&self.mid_price_time_vec)
         } else {
             (Decimal::ZERO, Decimal::ZERO, Decimal::ZERO)
         };