|
|
@@ -332,11 +332,11 @@ impl Predictor {
|
|
|
if !self.fair_price_focus.is_zero() {
|
|
|
let focus_rate = (self.fair_price - self.fair_price_focus) / self.fair_price_focus;
|
|
|
|
|
|
- if self.fair_rate_focus > Decimal::ZERO && focus_rate < Decimal::NEGATIVE_ONE * self.params.open / Decimal::TWO {
|
|
|
+ if self.fair_rate_focus > Decimal::ZERO && focus_rate < Decimal::NEGATIVE_ONE * self.params.open_activate / Decimal::TWO {
|
|
|
self.fair_rate_focus = Decimal::ZERO;
|
|
|
}
|
|
|
|
|
|
- if self.fair_rate_focus < Decimal::ZERO && focus_rate > self.params.open / Decimal::TWO {
|
|
|
+ if self.fair_rate_focus < Decimal::ZERO && focus_rate > self.params.open_activate / Decimal::TWO {
|
|
|
self.fair_rate_focus = Decimal::ZERO;
|
|
|
}
|
|
|
}
|
|
|
@@ -344,7 +344,7 @@ impl Predictor {
|
|
|
// 更新程序关注的变化幅度焦点
|
|
|
if self.fair_rate_focus.is_zero() {
|
|
|
// 只有有强度的rate才有资格被称为针
|
|
|
- if rate.abs() > self.params.open {
|
|
|
+ if rate.abs() > self.params.open_activate {
|
|
|
// 向上涨,并且fair下穿mid,视为观测阶段开始
|
|
|
if rate > Decimal::ZERO && self.spread_sma_1000 > Decimal::ZERO {
|
|
|
self.fair_rate_focus = rate;
|
|
|
@@ -433,7 +433,7 @@ impl Predictor {
|
|
|
//
|
|
|
// self.ask_delta = self.mid_price * close_rate * self.t_diff;
|
|
|
self.ask_delta = self.mid_price * self.params.close;
|
|
|
- } else if self.spread_sma < Decimal::ZERO {
|
|
|
+ } else if self.mid_price > self.fair_price {
|
|
|
self.ask_delta = self.mid_price * self.params.close;
|
|
|
}
|
|
|
|
|
|
@@ -446,7 +446,7 @@ impl Predictor {
|
|
|
//
|
|
|
// self.bid_delta = self.mid_price * close_rate * self.t_diff;
|
|
|
self.bid_delta = self.mid_price * self.params.close;
|
|
|
- } else if self.spread_sma > Decimal::ZERO {
|
|
|
+ } else if self.mid_price < self.fair_price {
|
|
|
self.bid_delta = self.mid_price * self.params.close;
|
|
|
}
|
|
|
|
|
|
@@ -459,7 +459,7 @@ impl Predictor {
|
|
|
// dec!(0)
|
|
|
// };
|
|
|
|
|
|
- self.bid_delta = dec!(0)
|
|
|
+ self.bid_delta = self.params.open * self.mid_price;
|
|
|
} else if is_open_short {
|
|
|
// let is_open_short_market = self.spread_sma_1000 - self.spread_sma < self.params.open_market * Decimal::NEGATIVE_ONE;
|
|
|
// self.ask_delta = if is_open_short_market {
|
|
|
@@ -468,7 +468,7 @@ impl Predictor {
|
|
|
// dec!(0)
|
|
|
// }
|
|
|
|
|
|
- self.ask_delta = dec!(0)
|
|
|
+ self.ask_delta = self.params.open * self.mid_price;
|
|
|
}
|
|
|
}
|
|
|
|