|
|
@@ -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;
|
|
|
}
|