|
|
@@ -390,11 +390,17 @@ impl Predictor {
|
|
|
|
|
|
if is_close_long {
|
|
|
self.ask_delta = self.mid_price * self.params.close;
|
|
|
- } else if is_close_short {
|
|
|
+ }
|
|
|
+
|
|
|
+ if is_close_short {
|
|
|
self.bid_delta = self.mid_price * self.params.close;
|
|
|
- } else if is_open_long {
|
|
|
+ }
|
|
|
+
|
|
|
+ if is_open_long {
|
|
|
self.bid_delta = self.params.open * self.mid_price;
|
|
|
- } else if is_open_short {
|
|
|
+ }
|
|
|
+
|
|
|
+ if is_open_short {
|
|
|
self.ask_delta = self.params.open * self.mid_price;
|
|
|
}
|
|
|
}
|
|
|
@@ -405,7 +411,7 @@ impl Predictor {
|
|
|
} else if self.ask_delta == dec!(-2) {
|
|
|
Self::DONT_VIEW
|
|
|
} else {
|
|
|
- max(self.ask_price + self.ask_delta, self.bid_price)
|
|
|
+ max(self.fair_price + self.ask_delta, self.bid_price)
|
|
|
};
|
|
|
|
|
|
self.optimal_bid_price = if self.bid_delta == dec!(-1) {
|
|
|
@@ -413,7 +419,7 @@ impl Predictor {
|
|
|
} else if self.bid_delta == dec!(-2) {
|
|
|
Self::DONT_VIEW
|
|
|
} else {
|
|
|
- min(self.bid_price - self.bid_delta, self.ask_price)
|
|
|
+ min(self.fair_price - self.bid_delta, self.ask_price)
|
|
|
};
|
|
|
|
|
|
self.optimal_ask_price.rescale(self.mid_price.scale());
|