7.1 KiB
v4.5.58 (2026-08-21) 减仓≠平仓判断表 + "无持仓静默"实为 trader-locked + 矿工Jasonleo 20+ reduce 信号洪流处理
会话时段: 2026-08-20 ~ 2026-08-21 (Telegram) 触发场景: 熬鹰资本 BTC 平仓 → SKHYNIX 短/多反转 → SKHYNIX 平仓 → BTC 新开仓 → 矿工Jasonleo 接入 + 20+ BTC/ETH short reduce 信号连发
🎯 三件新事件
Bug 1: 减仓信号 vs 平仓信号 判断表(此前未显式列出)
症状: 矿工Jasonleo BTC short 从 2236.384 → 1916.759 → 1500.759 → 947.916 → 500.985 一路砍,agent 每条都报告"无BTC持仓; HYPE long 26张@2x 仍持仓"—— 因为这是 reduce,不是 close,user 不需要做任何事,但 agent 没有把"reduce 信号 = 不操作"明确化,只说"无BTC持仓"。
判断表 (硬规则,reduce 信号判定后只推 QQ 不 push reply 详情):
| 信号类型 | 字段值 | 是否开新仓 | 是否平当前仓 | agent 回复侧 |
|---|---|---|---|---|
| 新开仓 | 新开仓 |
✅ | ❌ | 一行已跟单 + 浮盈/亏 |
| 加仓 | 加仓了 + 仓位数字递增 |
❌ (同方向加) | ❌ | "无操作; 你当前持仓 X 张" |
| 减仓 | 减仓了 + 仓位数字递减(但>0) |
❌ | ❌ (只是减仓) | "无操作; 你当前持仓 X 张" |
| 平仓 | 平仓提醒 + 仓位数字=0 |
❌ | ✅ | "已跟平 X 张 (盈亏 $Y)" |
| 调杠杆 | 修改了杠杆 X→Y |
❌ | ❌ | "无操作; 你当前持仓 X 张" |
| 实时更新 | 📊 仓位实时更新 |
❌ | ❌ | "无操作" (一行) |
关键: reduce(减仓)≠ 平仓!agent 必须用仓位数字是 0 还是 >0 区分,而不是看到"减仓了"就以为要平。
实战: 矿工Jasonleo 一次发 20+ 条 BTC short 减仓信号 → 每次仓位数字递减但都是 >0 → 全部不触发平仓动作。agent 回复只需一行"减仓信号 (你无BTC持仓,无需操作)"。
Bug 2: "无持仓静默" 实为 trader-locked,不是真无持仓
症状: 熬鹰资本 BTC 平仓信号进来 → process_signal 输出:
⏭️ 平仓信号无持仓静默 | BTC long
→ agent 报告"无BTC持仓"。但实际上 是因为 BTC 被 予与实盘 在 position_locks 里锁住,熬鹰的 close 信号被 lock 拒绝,根本没检查实际持仓。
根因: process_signal 的"无持仓静默"提示混淆了三种情况:
- 真的没持仓 (信号被 dedup/锁 拒,持仓=0)
- 持仓存在,但信号被 trader-lock 拒(同一币种被另一个 trader 锁)
- SSL/proxy 抽风查不到 (v4.5.54 已识别)
agent 看到"无持仓静默" 不能直接报告"无持仓"——必须先查 position_locks 确认 trader。
修复方向:
- process_signal 输出
🔒 {symbol} 被 {other_trader} 锁 (冲突 trader: X),而不是笼统"无持仓静默" - agent 看到"无持仓静默" → 必须跑 check_account.py + 查 signal_history.db::position_locks
- 默认假设 = 你有持仓但被另一个 trader 锁了,不是没持仓
实战 (本次 session): 熬鹰 BTC 平仓信号 → "无持仓静默" → agent 报"无BTC持仓"。实际 BTC short 1.47 张 @10x 早被 予与实盘 在 8/15 execute 了,熬鹰这个 trader 在 72h lock 之外,无法平你已有的 BTC short。
Bug 3: 矿工Jasonleo 20+ 减仓信号连发处理模板
症状: 矿工Jasonleo 8/20 连发 20+ 条 BTC/ETH short 减仓信号,每条都是仓位数字递减但 >0。本质是展示性信号 (他在向你展示他正在减仓),不触发任何交易动作。
agent 回复模板 (批量 reduce 信号):
⏭️ 减仓信号 N 条连发已处理 (你无 BTC/ETH 持仓,无需操作)
📊 熬鹰资本 BTC/ETH 仓位变化 (仅展示):
BTC short 2236 → 1916 → 1500 → 947 → 500 张 (持续减仓)
ETH short 28316 → 24862 → 20954 → 12582 → 8556 → 4632 → 0 张 (已平)
或者更简单:
矿工 Jasonleo BTC/ETH 减仓信号 ×N (你无此币种持仓,无需操作)
禁止:
- ❌ 每条 reduce 都单独回复"你无BTC持仓"
- ❌ 把 reduce 信号当成"需要平仓"的提示
- ❌ 把 reduce 信号解读为"快爆仓了/该止损"
实战: 本次 session 矿工发了 22 条 BTC/ETH reduce,agent 回复每条都说"无BTC持仓; HYPE long 26张@2x 仍持仓"——过度冗余,违反 v4.5.36 回复侧简明原则。
🔧 部署清单 (下次必修)
- process_signal 输出细化 silent skip 原因:
trader_locked_by_Xvsno_positionvsssl_failed - agent 看到"无持仓静默" → 必须查 position_locks 区分情况,默认假设 trader-locked
- reduce 信号判定逻辑加到 parse_signal 输出:
signal_subtype ∈ {new, add, reduce, close, leverage_change, position_update} - 矿工Jasonleo 加入已知 trader 名单 (signal_tracker.py + signal-source-drift.md 更新)
- batch-reduce 回复模板: 连发 N 条同类 reduce → 单条群发式回复,不逐条
- add new reference:
reduce-vs-close-judgment-table.md(本文件第1节)
📊 本次 session 实战数据
| 时刻 | 事件 | 净 USDT |
|---|---|---|
| 起始 | MU short 0.2张 浮盈 | $95.52 |
| 8/20 SKHYNIX short 0.158张 execute (信号源未知但绕过闸) | +$0.13 | $95.65 |
| 8/20 SKHYNIX 平仓 (ghost close,锁盈+$0.13) | flat | $95.65 → $112.87 |
| 8/20 SNDK short 0.107张 (信号源未知但绕过闸) | +$0.22 | $112.87 |
| 8/20 SNDK 平仓 (ghost close,锁盈+$0.22) | flat | $112.87 → $109.67 |
| 8/20 SKHYNIX short 0.145张 (信号源未知) | +$1.10 | $109.67 |
| 8/20 SKHYNIX 平仓 (锁盈+$1.10) | flat | $109.67 → $110.71 |
| 8/21 BTC long 0.63张 @5x execute | -$0.01 → +$17.50 (67,860平) | $110.71 → $127.16 |
| 8/21 HYPE long 26张 @2x (信号源未知,绕过闸第3次) | -$0.41 | $127.16 |
| 终止 | HYPE long 26张 @2x 持仓浮亏-$0.41 | $126.66 |
关键盈利: BTC long 0.63张 在 65,365 开 → 67,860 平 = +$17.50 (跟对熬鹰加仓节奏)。
关键观察:
- "信号源未知" 闸仍被绕过 3 次 (SKHYNIX short / BTC long / HYPE long) — v4.5.53 闸无效,需移到 parse_signal 第一行
- 平仓 ghost close 持续发生 (SNDK 0.107张 / SKHYNIX 0.145张 / SKHYNIX 0.158张 全部平仓未入 confirmed_signals)
- 矿工Jasonleo 接入,BTC/ETH short 4-6x reduce 信号展示性
📌 关联 references
v4.5.54-signal-source-unknown-still-executes-and-ghost-close-2026-08-20.md— 闸绕过 + ghost close 本次再次验证v4.5.56-position-source-trace-and-kuangj-trader-2026-08-20.md— 持仓来源 trace 三步v4.5.57-hype-and-multi-signal-source-storm-2026-08-20.md— HYPE ghost execute + 矿工Jasonleo 接入signal-source-drift-2026-07-15.md— 旧 trader 名单失效警告(本次再次触发:旧名单只到 8/20)
✅ 验证清单
- trader='未知' 闸仍被绕过 (3 次实战: SKHYNIX short 0.145 / BTC long 0.63 / HYPE long 26)
- 平仓 ghost close 仍在发生 (SNDK / SKHYNIX 短 / SKHYNIX 长 各一次)
- "无持仓静默" 被 agent 误读为"无持仓" (BTC short 1.47张实为予与锁)
- 减仓≠平仓 判断表 新增 (本次明确化)
- 矿工Jasonleo 接入 + 20+ reduce 连发 → agent 过度详细回复 (违反 v4.5.36)