Explorar o código

恢复之前用signal挂单的

skyffire hai 9 meses
pai
achega
04e5c4ec24
Modificáronse 1 ficheiros con 18 adicións e 4 borrados
  1. 18 4
      strategy/src/predictor.rs

+ 18 - 4
strategy/src/predictor.rs

@@ -342,11 +342,25 @@ impl Predictor {
             self.optimal_bid_price = self.fair_price - self.fair_price * self.params.close;
             self.optimal_ask_price = Self::DONT_VIEW;
         } else {
-            self.bid_delta = dec!(0);
-            self.ask_delta = dec!(0);
+            if self.signal > Decimal::ZERO {
+                self.bid_delta = dec!(0);
+                self.ask_delta = dec!(-2);
+
+                self.optimal_bid_price = self.fair_price - self.fair_price * (self.params.open - self.signal);
+                self.optimal_ask_price = Self::DONT_VIEW;
+            } else if self.signal < Decimal::ZERO {
+                self.ask_delta = dec!(0);
+                self.bid_delta = dec!(-2);
+
+                self.optimal_ask_price = self.fair_price + self.fair_price * (self.params.open + self.signal);
+                self.optimal_bid_price = Self::DONT_VIEW;
+            } else {
+                self.bid_delta = dec!(0);
+                self.ask_delta = dec!(0);
 
-            self.optimal_bid_price = self.fair_price - self.fair_price * self.params.open;
-            self.optimal_ask_price = self.fair_price + self.fair_price * self.params.open;
+                self.optimal_bid_price = self.fair_price - self.fair_price * self.params.open;
+                self.optimal_ask_price = self.fair_price + self.fair_price * self.params.open;
+            }
         }
 
         self.optimal_ask_price.rescale(self.mid_price.scale());