fix: 无法更新order状态
This commit is contained in:
parent
1c62db5fb6
commit
97920a0ede
@ -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:
|
||||
|
@ -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):
|
||||
|
Loading…
x
Reference in New Issue
Block a user