Files
Hermes-Skills/okx-auto-position/references/v4.5.58-reduce-vs-close-and-trader-locked-silent-skip-2026-08-21.md
T

7.1 KiB
Raw Blame History

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 的"无持仓静默"提示混淆了三种情况:

  1. 真的没持仓 (信号被 dedup/锁 拒,持仓=0)
  2. 持仓存在,但信号被 trader-lock 拒(同一币种被另一个 trader 锁)
  3. 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_X vs no_position vs ssl_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)