Parcourir la source

价格关联性

skyfffire il y a 11 mois
Parent
commit
11269cbeba
1 fichiers modifiés avec 4 ajouts et 4 suppressions
  1. 4 4
      strategy/src/predictor.rs

+ 4 - 4
strategy/src/predictor.rs

@@ -444,15 +444,15 @@ impl Predictor {
 
         let is_open_long = self.ref_price > self.mid_price;
         let is_open_short = self.ref_price < self.mid_price;
-        let is_close_long = self.ref_price < self.mid_price;
-        let is_close_short = self.ref_price > self.mid_price;
+        let is_close_long = self.inventory > Decimal::ZERO && (self.ref_price < self.mid_price || self.pos_avg_price < self.mid_price);
+        let is_close_short = self.inventory < Decimal::ZERO && (self.ref_price > self.mid_price || self.pos_avg_price > self.mid_price);
 
         self.bid_delta = Decimal::NEGATIVE_ONE;
         self.ask_delta = Decimal::NEGATIVE_ONE;
 
-        if self.inventory > Decimal::ZERO && is_close_long {
+        if is_close_long {
             self.ask_delta = self.mid_price * self.params.close;
-        } else if self.inventory < Decimal::ZERO && is_close_short {
+        } else if is_close_short {
             self.bid_delta = self.mid_price * self.params.close;
         } else if is_open_long {
             self.bid_delta = self.mid_price * self.params.open;