skyffire 9 miesięcy temu
rodzic
commit
3ef55f9ad5
1 zmienionych plików z 15 dodań i 17 usunięć
  1. 15 17
      strategy/src/predictor.rs

+ 15 - 17
strategy/src/predictor.rs

@@ -56,7 +56,7 @@ pub struct Predictor {
 
     pub mid_price_time_vec: FixedTimeRangeDeque<Decimal>,                       // 中间价格队列,
     pub mid_price_long_time_vec: FixedTimeRangeDeque<Decimal>,                  // 中间价格队列,
-    pub mid_price_trend_time_vec: FixedTimeRangeDeque<Decimal>,                  // 中间价格队列,
+    pub mid_price_trend_time_vec: FixedTimeRangeDeque<Decimal>,                 // 中间价格队列,
     pub fair_price_time_vec: FixedTimeRangeDeque<Decimal>,                      // 公平价格队列,
     pub fair_price_long_time_vec: FixedTimeRangeDeque<Decimal>,                 // 公平价格队列,
     pub fair_price_vec: Vec<Decimal>,                                           // 公平价格列表,0表示做市所,1表示参考所
@@ -255,8 +255,6 @@ impl Predictor {
             return;
         }
         self.processor().await;
-
-        self.force_order_value = self.force_order_time_vec.deque.iter().map(|item| item.value).sum();
     }
 
     pub async fn on_trade(&mut self, trade: &Trade, _index: usize) {
@@ -285,19 +283,19 @@ impl Predictor {
     }
 
     pub async fn on_force_order(&mut self, force_order: ForceOrder) {
-        match self.force_order_time_vec.deque.iter().last() {
-            Some(last) => {
-                // 有的交易所会重复推,这样做个容错处理
-                if force_order.time != last.time && force_order.value != last.value {
-                    self.force_order_time_vec.push_back(force_order);
-                }
-            }
-            None => {
-                self.force_order_time_vec.push_back(force_order);
-            }
-        }
+        // match self.force_order_time_vec.deque.iter().last() {
+        //     Some(last) => {
+        //         // 有的交易所会重复推,这样做个容错处理
+        //         if force_order.time != last.time && force_order.value != last.value {
+        //             self.force_order_time_vec.push_back(force_order);
+        //         }
+        //     }
+        //     None => {
+        //         self.force_order_time_vec.push_back(force_order);
+        //     }
+        // }
 
-        self.force_order_value = self.force_order_time_vec.deque.iter().map(|item| item.value).sum();
+        self.force_order_value = force_order.value.clone();
     }
 
     pub async fn update_level(&mut self) {
@@ -746,9 +744,9 @@ impl Predictor {
         let fair_price = Self::DONT_VIEW;
 
         let (spread, spread_max, spread_min) = if self.mid_price_trend_time_vec.len() > 1 {
-            let (_, max, min) = Self::get_real_rate(&self.mid_price_trend_time_vec);
+            let (rate, _, _) = Self::get_real_rate(&self.mid_price_trend_time_vec);
 
-            (self.mid_price, max, min)
+            (rate, Self::DONT_VIEW, Self::DONT_VIEW)
         } else {
             (self.mid_price, Self::DONT_VIEW, Self::DONT_VIEW)
         };