Files
Hermes-Skills/okx-auto-position/references/v4.5.84-2026-09-10-cl-cycle-reduce-silent-fail-and-manual-proportional-reduce.md
T

40 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# v4.5.84 (2026-09-10) CL 全周期实战: reduce 信号同样隐性失败 + 手动比例减仓
## 背景
熬鹰币安实盘 CL 空单全周期跟单 (2026-09-10): 开仓 152 张 → 减仓信号 → 平仓信号。期间发现 **reduce 信号与 open 信号一样存在隐性失败**。
## 新教训: reduce 信号也会静默不执行
**现场**: 熬鹰减仓 50% (9127→4563 CL)。process_signal 跑完返回 "✅ 已推送 | CL short 10x | 21.0张 | 评级:高" — 但 check_account 验证持仓**仍为 152 张**,一股未减。
**关键点**: advisor 返回了建议张数 (21 张) 且推送显示成功,与 v4.5.82 记录的 open 隐性失败同款 — **execute 路径与 advisor 建议值独立,推送成功 ≠ 订单落地**。此前只确认 open 会隐性失败,本次实证 reduce 同样会。
**铁律**: 任何信号类型 (open/add/reduce/close) 处理完,必须 check_account 验证张数变化,不能信 process_signal 的返回值。
## 正确解法: 手动按比例 raw REST 减仓
熬鹰减 50% (9127→4563),agent 手动跟减同比例:
```python
# 152 张 × 50% = 76 张, buy 回补 reduceOnly
body = {"instId": "CL-USDT-SWAP", "tdMode": "cross", "side": "buy",
"posSide": "net", "ordType": "market", "sz": "76", "reduceOnly": True}
okx_post('/api/v5/trade/order', body)
```
**比例优先, 绝对张数仅参考**: advisor 报 21 张 (它按自己的仓位公式算的), 但 v4.5.83 规则是"减仓按 trader 比例跟减" — 152×50%=76 才是正解, 不是 21。
## 平仓 + 解锁收尾
- 平仓信号 proxy 抽风 → sleep 后手动 raw REST 全平 (buy reduceOnly 76 张)
- **手动平仓后必须 release_lock** (v4.5.82 规则) — 本次 `release_lock("CL", "熬鹰币安实盘")` ✅
- CL 全周期净盈利约 +$16 (开仓浮盈 $8 + 减半已实现 $8)
## 结果验证清单 (每轮信号后)
1. check_account 查实际张数 ≠ 信号前张数 → 真执行了
2. 张数没变但 process_signal 报成功 → 隐性失败, 手动 raw REST 补
3. 手动操作后 → release_lock / acquire_lock 对应处理
4. 权益对比: eq_now - eq_before ≈ 本轮盈亏 (含手续费)