Parcourir la source

bitmart 完成运行挂单

JiahengHe il y a 1 an
Parent
commit
439462aaf0

+ 1 - 1
standard/src/bitmart_swap_handle.rs

@@ -69,7 +69,7 @@ pub fn format_order_item(order: serde_json::Value, ct_val: Decimal) -> Order {
         deal_amount,
         avg_price,
         status: custom_status,
-        order_type: order["order_price_type"].as_str().unwrap().to_string(),
+        order_type: order["type"].as_str().unwrap().to_string(),
         trace_stack: TraceStack::new(0, Instant::now()).on_special("68 bitmart_swap_handle".to_string()),
     }
 }

+ 1 - 1
standard/src/handle_info.rs

@@ -55,7 +55,7 @@ impl HandleSwapInfo {
                 coinex_swap_handle::handle_account_info(res_data, symbol)
             }
             ExchangeEnum::BitmartSwap => {
-                bitget_swap_handle::handle_account_info(res_data, symbol)
+                bitmart_swap_handle::handle_account_info(res_data, symbol)
             }
             _ => {
                 error!("未找到该交易所!handle_account_info: {:?}",exchange);

+ 15 - 12
strategy/src/bitmart_usdt_swap.rs

@@ -30,6 +30,7 @@ pub async fn bitmart_usdt_swap_run(is_shutdown_arc :Arc<AtomicBool>,
     let name_clone = name.clone();
     let core_arc_clone = core_arc.clone();
     let symbols_clone = symbols.clone();
+    let run_symbol = symbols.clone()[0].clone();
     spawn(async move {
         // 构建链接ws
         let mut bg_public = BitMartSwapWs::new_label(name_clone.clone(),
@@ -40,9 +41,9 @@ pub async fn bitmart_usdt_swap_run(is_shutdown_arc :Arc<AtomicBool>,
         let mut update_flag_u = Decimal::ZERO;
         let fun = move |data: ResponseData| {
             let core_arc_cc = core_arc_clone.clone();
-
+            let symbol_pub = run_symbol.clone();
             async move {
-                on_public_data(core_arc_cc, &mut update_flag_u, data).await
+                on_public_data(core_arc_cc, &mut update_flag_u, data, &symbol_pub).await
             }
         };
 
@@ -99,15 +100,14 @@ async fn on_private_data(core_arc_clone: Arc<Mutex<Core>>,
                          run_symbol: &String) {
     let mut trace_stack = TraceStack::new(response.time, response.ins);
     trace_stack.on_after_span_line();
-
     // public类型,目前只考虑订单流数据
     match response.channel.as_str() {
-        "account" => {
+        "futures/asset:USDT" => {
             let account = standard::handle_info::HandleSwapInfo::handle_account_info(BitmartSwap, &response, run_symbol);
             let mut core = core_arc_clone.lock().await;
             core.update_equity(account).await;
         },
-        "positions" => {
+        "futures/position" => {
             let mut positions = standard::handle_info::HandleSwapInfo::handle_position(BitmartSwap, &response, &ct_val);
 
             // bitmart如果没有仓位不会给0,会给个空数组
@@ -127,7 +127,7 @@ async fn on_private_data(core_arc_clone: Arc<Mutex<Core>>,
             let mut core = core_arc_clone.lock().await;
             core.update_position(positions).await;
         },
-        "orders" => {
+        "futures/order" => {
             trace_stack.set_source("gate_swap.orders".to_string());
             let orders = standard::handle_info::HandleSwapInfo::handle_order(BitmartSwap, response.clone(), ct_val.clone());
 
@@ -157,20 +157,23 @@ async fn on_private_data(core_arc_clone: Arc<Mutex<Core>>,
 
 async fn on_public_data(core_arc_clone: Arc<Mutex<Core>>,
                         update_flag_u: &mut Decimal,
-                        response: ResponseData) {
+                        response: ResponseData,
+                        symbol: &String) {
     let mut trace_stack = TraceStack::new(response.time, response.ins);
     trace_stack.on_after_span_line();
-
+    let symbol_upper = symbol.replace("_", "").to_uppercase();
     // public类型,目前只考虑订单流数据
     match response.channel.as_str() {
-        "books1" => {
-            trace_stack.set_source("bitmart_usdt_swap.books1".to_string());
-            let special_depth = standard::handle_info::HandleSwapInfo::handle_special_depth(BitmartSwap, &response);
+        "futures/ticker" => {
+            trace_stack.set_source("bitmart_usdt_swap.ticker".to_string());
+            if response.data["symbol"].as_str().unwrap() != symbol_upper{
+                return;
+            }
+            let special_depth = standard::handle_info::HandleSwapInfo::handle_book_ticker(BitmartSwap, &response);
             trace_stack.on_after_format();
 
             on_special_depth(core_arc_clone, update_flag_u, &response.label, &mut trace_stack, &special_depth).await;
         },
-        "pong" => {},
         _ => {
             info!("bitmart_usdt_swap 125 未知的订阅数据");
             info!(?response)

+ 2 - 2
strategy/src/exchange_disguise.rs

@@ -51,7 +51,7 @@ pub async fn run_transactional_exchange(is_shutdown_arc :Arc<AtomicBool>,
             tokio::time::sleep(Duration::from_secs(1)).await;
             coinex_swap_run(is_shutdown_arc,true, core_arc, name, symbols, is_colo, exchange_params).await;
         },
-        "bitmart_usdt_sawp" => {
+        "bitmart_usdt_swap" => {
             bitmart_usdt_swap_run(is_shutdown_arc, true, core_arc, name, symbols, is_colo, exchange_params).await;
         },
         _ => {
@@ -100,7 +100,7 @@ pub async fn run_reference_exchange(is_shutdown_arc: Arc<AtomicBool>,
         "coinex_usdt_swap" => {
             coinex_swap_run(is_shutdown_arc,false, core_arc, name, symbols, is_colo, exchange_params).await;
         },
-        "bitmart_usdt_sawp" => {
+        "bitmart_usdt_swap" => {
             bitmart_usdt_swap_run(is_shutdown_arc, false, core_arc, name, symbols, is_colo, exchange_params).await;
         },
         _ => {