From 57c8615faaa3d3ed3144477994ed32a442238a07 Mon Sep 17 00:00:00 2001 From: zhiyong Date: Wed, 30 Apr 2025 13:35:02 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E8=BF=94=E5=9B=9E=E5=80=BCkey=E4=B8=8D?= =?UTF-8?q?=E6=AD=A3=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/trade_server.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/trade_server.py b/src/trade_server.py index 34dd3c1..5927e6a 100644 --- a/src/trade_server.py +++ b/src/trade_server.py @@ -15,6 +15,7 @@ import json import atexit from simulation_trader import SimulationTrader import datetime +from xtquant import xtconstant # 策略仓位管理 strategy_positions = {} # 存储各策略持仓 @@ -186,11 +187,11 @@ def update_pending_orders(): # 更新委托状态 for order_id, order_info in list(pending_orders.items()): - entrust = next((e for e in today_entrusts if e.get('委托编号') == order_id), None) + entrust = next((e for e in today_entrusts if e.get('order_id') == order_id), None) if entrust: - if entrust.get('状态') in ['已成', '部分成交']: + if entrust.get('order_status') in [xtconstant.ORDER_SUCCEEDED, xtconstant.ORDER_PART_SUCC]: # 成交量计算 - traded_amount = int(entrust.get('成交数量', 0)) + traded_amount = int(entrust.get('traded_volume', 0)) # 更新策略持仓 update_strategy_position( @@ -201,11 +202,11 @@ def update_pending_orders(): ) # 如果完全成交,从待处理列表中移除 - if entrust.get('状态') == '已成': + if entrust.get('order_status') == xtconstant.ORDER_SUCCEEDED: del pending_orders[order_id] # 如果已撤单、废单等终态,也从待处理列表中移除 - elif entrust.get('状态') in ['已撤', '废单']: + elif entrust.get('order_status') in [xtconstant.ORDER_CANCELED, xtconstant.ORDER_JUNK]: del pending_orders[order_id] except Exception as e: logger.error(f"更新未完成委托状态失败: {str(e)}")