|
|
@@ -404,14 +404,20 @@ impl Predictor {
|
|
|
// 重置开仓焦点,条件1
|
|
|
if !self.mid_rate_signal_open.is_zero() && !self.inventory.is_zero() {
|
|
|
self.mid_rate_signal_open = Decimal::ZERO;
|
|
|
+ self.mid_price_focus_cancel = Decimal::ZERO;
|
|
|
+ self.mid_price_focus_stop_loss = Decimal::ZERO;
|
|
|
}
|
|
|
// 重置开仓焦点,条件2
|
|
|
if !self.mid_price_focus_cancel.is_zero() {
|
|
|
if self.mid_rate_signal_open > Decimal::ZERO && self.mid_price > self.mid_price_focus_cancel {
|
|
|
self.mid_rate_signal_open = Decimal::ZERO;
|
|
|
+ self.mid_price_focus_cancel = Decimal::ZERO;
|
|
|
+ self.mid_price_focus_stop_loss = Decimal::ZERO;
|
|
|
}
|
|
|
if self.mid_rate_signal_open < Decimal::ZERO && self.mid_price < self.mid_price_focus_cancel {
|
|
|
self.mid_rate_signal_open = Decimal::ZERO;
|
|
|
+ self.mid_price_focus_cancel = Decimal::ZERO;
|
|
|
+ self.mid_price_focus_stop_loss = Decimal::ZERO;
|
|
|
}
|
|
|
}
|
|
|
// 更新程序关注的开仓焦点
|
|
|
@@ -729,8 +735,16 @@ impl Predictor {
|
|
|
let fair_price = Self::DONT_VIEW;
|
|
|
|
|
|
let spread = self.mid_price;
|
|
|
- let spread_max = self.mid_price_focus_cancel;
|
|
|
- let spread_min = self.mid_price_focus_stop_loss;
|
|
|
+ let spread_max = if self.mid_price_focus_cancel.is_zero() {
|
|
|
+ self.mid_price
|
|
|
+ } else {
|
|
|
+ self.mid_price_focus_cancel
|
|
|
+ };
|
|
|
+ let spread_min = if self.mid_price_focus_stop_loss.is_zero() {
|
|
|
+ self.mid_price
|
|
|
+ } else {
|
|
|
+ self.mid_price_focus_stop_loss
|
|
|
+ };
|
|
|
// let spread = self.price_times_avg;
|
|
|
// let spread_max = self.fair_price_vec[1] / self.fair_price_vec[0];
|
|
|
// let spread_min = self.fair_price / self.mid_price;
|