Forráskód Böngészése

更有利的平仓

skyfffire 1 éve
szülő
commit
85ba2ba4d3
2 módosított fájl, 5 hozzáadás és 5 törlés
  1. 4 4
      strategy/src/avellaneda_stoikov.rs
  2. 1 1
      strategy/src/strategy.rs

+ 4 - 4
strategy/src/avellaneda_stoikov.rs

@@ -327,11 +327,11 @@ impl AvellanedaStoikov {
             self.bid_delta = self.base_delta;
             self.ask_delta = self.base_delta;
 
-            if self.inventory > Decimal::ZERO {
-                self.ask_delta = self.base_delta;
+            if self.inventory > Decimal::ZERO && self.flow_ratio > Decimal::ZERO {
+                self.ask_delta = self.base_delta * dec!(0.8);
                 // self.ask_delta = Decimal::NEGATIVE_ONE;
-            } else if self.inventory < Decimal::ZERO {
-                self.bid_delta = self.base_delta;
+            } else if self.inventory < Decimal::ZERO && self.flow_ratio < Decimal::ZERO {
+                self.bid_delta = self.base_delta * dec!(0.8);
                 // self.bid_delta = Decimal::NEGATIVE_ONE;
             }
         }

+ 1 - 1
strategy/src/strategy.rs

@@ -992,7 +992,7 @@ impl Strategy {
             // target_sell_price = utils::clip(target_sell_price, self.bp * dec!(0.9995), self.ap * dec!(1.03));
             // 取消大小限制
             target_sell_price = utils::fix_price(target_sell_price, self.tick_size);
-            let amount = if predictor.inventory.abs() > Decimal::TWO && predictor.flow_ratio > Decimal::ZERO {
+            let amount = if predictor.inventory.abs() > dec!(10) && predictor.flow_ratio > Decimal::ZERO {
                 utils::get_amount_by_min_amount_value(self.min_amount_value * Decimal::TWO, target_sell_price, self.step_size)
             } else {
                 utils::get_amount_by_min_amount_value(self.min_amount_value, target_sell_price, self.step_size)