|
|
@@ -105,6 +105,7 @@ 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();
|
|
|
+ let target_symbol = run_symbol.replace("_", "").to_uppercase();
|
|
|
|
|
|
if response.channel == "accounts_orders_positions" { // 订单频道
|
|
|
info!("3合一推送 {}", response.data);
|
|
|
@@ -140,9 +141,11 @@ async fn on_private_data(core_arc_clone: Arc<Mutex<Core>>,
|
|
|
let mut position_res = response.clone();
|
|
|
position_res.data = position_res.data["positions_p"].clone();
|
|
|
let positions = standard::handle_info::HandleSwapInfo::handle_position(PhemexSwap, &position_res, &ct_val);
|
|
|
- if positions.len() > 0 {
|
|
|
+ // 只要正在运行中币对的仓位信息
|
|
|
+ let run_position = positions.into_iter().filter(|position| position.symbol.contains(&target_symbol)).collect();
|
|
|
+ if run_position.len() > 0 {
|
|
|
let mut core = core_arc_clone.lock().await;
|
|
|
- core.update_position(positions).await;
|
|
|
+ core.update_position(run_position).await;
|
|
|
}
|
|
|
}
|
|
|
|