save positions when change
This commit is contained in:
parent
ad90cba1fb
commit
289fc846c1
@ -69,6 +69,8 @@ class PositionManager:
|
|||||||
if code in self.positions and self.positions[code].total_amount <= 0:
|
if code in self.positions and self.positions[code].total_amount <= 0:
|
||||||
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:
|
||||||
|
@ -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):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user