|
|
@@ -373,6 +373,9 @@ impl Predictor {
|
|
|
if prev_inventory != self.inventory && prev_inventory.is_zero() {
|
|
|
self.prev_trade_time = Utc::now().timestamp_micros();
|
|
|
self.close_price = self.fair_price_when_ordering;
|
|
|
+ }
|
|
|
+
|
|
|
+ if prev_inventory != self.inventory && self.inventory.is_zero() {
|
|
|
self.is_regressed = false;
|
|
|
}
|
|
|
|
|
|
@@ -441,9 +444,9 @@ impl Predictor {
|
|
|
}
|
|
|
|
|
|
// 判断价格是否回归
|
|
|
- if !self.is_regressed && self.inventory > Decimal::ZERO && self.fair_price < self.mid_price {
|
|
|
+ if !self.is_regressed && self.inventory > Decimal::ZERO && self.fair_price < self.mid_price * (Decimal::ONE - self.params.open) {
|
|
|
self.is_regressed = true
|
|
|
- } else if !self.is_regressed && self.inventory < Decimal::ZERO && self.fair_price > self.mid_price {
|
|
|
+ } else if !self.is_regressed && self.inventory < Decimal::ZERO && self.fair_price > self.mid_price * (Decimal::ONE + self.params.open) {
|
|
|
self.is_regressed = true
|
|
|
}
|
|
|
}
|