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