Prechádzať zdrojové kódy

&& self.state == 0
&& self.volume_decay > dec!(0.2)

skyffire 9 mesiacov pred
rodič
commit
fe9d745b49
1 zmenil súbory, kde vykonal 5 pridanie a 1 odobranie
  1. 5 1
      strategy/src/predictor.rs

+ 5 - 1
strategy/src/predictor.rs

@@ -300,7 +300,7 @@ impl Predictor {
             let previous = Self::calculate_mean_from_iter(previous_iter);
 
             self.volume_decay = if current > previous {
-                Decimal::ZERO
+                self.volume_decay * dec!(0.999)
             } else {
                 if self.volume_decay.is_zero() {
                     (previous - current) / previous
@@ -562,10 +562,14 @@ impl Predictor {
         let is_open_long = self.force_order_value < -self.params.open
             && (self.mid_price < self.prev_trade_price * dec!(0.999) || self.prev_trade_price.is_zero())
             && self.inventory < self.params.grid
+            && self.state == 0
+            && self.volume_decay > dec!(0.2)
             && self.bid_delta == dec!(-2);
         let is_open_short = self.force_order_value > self.params.open
             && (self.mid_price > self.prev_trade_price * dec!(1.001) || self.prev_trade_price.is_zero())
             && self.inventory > -self.params.grid
+            && self.state == 0
+            && self.volume_decay > dec!(0.2)
             && self.ask_delta == dec!(-2);
 
         if is_open_long {