|
|
@@ -420,13 +420,13 @@ impl Predictor {
|
|
|
if fair_rate.abs() > self.params.open_activate && mid_rate.abs() > self.params.open_activate && self.spread_diff.abs() > self.params.min_spread {
|
|
|
// 向上涨,并且fair下穿mid,视为观测阶段开始
|
|
|
if mid_rate > Decimal::ZERO && fair_rate > Decimal::ZERO && self.spread_diff < Decimal::ZERO {
|
|
|
- self.fair_rate_focus_open = mid_rate;
|
|
|
+ self.fair_rate_focus_open = self.spread_diff;
|
|
|
self.mid_price_focus_open = self.mid_price;
|
|
|
}
|
|
|
|
|
|
// 向下跌,并且fair上穿mid,视为观测阶段开始
|
|
|
if mid_rate < Decimal::ZERO && fair_rate < Decimal::ZERO && self.spread_diff > Decimal::ZERO {
|
|
|
- self.fair_rate_focus_open = mid_rate;
|
|
|
+ self.fair_rate_focus_open = self.spread_diff;
|
|
|
self.mid_price_focus_open = self.mid_price;
|
|
|
}
|
|
|
}
|
|
|
@@ -553,8 +553,8 @@ impl Predictor {
|
|
|
// let is_open_long = self.spread_sma_1000 - self.spread_sma > self.params.open && self.fair_price > self.mid_price;
|
|
|
// let is_open_short = self.spread_sma_1000 - self.spread_sma < self.params.open * Decimal::NEGATIVE_ONE && self.fair_price < self.mid_price;
|
|
|
// 可能是接针
|
|
|
- let is_open_long = self.fair_rate_focus_open < Decimal::ZERO;
|
|
|
- let is_open_short = self.fair_rate_focus_open > Decimal::ZERO;
|
|
|
+ let is_open_long = self.fair_rate_focus_open > Decimal::ZERO;
|
|
|
+ let is_open_short = self.fair_rate_focus_open < Decimal::ZERO;
|
|
|
let is_close_long = self.inventory > Decimal::ZERO && (self.fair_rate_focus_close > Decimal::ZERO || self.fair_rate_focus_close < dec!(-0.1));
|
|
|
let is_close_short = self.inventory < Decimal::ZERO && (self.fair_rate_focus_close < Decimal::ZERO || self.fair_rate_focus_close < dec!(-0.1));
|
|
|
|