|
@@ -95,19 +95,6 @@ pub async fn bybit_swap_run(is_shutdown_arc: Arc<AtomicBool>,
|
|
|
&write_tx_am_private,
|
|
&write_tx_am_private,
|
|
|
write_rx_private).await.expect("链接失败(内部一个心跳线程应该已经关闭了)");
|
|
write_rx_private).await.expect("链接失败(内部一个心跳线程应该已经关闭了)");
|
|
|
});
|
|
});
|
|
|
-
|
|
|
|
|
- // 定时获取仓位信息
|
|
|
|
|
- let position_core_clone = core_arc.clone();
|
|
|
|
|
- spawn(async move {
|
|
|
|
|
- let mut interval = time::interval(Duration::from_secs(30));
|
|
|
|
|
- loop {
|
|
|
|
|
- interval.tick().await;
|
|
|
|
|
- {
|
|
|
|
|
- let mut core = position_core_clone.lock().await;
|
|
|
|
|
- core.update_position_rest_swap().await;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -126,7 +113,7 @@ async fn on_private_data(core_arc_clone: Arc<Mutex<Core>>, ct_val: &Decimal, run
|
|
|
trace_stack.on_after_format();
|
|
trace_stack.on_after_format();
|
|
|
|
|
|
|
|
let mut order_infos:Vec<OrderInfo> = Vec::new();
|
|
let mut order_infos:Vec<OrderInfo> = Vec::new();
|
|
|
- for order in orders.order {
|
|
|
|
|
|
|
+ for mut order in orders.order {
|
|
|
if order.status == "NULL" {
|
|
if order.status == "NULL" {
|
|
|
error!("bybit_usdt_swap 未识别的订单状态:{:?}", response);
|
|
error!("bybit_usdt_swap 未识别的订单状态:{:?}", response);
|
|
|
|
|
|
|
@@ -137,21 +124,7 @@ async fn on_private_data(core_arc_clone: Arc<Mutex<Core>>, ct_val: &Decimal, run
|
|
|
info!("bybit order 消息原文:{:?}", response);
|
|
info!("bybit order 消息原文:{:?}", response);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- let order_info = OrderInfo {
|
|
|
|
|
- symbol: "".to_string(),
|
|
|
|
|
- amount: order.amount.abs(),
|
|
|
|
|
- side: "".to_string(),
|
|
|
|
|
- price: order.price,
|
|
|
|
|
- client_id: order.custom_id,
|
|
|
|
|
- filled_price: order.avg_price,
|
|
|
|
|
- filled: order.deal_amount.abs(),
|
|
|
|
|
- order_id: order.id,
|
|
|
|
|
- local_time: 0,
|
|
|
|
|
- create_time: 0,
|
|
|
|
|
- status: order.status,
|
|
|
|
|
- fee: Default::default(),
|
|
|
|
|
- trace_stack: TraceStack::new(0, Instant::now()),
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ let order_info = OrderInfo::parse_order_to_order_info(&mut order);
|
|
|
order_infos.push(order_info);
|
|
order_infos.push(order_info);
|
|
|
}
|
|
}
|
|
|
|
|
|