|
|
@@ -326,12 +326,12 @@ impl Predictor {
|
|
|
|
|
|
if prev_inventory != self.inventory && prev_inventory.is_zero() {
|
|
|
self.prev_trade_time = Utc::now().timestamp_micros();
|
|
|
+ self.force_order_value = Decimal::ZERO;
|
|
|
}
|
|
|
|
|
|
// 重置fair数据,用于重新计算幅度
|
|
|
if prev_inventory != self.inventory {
|
|
|
self.fair_price_time_vec.deque.clear();
|
|
|
- self.force_order_value = Decimal::ZERO;
|
|
|
}
|
|
|
|
|
|
// 重置资金流计算
|
|
|
@@ -456,8 +456,12 @@ impl Predictor {
|
|
|
// 可能是接针
|
|
|
let is_open_long = self.mid_price_trend_rate < Decimal::ZERO && self.force_order_value < -self.params.open && self.inventory.is_zero();
|
|
|
let is_open_short = self.mid_price_trend_rate > Decimal::ZERO && self.force_order_value > self.params.open && self.inventory.is_zero();
|
|
|
- let is_close_long = self.inventory > Decimal::ZERO && self.mid_price_trend_rate > Decimal::ZERO;
|
|
|
- let is_close_short = self.inventory < Decimal::ZERO && self.mid_price_trend_rate < Decimal::ZERO;
|
|
|
+ // 对称平仓,方差会非常大
|
|
|
+ let is_close_long = self.inventory > Decimal::ZERO && self.mid_price_trend_rate > Decimal::ZERO && self.force_order_value > self.params.open;
|
|
|
+ let is_close_short = self.inventory < Decimal::ZERO && self.mid_price_trend_rate < Decimal::ZERO && self.force_order_value < -self.params.open;
|
|
|
+ // // 穿越平仓
|
|
|
+ // let is_close_long = self.inventory > Decimal::ZERO && self.mid_price_trend_rate > Decimal::ZERO;
|
|
|
+ // let is_close_short = self.inventory < Decimal::ZERO && self.mid_price_trend_rate < Decimal::ZERO;
|
|
|
|
|
|
self.bid_delta = dec!(-2);
|
|
|
self.ask_delta = dec!(-2);
|