|
|
@@ -471,27 +471,22 @@ impl Predictor {
|
|
|
|
|
|
// side, pk,pd从HashMap移除,kd,kk添加到HashMap
|
|
|
pub async fn on_order(&mut self, side: String, amount: Decimal, price: Decimal) {
|
|
|
- self.inventory = match side.as_str() {
|
|
|
- "kk" => {
|
|
|
- self.inventory - Decimal::ONE
|
|
|
- }
|
|
|
- "pd" => {
|
|
|
- self.inventory - Decimal::ONE
|
|
|
- }
|
|
|
- "kd" => {
|
|
|
- self.inventory + Decimal::ONE
|
|
|
- }
|
|
|
- "pk" => {
|
|
|
- self.inventory + Decimal::ONE
|
|
|
- }
|
|
|
- &_ => {
|
|
|
- panic!("不认识的order方向:{}", side);
|
|
|
- }
|
|
|
- };
|
|
|
-
|
|
|
if side == "kk" || side == "kd" {
|
|
|
let now = Decimal::from(Utc::now().timestamp_millis());
|
|
|
|
|
|
+
|
|
|
+ self.inventory = match side.as_str() {
|
|
|
+ "kk" => {
|
|
|
+ self.inventory - Decimal::ONE
|
|
|
+ }
|
|
|
+ "kd" => {
|
|
|
+ self.inventory + Decimal::ONE
|
|
|
+ }
|
|
|
+ &_ => {
|
|
|
+ panic!("不认识的order方向:{}", side);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
self.trade_time_vec.push_back(now);
|
|
|
self.trade_side_map.insert(now, side);
|
|
|
self.trade_amount_map.insert(now, amount);
|
|
|
@@ -508,6 +503,18 @@ impl Predictor {
|
|
|
self.trade_amount_map.remove(&pop_time);
|
|
|
self.trade_price_map.remove(&pop_time);
|
|
|
self.trade_time_vec.pop_front();
|
|
|
+
|
|
|
+ self.inventory = match side.as_str() {
|
|
|
+ "pd" => {
|
|
|
+ self.inventory - Decimal::ONE
|
|
|
+ }
|
|
|
+ "pk" => {
|
|
|
+ self.inventory + Decimal::ONE
|
|
|
+ }
|
|
|
+ &_ => {
|
|
|
+ panic!("不认识的order方向:{}", side);
|
|
|
+ }
|
|
|
+ };
|
|
|
} else {
|
|
|
self.trade_amount_map.insert(pop_time, remaining_amount);
|
|
|
}
|