30 lines
2.8 KiB
Markdown
30 lines
2.8 KiB
Markdown
# 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(有无成交) — 用户愤怒"信号怎么没进来"时按此链路逐级查, 不要只查一层就下结论
|