89 lines
4.7 KiB
Markdown
89 lines
4.7 KiB
Markdown
# v4.5.96+ 补充 (2026-09-10 ~ 09-21 session): 熬鹰多号对冲 + 配置损坏收窄 + advisor 尾巴 no-op
|
|
|
|
本文件承接 v4.5.96 主文档,记录本 session 后半段新增的实战模式。
|
|
|
|
## 1. 熬鹰多号对冲/分仓 — 同人反向信号是常态不是 bug
|
|
|
|
**实证 (9/10-9/21)**:
|
|
- 熬鹰币安实盘 ZEC **long** + (同期历史) 熬鹰FOMO ZEC short — 同人多号对冲
|
|
- 熬鹰币安实盘 BTC **short** 加仓 3 次亏平 (-$35k) + 熬鹰FOMO BTC **long** 25x 开仓亏平 (-$91k) — 同时段反向
|
|
- 熬鹰币安 UNI long 平仓 (+$21.6k) 后, 熬鹰FOMO 继续在 ZAMA 分批兑现
|
|
|
|
**跟单处理**:
|
|
- 后到的同币种反向信号 = 方向反转 → `release_lock` + `acquire_lock` 两步 + 平旧仓开新仓
|
|
- 每个号仓位独立核算, 不要把 A 号浮盈和 B 号浮亏相抵
|
|
- 白名单 4 号都跟, 但**谁的 close 平谁对应的仓** — close 信号带 trader 名, 按锁的 trader 匹配
|
|
|
|
## 2. whitelist.json 配置损坏 → 白名单静默收窄 (设计缺陷, 已识别未修复)
|
|
|
|
代码路径:
|
|
```python
|
|
_TRADER_WHITELIST = {'熬鹰资本'} # fallback 默认值
|
|
try:
|
|
_wl = json.loads(_WL_PATH.read_text())
|
|
if isinstance(_wl, dict) and isinstance(_wl.get('trader_whitelist'), list):
|
|
_TRADER_WHITELIST = set(_wl['trader_whitelist'])
|
|
except Exception:
|
|
pass # ← whitelist.json 损坏时静默退回 1 号白名单
|
|
```
|
|
|
|
**风险**: JSON 损坏 (转义错/半截写入) → 3 个变体号被静默拦 → 信号全跳过, 无告警。
|
|
**修复方向 (待实施)**: fallback 用完整 4 号名单; `except` 里 push 告警而非 pass。
|
|
|
|
## 3. "汇总无操作 / 减仓no-op" 模板最终形态 (40+ 次重复零投诉)
|
|
|
|
```
|
|
减仓信号 (你无持仓): 减仓no-op(无持仓); USDT $X
|
|
汇总播报 (你无持仓): 汇总无操作;无持仓;USDT 可用$X/权益$Y
|
|
汇总播报 (有持仓): 汇总无操作;持仓不变(<COIN> <side> <N>张@<lev>x 浮盈亏$X); USDT 可用$X/权益$Y
|
|
```
|
|
|
|
**绝对禁止出现在 no-op 回复里**:
|
|
- "Qdrant召回确认核心铁律(4个熬鹰号+close也拦)..." 前缀 — 召回是内部上下文, 不进回复
|
|
- 策略分析/死拿vs波段/内幕哥对比 — 与当前 no-op 决策无关
|
|
- 重复解释白名单/锁机制 — user 已知
|
|
|
|
**本 session 实证**: 带 boilerplate 前缀的 no-op 持续 20+ 次后才被识别为系统性问题。模板句必须作为回复第一行。
|
|
|
|
## 4. advisor 尾巴期减仓信号的三种实际结果
|
|
|
|
| advisor 输出 | 实际 | 处理 |
|
|
|---|---|---|
|
|
| "0.001张" / 极小值 | 低于最小变动单位, 无下单 | no-op 正常 |
|
|
| 方向反转 ("加仓 1.045张" 出现在减仓信号) | advisor reduce 方向 bug (第 3+ 次) | 忽略 advisor, 手动按比例减 |
|
|
| "已推送 X 张" 但 check_account 无变化 | 隐性失败 (proxy/SSL/execute bug) | sleep 重试 → 手动 raw REST → 按比例 |
|
|
|
|
**比例公式**: `你的张数 × (熬鹰原仓位 − 现仓位) / 熬鹰原仓位`, 向上取整到 lot step, reduceOnly。
|
|
|
|
### 4b. Min 减仓比例过滤 (1%) — 抗蚂蚁式减仓长尾 (2026-09-26 加)
|
|
|
|
**问题**: 熬鹰ZAMA蚂蚁式减仓每次 0.05%~0.5%, 全程 100+ 条信号 → agent 沦为 no-op 静默墙。
|
|
|
|
**修复**: process_signal advisor reduce 路径加 `_MIN_REDUCE_PCT = 0.01`:
|
|
|
|
```python
|
|
delta_pct = (trader_before - trader_after) / trader_before
|
|
_MIN_REDUCE_PCT = 0.01 # 1% 以下忽略
|
|
if delta_pct <= 0:
|
|
msg = f"⚠️ 减仓信号: 大佬实际是加仓 +{delta_pct*100:.1f}%, 跳过"
|
|
elif delta_pct < _MIN_REDUCE_PCT:
|
|
msg = f"⏭️ 减仓幅度过小 ({delta_pct*100:.2f}% < {_MIN_REDUCE_PCT*100}%), 跳过"
|
|
else:
|
|
# 按比例减仓
|
|
...
|
|
```
|
|
|
|
**触发条件**: 大佬减仓比例 < 1% → 直接跳过, 输出 `⏭️ 减仓幅度过小 (0.06% < 1%)`。
|
|
|
|
**底线**: 每 20 条 skip 推 1 条 trader 状态总结 (本节 §3 模板)。若减仓幅度累积 > 5% 或 trader 改做其他动作(加仓/调杠杆) → 立刻检查是否清仓信号, 不继续 no-op。
|
|
|
|
**误判风险**: 大佬做"小步快走兑现"(每笔 0.5%)时会被忽略, 但 advisor reduce 路径有"按比例减仓" fallback → 大佬累积减仓幅度 > 1% 时(后续信号)会被识别。0.5% 步长 × 4 次 = 2% → 后续触发, 延迟最多 4 条信号 (~4-20 分钟)。
|
|
|
|
## 5. 熬鹰 ZAMA 兑现长尾数据 (供未来模式匹配)
|
|
|
|
- 原仓 4,989,469 ZAMA @ $0.07 → 长尾期每次减 0.1-0.3%
|
|
- 已实现盈亏单调递增: $75 → $450 → $978 → $1,636 → $2,143 → $2,654 → $2,921 → $3,340 → $3,860 → $4,407 → $4,582
|
|
- 浮盈稳定 $70k-78k (33-36%)
|
|
- **清仓信号在观察窗口内未出现** — 证实"蚂蚁式减仓清仓信号可能永不来"
|
|
|
|
跟单者若已平仓: 全程空仓 no-op, 不追浮盈。追高 = 拿自己的钱帮他抬轿。 |