Browse Source

恢复昨晚上的逻辑,今天这个平仓逻辑改的有点问题。没有与开仓形成逻辑关联。

skyfffire 11 tháng trước cách đây
mục cha
commit
01d0038128
1 tập tin đã thay đổi với 12 bổ sung10 xóa
  1. 12 10
      strategy/src/predictor.rs

+ 12 - 10
strategy/src/predictor.rs

@@ -456,21 +456,23 @@ impl Predictor {
 
         if is_close_long {
             if self.mid_price > self.pos_avg_price {
-                let profit_rate = (self.mid_price - self.pos_avg_price) / self.pos_avg_price;
-                let fill_rate = profit_rate / (self.params.open * dec!(50));
-                let close_rate = (Decimal::ONE - fill_rate) * self.params.open + self.params.close;
-
-                self.ask_delta = self.mid_price * close_rate * self.t_diff;
+                // let profit_rate = (self.mid_price - self.pos_avg_price) / self.pos_avg_price;
+                // let fill_rate = profit_rate / (self.params.open * dec!(50));
+                // let close_rate = (Decimal::ONE - fill_rate) * self.params.open + self.params.close;
+                //
+                // self.ask_delta = self.mid_price * close_rate * self.t_diff;
+                self.ask_delta = self.mid_price * self.params.close;
             } else if self.mid_price > self.fair_price {
                 self.ask_delta = self.mid_price * self.params.close;
             }
         } else if is_close_short {
             if self.mid_price < self.pos_avg_price {
-                let profit_rate = (self.pos_avg_price - self.mid_price) / self.pos_avg_price;
-                let fill_rate = profit_rate / (self.params.open * dec!(50));
-                let close_rate = (Decimal::ONE - fill_rate) * self.params.open + self.params.close;
-
-                self.bid_delta = self.mid_price * close_rate * self.t_diff;
+                // let profit_rate = (self.pos_avg_price - self.mid_price) / self.pos_avg_price;
+                // let fill_rate = profit_rate / (self.params.open * dec!(50));
+                // let close_rate = (Decimal::ONE - fill_rate) * self.params.open + self.params.close;
+                //
+                // self.bid_delta = self.mid_price * close_rate * self.t_diff;
+                self.bid_delta = self.mid_price * self.params.close;
             } else if self.mid_price < self.fair_price {
                 self.bid_delta = self.mid_price * self.params.close;
             }