From 289fc846c17bdfad5275b381a5c93e6429698894 Mon Sep 17 00:00:00 2001 From: zhiyong Date: Tue, 13 May 2025 10:39:03 +0800 Subject: [PATCH] save positions when change --- src/position_manager.py | 7 ++++++- src/simulation/simulation_trader.py | 6 ------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/position_manager.py b/src/position_manager.py index 50b139d..5b4fd8a 100644 --- a/src/position_manager.py +++ b/src/position_manager.py @@ -69,6 +69,8 @@ class PositionManager: if code in self.positions and self.positions[code].total_amount <= 0: del self.positions[code] logger.info(f"移除空持仓 - 策略: {self.strategy_name}, 代码: {code}") + + self.save_data() def add_pending_order( self, order_id, code, price, amount, direction, order_type=ORDER_TYPE_LIMIT @@ -86,6 +88,8 @@ class PositionManager: f"数量: {amount}, 价格: {price}, 类型: {order_type}" ) + self.save_data() + def update_order_status(self, order_id, filled, new_status): if order_id in self.pending_orders: _order = self.pending_orders[order_id] @@ -112,8 +116,9 @@ class PositionManager: # 保留订单信息以供参考,但标记为已完成 del self.pending_orders[order_id] logger.info(f"订单已删除 - ID: {order_id}, 状态: {new_status}") - + self.save_data() return True + return False def get_pending_order(self, order_id) -> LocalOrder: diff --git a/src/simulation/simulation_trader.py b/src/simulation/simulation_trader.py index 4d8a41f..5e0cfce 100644 --- a/src/simulation/simulation_trader.py +++ b/src/simulation/simulation_trader.py @@ -67,9 +67,6 @@ class SimulationTrader(BaseTrader): # 更新总资产 self._update_total_assets() - # 保存策略数据 - position_manager.save_data() - return {"order_id": order_id, "message": message, "success": True} def sell(self, code, price, amount, strategy_name="default_strategy"): @@ -107,9 +104,6 @@ class SimulationTrader(BaseTrader): # 更新总资产 self._update_total_assets() - # 保存策略数据 - position_manager.save_data() - return {"order_id": order_id, "message": message, "success": True} def _update_total_assets(self):