From 97920a0edeb513e35fb527932947a5bcbf47450c Mon Sep 17 00:00:00 2001 From: zhiyong Date: Mon, 12 May 2025 13:59:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=97=A0=E6=B3=95=E6=9B=B4=E6=96=B0orde?= =?UTF-8?q?r=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/real/real_trader_manager.py | 10 +++++----- src/real/xt_trader.py | 2 -- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/real/real_trader_manager.py b/src/real/real_trader_manager.py index f66efc6..799b299 100644 --- a/src/real/real_trader_manager.py +++ b/src/real/real_trader_manager.py @@ -208,7 +208,7 @@ class RealTraderManager: logger.info(f"市价单已完成: ID={order_id}, 状态={status}") elif order_type == ORDER_TYPE_LIMIT: # 限价单,未完成则撤单补市价单 - if status in [ORDER_STATUS_PENDING, ORDER_STATUS_PARTIAL]: + if status in [ORDER_STATUS_PENDING, ORDER_STATUS_PARTIAL] or status is None: if available_retry_count > 0: logger.info(f"限价单未完成,1分钟后继续检查: ID={order_id}, 状态={status}") threading.Timer(60, self.check_and_retry, args=(order_id, strategy_name, code, direction, amount, 0)).start() @@ -246,11 +246,11 @@ class RealTraderManager: previous_status = order_info.status previous_volume = order_info.filled - logger.info(f"###获取订单: {order_id}") - logger.info(type(order_id)) - logger.info(int(order_id)) - logger.info(type(int(order_id))) + time.sleep(3) updated_order = self.trader.get_order(order_id) + if not updated_order: + logger.error(f"获取订单失败: {order_id}") + return None # 根据委托状态更新订单状态 if updated_order["order_status"] == xtconstant.ORDER_SUCCEEDED: diff --git a/src/real/xt_trader.py b/src/real/xt_trader.py index 9e43e33..1f6fe92 100644 --- a/src/real/xt_trader.py +++ b/src/real/xt_trader.py @@ -253,7 +253,6 @@ class XtTrader(BaseTrader): def get_order(self, order_id): if not self.is_available(): - logger.error(f"交易系统连接失败,无法获取订单: {order_id}") return None order = self.xt_trader.query_stock_order(self.account, int(order_id)) @@ -273,7 +272,6 @@ class XtTrader(BaseTrader): "status_msg": order.status_msg } else: - logger.error(f"获取订单失败: {order_id}") return None def _convert_price_type(self, price_type):