|
|
@@ -1,4 +1,4 @@
|
|
|
-use std::cmp::max;
|
|
|
+use std::cmp::{max, min};
|
|
|
use std::collections::{BTreeMap, VecDeque};
|
|
|
use std::sync::Arc;
|
|
|
use chrono::{Utc};
|
|
|
@@ -347,13 +347,13 @@ impl Predictor {
|
|
|
self.ask_delta = dec!(0);
|
|
|
self.bid_delta = dec!(-2);
|
|
|
|
|
|
- self.optimal_ask_price = self.mid_price;
|
|
|
+ self.optimal_ask_price = min(self.mid_price, self.fair_price);
|
|
|
self.optimal_bid_price = Self::DONT_VIEW;
|
|
|
} else if is_close_short {
|
|
|
self.bid_delta = dec!(0);
|
|
|
self.ask_delta = dec!(-2);
|
|
|
|
|
|
- self.optimal_bid_price = self.mid_price;
|
|
|
+ self.optimal_bid_price = max(self.mid_price, self.fair_price);
|
|
|
self.optimal_ask_price = Self::DONT_VIEW;
|
|
|
} else {
|
|
|
if self.fair_price > self.mid_price {
|