Browse Source

部分成交状态识别,清仓时市价下单异常解决

JiahengHe 1 year ago
parent
commit
6c187f497e
2 changed files with 8 additions and 2 deletions
  1. 7 1
      standard/src/phemex_swap.rs
  2. 1 1
      standard/src/phemex_swap_handle.rs

+ 7 - 1
standard/src/phemex_swap.rs

@@ -307,7 +307,13 @@ impl Platform for PhemexSwap {
     }
 
     async fn take_order_symbol(&mut self, symbol: String, ct_val: Decimal, custom_id: &str, origin_side: &str, price: Decimal, amount: Decimal) -> Result<Order, Error> {
-        let symbol_format = utils::format_symbol(symbol.clone(), "").replace("1000", "u1000");
+        let symbol_format;
+
+        if symbol.starts_with("1000") {
+            symbol_format = utils::format_symbol(symbol.clone().replace("1000", "u1000"), "");
+        } else {
+            symbol_format = utils::format_symbol(symbol.clone(), "");
+        }
         let mut params = json!({
             "clOrdID": custom_id,
             "symbol":symbol_format,

+ 1 - 1
standard/src/phemex_swap_handle.rs

@@ -99,7 +99,7 @@ pub fn format_order_item(order: &Value, ct_val: Decimal) -> Order {
     let custom_status;
     if vec!["Rejected", "Filled", "Canceled"].contains(&status) {
         custom_status = "REMOVE".to_string()
-    } else if vec!["New", "Init", "Created"].contains(&status) {
+    } else if vec!["New", "Init", "Created", "PartiallyFilled"].contains(&status) {
         custom_status = "NEW".to_string()
     } else {
         error!("gate_swap:格式化订单状态错误!\nformat_order_item:order={:?}", order);