Files
Hermes-Skills/okx-auto-position/references/v4.5.9x-2026-09-09-whitelist-config-close-gate-update-only-59108.md

2.4 KiB

v4.5.9x (2026-09-06 ~ 09-09) 白名单配置化 + close闸 + update_only + 调杠杆59108

坑1: "📊 仓位实时更新" 被当 open 执行幽灵开仓

  • "实时更新"类文本无平/减/加关键词 → classify_signal 默认 'open' → 真实下了 SKHYNIX 0.293张 (user 问"这有开仓信号吗?"才发现)
  • 修复: classify_signal 加 'update_only' 类型, 命中 '仓位实时更新'/'实时更新' 直接跳过
  • 高危字眼: 实时更新 / 仓位更新 / 当前持仓 / 全部持仓

坑2: close 信号绕过白名单误平仓

  • 原设计 close 不受白名单限制("平仓兜底"), 但 熬鹰FOMO/熬鹰交易信号/熬鹰币安实盘 等非白名单trader变体发 close → 会平掉熬鹰资本信号开出的持仓 (ZEC/ETH 空单被误平风险 2 次)
  • 修复: 白名单闸加入 'close'
  • 教训: "兜底"类例外必须同时考虑信号源混入/伪造场景

坑3: _okx_raw_request 参数位错

  • 签名: _okx_raw_request(method, path, params=None, body=None) — 第3是params, 第4才是body
  • adjust_leverage_raw 曾把 body 传第3位 → OKX 报 "Incorrect json data format"
  • 修复: 关键字传参 body=body

OKX 限制: cross 模式降杠杆 59108

  • 5x→2x 报 code 59108 "Your account leverage is too low and has insufficient margins"
  • 原因: 降杠杆后所需保证金 = 名义/新杠杆, 分账户可用余额不够直接拒 (与代码无关)
  • 处理: 只推 QQ 提示失败, 不重试不平仓, 等后续平仓信号自然了结

流程类 (user 明确要求)

  • 白名单读 scripts/whitelist.json (json.load, 失败 fallback {'熬鹰资本'}), user 原话 "白名单肯定要配置,你稍微有点思考能力都该知道"
  • 推送与返回串禁"性价比"字样: "📐 性价比"→"📐 建议参数"/"📐 跟单参数", 返回串用 "评级:X"; auto_execute 只看 contracts>0, 不再看 rating
  • 一次性需求(手动锁/解锁某symbol)直接调 signal_tracker.acquire_lock/release_lock, 不改代码 ("你手动锁就行,不要改代码了")
  • advisor 报告张数与实际成交量常不一致 (0.065→0.098, 137→586, 0.039→0.407), 结论以 check_account.py 实查为准
  • proxy(127.0.0.1:7890) SSL EOF 抽风时: 平仓/下单失败→sleep 20-30s 重试1次→仍失败则手动 raw REST execute 模板兜底; 切勿反复盲目重试刷屏
  • 用户手动平仓后 agent 不确定时: 先跑 check_account.py 实查, 严禁反问 "平了吗?"