This commit is contained in:
2026-09-05 14:30:16 +08:00
parent 2059f87fe5
commit ba1bd93afa
4 changed files with 7 additions and 20 deletions

View File

@@ -31,17 +31,10 @@ def manage_positions(
market_ok: bool,
available: float,
) -> None:
"""处理所有真实持仓,并在本轮内统一控制补仓预算。"""
active_keys = {
_position_key(runtime, position.stock_code)
for position in positions
if position.volume > 0 and position.stock_code
}
runtime.profit_tracker.retain(active_keys)
remaining_cash = max(0.0, available)
# 遍历处理每个持仓
for position in positions:
try:
available = max(0,0,available)
code = position.stock_code
tick = ticks.get(code)
if code in runtime.account_cfg.excluded_codes:
@@ -77,9 +70,9 @@ def manage_positions(
position=position,
tick=tick,
pnl_rate=pnl_rate,
available=remaining_cash,
available=available,
)
remaining_cash -= loss_decision.reserved_cash
available = available - loss_decision.reserved_cash
loss_add_action = loss_decision.message or "未触发"
elif runtime.account_cfg.enable_loss_add_position:
loss_add_action = "大盘信号不允许"