Ver código fonte

is_regressed 观测 v2

skyfffire 11 meses atrás
pai
commit
722277b33c
1 arquivos alterados com 5 adições e 2 exclusões
  1. 5 2
      strategy/src/predictor.rs

+ 5 - 2
strategy/src/predictor.rs

@@ -373,6 +373,9 @@ impl Predictor {
         if prev_inventory != self.inventory && prev_inventory.is_zero() {
             self.prev_trade_time = Utc::now().timestamp_micros();
             self.close_price = self.fair_price_when_ordering;
+        }
+
+        if prev_inventory != self.inventory && self.inventory.is_zero() {
             self.is_regressed = false;
         }
 
@@ -441,9 +444,9 @@ impl Predictor {
         }
 
         // 判断价格是否回归
-        if !self.is_regressed && self.inventory > Decimal::ZERO && self.fair_price < self.mid_price {
+        if !self.is_regressed && self.inventory > Decimal::ZERO && self.fair_price < self.mid_price * (Decimal::ONE - self.params.open) {
             self.is_regressed = true
-        } else if !self.is_regressed && self.inventory < Decimal::ZERO && self.fair_price > self.mid_price {
+        } else if !self.is_regressed && self.inventory < Decimal::ZERO && self.fair_price > self.mid_price * (Decimal::ONE + self.params.open) {
             self.is_regressed = true
         }
     }