fix: 无法更新order状态

This commit is contained in:
zhiyong 2025-05-12 13:59:58 +08:00
parent 1c62db5fb6
commit 97920a0ede
2 changed files with 5 additions and 7 deletions

View File

@ -208,7 +208,7 @@ class RealTraderManager:
logger.info(f"市价单已完成: ID={order_id}, 状态={status}") logger.info(f"市价单已完成: ID={order_id}, 状态={status}")
elif order_type == ORDER_TYPE_LIMIT: 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: if available_retry_count > 0:
logger.info(f"限价单未完成1分钟后继续检查: ID={order_id}, 状态={status}") 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() 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_status = order_info.status
previous_volume = order_info.filled previous_volume = order_info.filled
logger.info(f"###获取订单: {order_id}") time.sleep(3)
logger.info(type(order_id))
logger.info(int(order_id))
logger.info(type(int(order_id)))
updated_order = self.trader.get_order(order_id) 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: if updated_order["order_status"] == xtconstant.ORDER_SUCCEEDED:

View File

@ -253,7 +253,6 @@ class XtTrader(BaseTrader):
def get_order(self, order_id): def get_order(self, order_id):
if not self.is_available(): if not self.is_available():
logger.error(f"交易系统连接失败,无法获取订单: {order_id}")
return None return None
order = self.xt_trader.query_stock_order(self.account, int(order_id)) order = self.xt_trader.query_stock_order(self.account, int(order_id))
@ -273,7 +272,6 @@ class XtTrader(BaseTrader):
"status_msg": order.status_msg "status_msg": order.status_msg
} }
else: else:
logger.error(f"获取订单失败: {order_id}")
return None return None
def _convert_price_type(self, price_type): def _convert_price_type(self, price_type):