feat(binance_order_event_logger, user_data_stream): 优化算法更新字段兼容性
在 `binance_order_event_logger.py` 和 `user_data_stream.py` 中更新了 ALGO_UPDATE 事件的字段处理逻辑,增强了对不同字段名的兼容性,确保在获取算法 ID 和客户端算法 ID 时能够正确解析多种可能的字段。这一改进提升了系统在处理算法订单时的灵活性与准确性。
This commit is contained in:
parent
32c50466f3
commit
fa7208f5f3
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user