# v4.5.82 — advisor 建议量系统性偏差 + 手动平仓后必须解锁 + 方向反转锁两步法 + Qdrant 召回过期数据 **日期**: 2026-09-09/10 **会话**: TRUMP/ZEC/ETH/SKHYNIX/HYPE/DOGE/DASH/ASTER 全周期跟单, proxy 反复抽风, 熬鹰 ZEC 多翻空。 ## 1. advisor 建议张数 vs 实际成交量系统性偏差 (execute_order 独立计算仓位) **实测样本** (本次 session, 同一条信号内): | 币种 | advisor 建议 | 实际成交 | 偏差倍数 | |---|---|---|---| | TRUMP | 137 张 | 586 张 | 4.3x | | HYPE | 1 张 | 25 张 | 25x | | SKHYNIX | 0.039 张 | 0.407 张 | 10x | | ETH | 2 张 | 10.66 张 | 5x | | SKHYNIX | 0.065 张 | 0.098 张 | 1.5x | **结论**: `execute_order` 的仓位计算与 `rec['contracts']` 完全独立, 偏差 1.5x~25x, 常态化发生。 advisor 的张数输出**仅供参考**, 不是成交承诺。 **规则**: - ✅ 每次 execute 后 check_account 对比 rec.contracts vs 实际 contracts, 偏差 >2x 时在回复里明确报出 - ✅ 回复模板用实际成交量, 不用 advisor 建议量 - ❌ 禁止把 "advisor 说 N 张" 当作 "已下 N 张" 汇报 (v4.5.49 ETH 误报的根因) ## 2. agent 手动平仓 (raw REST) 后必须 release_lock **场景**: proxy 抽风 → process_signal close 路径返回 None → agent 手动 execute 平仓成功。 但 close_position_raw 里的自动 release_lock 不会跑, 锁残留 72h。 **后果**: 下一条同币种信号被 `🔒 X 被 熬鹰资本 锁 (N h)` 挡住, 跟丢节奏。 **正解** (每次手动 close 后立即执行): ```python from signal_tracker import release_lock release_lock("SKHYNIX", "熬鹰资本", auto=True) ``` 本次 session 手动平过: SPCX / SKHYNIX / DOGE / DASH / TRUMP / ZEC / ASTER / ETH — 全部手动 release_lock。 ## 3. 方向反转时锁更新 = release_lock + acquire_lock 两步 (直接 acquire 会失败) **场景**: 熬鹰 ZEC/ETH 从 long 翻 short。 旧锁还是 `long`, 直接 `acquire_lock("ETH","熬鹰资本","short")` 报: `ETH 已被 熬鹰资本 锁 (long), 与 熬鹰资本 (short) 反向, 跳过` 注意: `check_signal_lock()` (信号自动路径) 内部处理了同 trader 方向切换; 但 **agent 手动 acquire_lock 不走那个逻辑**, 会直接失败。 **正解**: ```python release_lock("ETH", "熬鹰资本", auto=True) # 先释放旧方向锁 acquire_lock("ETH", "熬鹰资本", "short", reason="手动反转锁", auto=False) # 再锁新方向 ``` ## 4. Qdrant 召回内容可能是过期快照, 用前必须实时验证 **实际场景**: Qdrant 召回返回 "8/25 持仓: BTC short/ETH long/MU short/HYPE long/SKHYNIX short 5 个持仓", 但实际当天持仓只有 ETH short + ZEC short 两个, 且方向相反。 **规则**: - ✅ Qdrant 召回只当历史线索, 任何"当前状态"类结论必须 check_account 实时验证后再说 - ❌ 禁止把召回快照当现况回复 (违反 v4.5.71 先查再说) ## 5. "只留 X 成余额" 语义 (user 仓位控制口径) - "只留 3 成" = 可动用 7 成 equity 做保证金; "按 8 成开" = 保证金占用目标 80% - 实操: 目标保证金 = equity × (10-X)/10, 张数 = 目标保证金 ÷ 每张保证金, 向下取最小变动单位 - 与 memory 的 7%原则 (≈70% 占用) 同源; user 口径 "成" = 十分之一 ## 配合铁律 - v4.5.80 proxy 抽风 5 级回退 + 手动 execute 后 record position_history - v4.5.81 trader 严格等值 + 杠杆目标值 parse - v4.5.77 close 闸白名单 (熬鹰FOMO/币安/交易信号 的 close 不能平你的仓) ## 反模式 (本次新增) - ❌ 把 advisor 建议张数当成交张数汇报 (实际偏差可达 25x) - ❌ 手动平仓后不 release_lock (锁残留挡住下一条信号) - ❌ 方向反转时直接 acquire_lock (同 trader 反向会失败, 要 release+acquire 两步) - ❌ 把 Qdrant 召回的过期持仓快照当现况回复