Files
Hermes-Skills/okx-auto-position/references/v4.5.118-2026-09-25-ondo-leverage-rollback-200cap-margin-semantic-channel-revert.md
T

2.8 KiB
Raw Blame History

v4.5.118 (2026-09-25): ONDO杠杆降级实战 + $200口径最终确认 + 频道回切

事件链

  1. ONDO加仓信号: 54张(用户手动) → 熬鹰加仓信号 → advisor按10x开了329张 → 383张@10x
  2. 用户质问"你是不是改成10倍了" → 根因: 信号格式【币种】:ONDOUSDT 永续 | 全仓 | 2x杠杆在币种行内, 旧正则只匹配独立【杠杆】标签 → parse失败 → advisor默认10x → 风险敞口5x于熬鹰
  3. 已修正则(v4.5.116): r'(?:【杠杆】\s*[::]?\s*(\d+)|(?:永续|全仓)\s*\|\s*全仓\s*\|\s*(\d+)\s*[xX]?)' + 提取v = m.group(1) or m.group(2)
  4. 用户说"降" → 实战降杠杆全流程:
    • 直接 set-leverage 10→2x → 59108 (cross模式保证金不足)
    • 减仓192张(383→191) → 再 set-leverage 2x → 成功
    • 结论: 59108的解法固定 = 减仓 → set-leverage → check_account 验证 lever 字段
  5. 用户问"保证金为什么快$500" → 发现 ONDO ctVal=10/张, 191张名义$993而非$99, frozen $496 = 真实2x保证金 ($993/2), 不是显示延迟
  6. ctVal事故修复: 减仓165张 → 26张@2x
  7. $200口径最终确认 (用户原话: "你只管保证金在限制内就行了"):
    • $200 = 保证金(margin)上限, 不是名义/张数口径
    • 2x杠杆下 名义上限 = $400, 26张@2x 保证金$67 ✓ 合规
    • memory 已更新, advisor config single_coin_ceiling_usdt=200 本就是保证金口径无需改
  8. 频道切换: shipan_jiankong(-1002651333064) 修了 chat_id bug 但实际信号流仍未通 → 用户要求回切 jiankongshipan
    • 最终状态: forward_rules.source_chat_id = 1 (chats.id=1, telegram_chat_id='3805472665' 正数格式)
    • 转发时间模板: time_template 改为 ⏱转发时间: {time} (原 ⏱信号时间 语义混淆, 该时间戳实际是 forwarder 收到消息的时刻)

铁律沉淀

  1. cross降杠杆 59108 → 减仓 → set-leverage → 验证, 四步缺一不可, 不要反复裸调 set-leverage
  2. ctVal 必查 (GET /api/v5/public/instruments), ONDO=10/张, 名义=contracts×ctVal×markPx; frozen 异常大先重算名义再怀疑交易所
  3. $200上限 = 保证金口径 (用户 2026-09-25 最终确认), 不是名义; 首仓70%=$140, 加仓可满$200
  4. advisor默认10x的隐患: 即使正则修好, 任何解析失败都会静默回落10x — 开仓后必 check_account 核对 lever 与信号一致
  5. 频道切换失败要回滚: 换源后若端到端无信号流入(信号queue无新记录), 果断回切到旧源, 不要恋战调试
  6. 信号链路断链排查顺序: forwarder日志(有无[处理规则]) → signal_queue.db最新id(有无入队) → process_signal输出(有无advisor错误) → OKX fills(有无成交) — 用户愤怒"信号怎么没进来"时按此链路逐级查, 不要只查一层就下结论