save positions when change

This commit is contained in:
zhiyong 2025-05-13 10:39:03 +08:00
parent ad90cba1fb
commit 289fc846c1
2 changed files with 6 additions and 7 deletions

View File

@ -70,6 +70,8 @@ class PositionManager:
del self.positions[code] del self.positions[code]
logger.info(f"移除空持仓 - 策略: {self.strategy_name}, 代码: {code}") logger.info(f"移除空持仓 - 策略: {self.strategy_name}, 代码: {code}")
self.save_data()
def add_pending_order( def add_pending_order(
self, order_id, code, price, amount, direction, order_type=ORDER_TYPE_LIMIT self, order_id, code, price, amount, direction, order_type=ORDER_TYPE_LIMIT
): ):
@ -86,6 +88,8 @@ class PositionManager:
f"数量: {amount}, 价格: {price}, 类型: {order_type}" f"数量: {amount}, 价格: {price}, 类型: {order_type}"
) )
self.save_data()
def update_order_status(self, order_id, filled, new_status): def update_order_status(self, order_id, filled, new_status):
if order_id in self.pending_orders: if order_id in self.pending_orders:
_order = self.pending_orders[order_id] _order = self.pending_orders[order_id]
@ -112,8 +116,9 @@ class PositionManager:
# 保留订单信息以供参考,但标记为已完成 # 保留订单信息以供参考,但标记为已完成
del self.pending_orders[order_id] del self.pending_orders[order_id]
logger.info(f"订单已删除 - ID: {order_id}, 状态: {new_status}") logger.info(f"订单已删除 - ID: {order_id}, 状态: {new_status}")
self.save_data()
return True return True
return False return False
def get_pending_order(self, order_id) -> LocalOrder: def get_pending_order(self, order_id) -> LocalOrder:

View File

@ -67,9 +67,6 @@ class SimulationTrader(BaseTrader):
# 更新总资产 # 更新总资产
self._update_total_assets() self._update_total_assets()
# 保存策略数据
position_manager.save_data()
return {"order_id": order_id, "message": message, "success": True} return {"order_id": order_id, "message": message, "success": True}
def sell(self, code, price, amount, strategy_name="default_strategy"): def sell(self, code, price, amount, strategy_name="default_strategy"):
@ -107,9 +104,6 @@ class SimulationTrader(BaseTrader):
# 更新总资产 # 更新总资产
self._update_total_assets() self._update_total_assets()
# 保存策略数据
position_manager.save_data()
return {"order_id": order_id, "message": message, "success": True} return {"order_id": order_id, "message": message, "success": True}
def _update_total_assets(self): def _update_total_assets(self):