fix bug
This commit is contained in:
@@ -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 = "大盘信号不允许"
|
||||
|
||||
Reference in New Issue
Block a user