Explorar o código

spread_sma_1000

skyfffire hai 10 meses
pai
achega
e47b9584f3
Modificáronse 1 ficheiros con 5 adicións e 5 borrados
  1. 5 5
      strategy/src/predictor.rs

+ 5 - 5
strategy/src/predictor.rs

@@ -51,7 +51,7 @@ pub struct Predictor {
     pub spread_sma_1000_time_vec: FixedTimeRangeDeque<Decimal>,                 // spread队列,10ms以内的所有spread_sma_1000
     pub fair_price_vec: Vec<Decimal>,                                           // 公平价格列表,0表示做市所,1表示参考所
     pub fair_price: Decimal,                                                    // 公平价格
-    pub fair_price_ema_100000: Decimal,                                         // 公平价格_ema_100000
+    pub fair_price_ema_30000: Decimal,                                         // 公平价格_ema
     pub fair_rate_focus_open: Decimal,                                          // 变化幅度焦点
     pub fair_price_focus_open: Decimal,                                         // 观测焦点时的价格
     pub fair_rate_focus_close: Decimal,                                         // 变化幅度焦点
@@ -168,7 +168,7 @@ impl Predictor {
             fair_price_long_time_vec: FixedTimeRangeDeque::new(2 * 60_000_000),
             mid_price_time_vec: FixedTimeRangeDeque::new(100_000),
             fair_price: Default::default(),
-            fair_price_ema_100000: Default::default(),
+            fair_price_ema_30000: Default::default(),
             fair_rate_focus_open: Default::default(),
             fair_price_focus_open: Default::default(),
             fair_rate_focus_close: Default::default(),
@@ -320,10 +320,10 @@ impl Predictor {
             let fair_price_part0 = self.fair_price_vec[0] * dec!(0.2);
             let fair_price_part1 = (self.fair_price_vec[1] / self.price_times_avg) * dec!(0.8);
             self.fair_price = fair_price_part0 + fair_price_part1;
-            self.fair_price_ema_100000 = if self.fair_price_ema_100000.is_zero() {
+            self.fair_price_ema_30000 = if self.fair_price_ema_30000.is_zero() {
                 self.fair_price
             } else {
-                self.fair_price_ema_100000 * dec!(0.99999) + self.fair_price * dec!(0.00001)
+                self.fair_price_ema_30000 * dec!(0.999967) + self.fair_price * dec!(0.000033)
             };
             self.fair_price_time_vec.push_back(self.fair_price);
 
@@ -610,7 +610,7 @@ impl Predictor {
 
         let spread = self.mid_price;
         let spread_max = self.fair_price;
-        let spread_min = self.fair_price_ema_100000;
+        let spread_min = self.fair_price_ema_30000;
         // 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;