fix on_stock_trade
This commit is contained in:
parent
80be197d8f
commit
c8f31c445b
@ -79,7 +79,7 @@ class RealTraderManager:
|
|||||||
# 检查限价单是否超时
|
# 检查限价单是否超时
|
||||||
if hasattr(Config, "RTM_ORDER_TIMEOUT"):
|
if hasattr(Config, "RTM_ORDER_TIMEOUT"):
|
||||||
try:
|
try:
|
||||||
schedule.every(10).seconds.do(
|
schedule.every(30).seconds.do(
|
||||||
run_threaded(self.check_limit_orders)
|
run_threaded(self.check_limit_orders)
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -205,10 +205,7 @@ class RealTraderManager:
|
|||||||
self.trader.place_market_order_for_remainder(order_info, strategy_name)
|
self.trader.place_market_order_for_remainder(order_info, strategy_name)
|
||||||
else:
|
else:
|
||||||
logger.warning(f"限价单撤销失败: ID={order_id}, 策略={strategy_name}")
|
logger.warning(f"限价单撤销失败: ID={order_id}, 策略={strategy_name}")
|
||||||
else:
|
|
||||||
logger.info(f"限价单未超时: ID={order_id}, 策略={strategy_name}, 持续时间={duration}秒")
|
|
||||||
|
|
||||||
logger.info("限价单检查完毕")
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"检查限价单是否超时时发生异常: {str(e)}")
|
logger.error(f"检查限价单是否超时时发生异常: {str(e)}")
|
||||||
|
|
||||||
|
@ -74,15 +74,7 @@ class MyXtQuantTraderCallback:
|
|||||||
if self.trader_instance:
|
if self.trader_instance:
|
||||||
order_id = trade.order_id
|
order_id = trade.order_id
|
||||||
# 查找该订单所属的策略
|
# 查找该订单所属的策略
|
||||||
strategy_name = None
|
strategy_name = self.trader_instance.get_strategy_name(order_id)
|
||||||
|
|
||||||
# 避免循环引用,不直接调用real_trader_manager的方法
|
|
||||||
# 而是通过trader的方法间接调用
|
|
||||||
for strategy, position_manager in self.trader_instance.get_all_position_managers().items():
|
|
||||||
if position_manager.get_pending_order(order_id):
|
|
||||||
strategy_name = strategy
|
|
||||||
break
|
|
||||||
|
|
||||||
if strategy_name:
|
if strategy_name:
|
||||||
# 使用trader的方法来处理订单状态更新,避免直接调用real_trader_manager
|
# 使用trader的方法来处理订单状态更新,避免直接调用real_trader_manager
|
||||||
self.trader_instance.handle_order_update(order_id, strategy_name)
|
self.trader_instance.handle_order_update(order_id, strategy_name)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user