# v4.5.85 (2026-09-10) 组合减仓信号 + 批量解锁 + ETH 比例减仓再实证 ## 场景 ETH short 全周期: 熬鹰币安实盘开仓 555.20 ETH (10x) → 跟开 1.49 张 → 熬鹰加仓 1111.58 → 跟加到 7.04 张@10x → 熬鹰 "减仓(杠杆 10x -> 5x)" → agent 手动跟比例减到 3.52 张 → user 手动全部平仓 → agent 批量解锁。 ## 新格式: 组合信号 `减仓(杠杆 10x -> 5x)` - `classify_signal` 按"减仓"关键词归入 reduce — 正确, 主动作是减仓。 - 杠杆部分 (10x -> 5x) 被静默丢弃。跨模式 (20x→5x / 10x→5x) 降杠杆大概率 59108: `Your account leverage is too low and has insufficient margins` - cross 模式降杠杆要求: 持仓名义 / 新杠杆 ≤ 分账户可用余额。仓位大 + 余额少必失败。 - **失败处理: 失败就算了, 不重试不刷屏。减仓本身就是风险收敛, 杠杆降不了无伤大雅。** - 实测: `set-leverage {"instId":"ETH-USDT-SWAP","lever":"5","mgnMode":"cross","posSide":"net"}` → 59108 ## advisor reduce 建议量再次不可信 (第2次实证) - 熬鹰减仓比例 ~48% (1111.58 → 573.46) - advisor 报 4.2 张 (≈ 7.04 的 60%, 接近清仓) - 正确做法: 手动按比例 7.04 × 50% = 3.52 张 - **铁律: 比例优先, advisor 绝对张数仅参考** (v4.5.84 CL 实证后再次) ## user 手动平仓后的批量解锁流程 ``` 1. sqlite3 ~/.hermes/trading/signal_history.db "SELECT * FROM position_locks;" 2. 对每行: release_lock(symbol, trader, auto=True) 3. check_account.py 确认 positions=[] 且 frozenBal=0 ``` user 原话: "我全都手动平仓了,你把锁关掉吧" — user 在 OKX app 手动操作后, agent 侧锁表残留会挡住后续同币种信号 72h。**凡是 user 说手动平了, 第一动作就是查锁+清锁**。 ## user 澄清后的行为边界 user: "对,下次再有信号来就跟以前一样处理,该开仓的就开仓,该平的就平。" — 白名单/配置修好后, 不要自作主张加新闸或新逻辑, 按既有 classify → whitelist gate → execute 流程走。 ## 当轮收益记录 (供后续统计口径参考) - CL short 全周期: +$16 (开152 → 减半76 → 平) - ETH short (本次): 开1.49 → 加到7.04 → 减半3.52, 浮盈最高 +$36, user 手动平 - BTC short 0.83 张@20x (FOMO 信号), 浮盈 +$11 - 权益峰值 $271 (从 $156 起步)