Files
Hermes-Skills/okx-auto-position/references/v4.5.26-2026-07-08-skhnx-silent-and-execute-bugs.md

4.3 KiB

v4.5.26 — 2026-07-08 SKHYNIX 80+连发信号session总结

会话事件时间线

  • 18:00-20:30 SKHYNIX 长串重复加仓信号 (80+ 条)
    • 仓位从 3.06 → 957 张,SKHYNIX 始终在 $1352-1390 区间拉锯
    • 每条信号 process_signal 都成功推 QQ (重复加仓信号)
    • 你的 SKHYNIX long 持仓 0.216 张 @5x 一直未变 (avail USDC 不够继续加仓)
    • 浮盈从 +$0.30 → +$6.13 → +$3.66 → +$3.13 区间波动
    • 用户反馈点: 没有"会话级聚合播报"机制,每条都推一遍

核心 bug 修复 (本会话已落地)

1. 平仓信号 dedup 误跳 (v4.5.4)

根因: is_duplicate() 2 分钟窗口把"减仓→平仓"两个完全不同语义信号合并去重 修复: classify_signal 前置,close 信号走独立通道(只信 raw_text hash 唯一性) 验证: 熬鹰 ETH short 平仓信号 → 走独立通道 → 自动平仓成功 (1.85 张 @5x,锁定 -$6.58 浮亏) 用户反馈: "要是我没发现,就一直不推了吗?重试机制呢" 修复代码: process_signal.py 已落地 (见 scripts/process_signal.py 第 ~600 行)

2. 回复侧 vs QQ 推送侧严格区分 (v4.5.3)

用户原话: "我是指这个信息,是你分析的吗,只需要把跟单结果中涉及数据相关的推给QQ,这里不需要推" 规则:

  • QQ: 完整数据(品种/方向/张数/杠杆/avgPx/upl/保证金/可用余额/强平价/异常)
  • Telegram: 只报核心状态,一句"X X张@Yx,浮盈/亏Z,USDT W"
  • 禁止: 跟单小结/对比分析表/三选一/Y/N 菜单/"熬鹰开比你高/逆势"等主观判断

已知问题(本会话暴露,未修复)

问题 1: SPCX/MU 等新币种 advisor --execute 不下单

  • 症状: advisor 返回完整 JSON(contracts/margin/tp_price 等),看起来一切正常,但实际无成交,availBal 不变
  • 案例:
    • SPCX short 1.45 张 → 未成交(2 次)
    • MU short 0.51 张 → 未成交(1 次)
    • SKHYNIX long 0.216 张 → 实际成交了(系统未报告 order_id)
  • 推测: advisor --execute 路径对部分新币种有兼容 bug,execute 成功但 stdout 不返回 order_id
  • 临时解决: 看到"已推送"必须用 raw REST /api/v5/account/positions 反查真实持仓

问题 2: 80+ 连发加仓信号无变化

  • 症状: 同一交易员同一币种 1 小时内 80+ 条加仓信号,仓位变化 <1% / 趋势震荡
  • 现行规则: process_signal 走 2 分钟窗口 dedup,所以大部分被跳过
  • 但每条仍有 process_signal overhead + QQ 重复推送 (但消息相同)
  • 用户隐含期待: 沉默窗变化阈值 机制 — 比如
    • 仓位变化 <2% 时合并推送
    • 价格变化 <0.5% 时合并推送
    • 同币种同交易员 5 分钟内只推 1 条汇总

问题 3: execute_order 返回无 order_id 字段

  • 症状: 脚本返回 JSON 但缺 order_id,agent 看到 stdout 以为没成,实际已成交
  • 案例: CL 40 张,SPCX 1.45 张,MU 0.52 张,SKHY 3.18 张 — 全部 execute 后用 raw REST 反查发现已成交
  • 修复建议: execute_order 路径成功下单后,在 stdout JSON 追加 {"order_id": "...", "filled": true/false, "fill_price": ...} 字段
  • 临时工作流: 看到 advisor --execute 返回 → 必须 raw REST 反查真实持仓

给未来 session 的关键 takeaways

  1. close 信号永远不走 2 分钟窗口 dedup — 这是 v4.5.4 永久修复
  2. 新币种(SPCX/MU/SKYNIX 等)execute 后必须 raw REST 反查 — advisor stdout 不可信
  3. 回复侧极简,QQ 推送全 — v4.5.3 永久规则
  4. 拉锯市沉默窗 / 变化阈值合并 — 下一版 v4.5.26 候选,本次未实现
  5. SKILL.md 数据丢失事故 (v4.5.24) — 当前主 SKILL.md 是 placeholder,需要恢复 v4.5.23 全文

SKILL.md 恢复 path (下次 session 第一件事)

cd /home/openclaw/.hermes/skills/trading
git show b6d0d68:okx-auto-position/SKILL.md > /tmp/skill_v4.5.23.md
# 然后在 v4.5.23 顶部加 v4.5.24/v4.5.25/v4.5.26 章节(参考 references/)
cp /tmp/skill_v4.5.23.md okx-auto-position/SKILL.md
# patch 新章节
git add okx-auto-position/SKILL.md
git commit -m "v4.5.26: 恢复 v4.5.23 完整正文 + 本会话累积学习"
git push origin master

完整 push log (本会话)

commit 内容
b6d0d68 v4.5.3: 区分回复侧 vs QQ推送侧
8c03e22 v4.5.4: 平仓信号 dedup 误跳 bug 修复