diff --git a/trading_system/binance_order_event_logger.py b/trading_system/binance_order_event_logger.py index 3193a35..7713272 100644 --- a/trading_system/binance_order_event_logger.py +++ b/trading_system/binance_order_event_logger.py @@ -72,10 +72,11 @@ def log_order_event(account_id: int, event_type: str, event_time_ms: Optional[in elif event_type == "ALGO_UPDATE" and data: o = data row["symbol"] = (o.get("s") or "").strip() - row["algoId"] = o.get("aid") # 币安 ALGO_UPDATE 用 aid - row["clientAlgoId"] = (o.get("caid") or "").strip() or None # 币安用 caid,SL_/TP_+entry_order_id + # 币安文档:aid=Algo Id,兼容 i/algoId;caid=Client Algo Id,兼容 c/clientAlgoId + row["algoId"] = o.get("aid") or o.get("i") or o.get("algoId") + row["clientAlgoId"] = (o.get("caid") or o.get("c") or o.get("clientAlgoId") or "").strip() or None row["algoStatus"] = (o.get("X") or "").strip() # TRIGGERED/FINISHED - row["triggeredOrderId"] = o.get("ai") or None # 触发后的普通订单 id + row["triggeredOrderId"] = o.get("ai") or o.get("triggeredOrderId") or None else: row["raw"] = data line = json.dumps(row, ensure_ascii=False, default=_default_serializer) + "\n" diff --git a/trading_system/user_data_stream.py b/trading_system/user_data_stream.py index e53d8e3..f16faac 100644 --- a/trading_system/user_data_stream.py +++ b/trading_system/user_data_stream.py @@ -690,8 +690,9 @@ class UserDataStream: x = (o.get("X") or "").strip().upper() ai = o.get("ai") symbol = (o.get("s") or "").strip() - algo_id = o.get("aid") # 币安 ALGO_UPDATE 用 aid(Algo Id) - client_algo_id = (o.get("caid") or "").strip() or None # 币安用 caid(Client Algo Id) + # 币安文档:aid/caid;兼容 i/c、algoId/clientAlgoId + algo_id = o.get("aid") or o.get("i") or o.get("algoId") + client_algo_id = (o.get("caid") or o.get("c") or o.get("clientAlgoId") or "").strip() or None entry_order_id = None if client_algo_id and (client_algo_id.startswith("SL_") or client_algo_id.startswith("TP_")): try: