|
|
@@ -500,13 +500,15 @@ impl Predictor {
|
|
|
if self.trade_time_vec.len() > 0 {
|
|
|
let pop_time = self.trade_time_vec.pop_front().unwrap();
|
|
|
|
|
|
- self.trade_side_map.remove(&pop_time);
|
|
|
- self.trade_amount_map.remove(&pop_time);
|
|
|
- self.trade_price_map.remove(&pop_time);
|
|
|
- } else {
|
|
|
- // 卡仓位临时处理方案,后面再改
|
|
|
- if self.inventory.is_zero() && !self.pos_amount.is_zero() {
|
|
|
- panic!("仓位卡起了:inventory={}, pos_amount={}", self.inventory, self.pos_amount);
|
|
|
+ let amount_cache = self.trade_amount_map.get(&pop_time).unwrap();
|
|
|
+ let remaining_amount = amount_cache - amount;
|
|
|
+
|
|
|
+ if remaining_amount.is_zero() {
|
|
|
+ self.trade_side_map.remove(&pop_time);
|
|
|
+ self.trade_amount_map.remove(&pop_time);
|
|
|
+ self.trade_price_map.remove(&pop_time);
|
|
|
+ } else {
|
|
|
+ self.trade_amount_map.insert(pop_time, remaining_amount);
|
|
|
}
|
|
|
}
|
|
|
}
|