7.6 KiB
v4.5.111 (2026-09-26 续) 1% min 减仓过滤实装 + 4个熬鹰号白名单扩展 + update_only/close闸验证
本 session 实战触发: ZAMA 蚂蚁减仓 100+ 条, user 主动要求加 1% min 过滤; trader 4 个号都验证是同一人,whitelist.json 扩展到 4 个号。
1. 1% min 减仓过滤 - 实装与验证
触发场景
熬鹰 ZAMA 减仓比例 0.05%~0.5% (平均 0.15%), 100+ 条下来每条都让 process_signal 跑完:
- parse_signal
- advisor reduce
- check_account
- 推送模板
→ 100% no-op 但流程跑满, agent 沦为静默墙。
user 原话
"要 (加 min 减仓过滤)"
代码修改 (process_signal.py line ~1144)
delta_pct = (trader_before - trader_after) / trader_before
# 2026-09-26: min 减仓比例过滤 (1%以下忽略, 避免蚂蚁式减仓刷屏)
_MIN_REDUCE_PCT = 0.01
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:
# 按比例减 (执行)
验证 (本 session 实际效果)
| 时段 | 信号数 | advisor 触发 | 实际 no-op |
|---|---|---|---|
| 装过滤前 | ~60条/小时 | 60次 | 60次 |
| 装过滤后 | ~80条/小时 | ~5次 | ~5次 |
噪音减少 95%: < 1% 减仓被过滤, 不调 advisor 不查持仓, agent 不再沦为静默墙。
关键实测选择: 不加
!1% 减仓信号会被无声忽略, trader 的 "清场" 信号 (单笔 ≥ 1%) 仍会触发, 不影响有效信号处理。
与 v4.5.106 / v4.5.109 协同
- v4.5.109 的 20-轮状态总结触发器本来想 "agent 主动 push trader 状态", 但 advisor 触发 60 次/小时太频繁, agent 算力都被 check_account + advisor 吃掉了
- 1% 过滤减少 95% advisor 调用, 让状态总结能实际运行
- 现在 100+ 信号只跑 ~5 次完整流程, 状态总结有算力空间触发
2. 4 个熬鹰号白名单扩展
user 原话
"一个意思, 都是熬鹰的"
whitelist.json 修改
{
"_comment": "跟单白名单配置 - 不要在代码里硬编码,改这里。trader=跟单交易员名字,设置在 trader_whitelist 数组。",
"trader_whitelist": ["熬鹰资本", "熬鹰币安实盘", "熬鹰FOMO合约实盘", "熬鹰交易信号"]
}
关键验证: 4 个 trader 是同一人
| trader | 行为模式 |
|---|---|
| 熬鹰资本 | 主要发信号 |
| 熬鹰币安实盘 | 同时发+操作, 又分批减仓 (同ZAMA 100+ 蚂蚁减仓) |
| 熬鹰FOMO合约实盘 | 偶尔跟开仓 |
| 熬鹰交易信号 | 偶尔发信号 |
行为高度同步: 同一时段 4 个号都发 ZAMA 减仓, 已实现同步增长, 持仓同步变化 → 同一人, 多平台直播。
闸已生效的 5 类信号类型
if _sig_type_for_gate in ('open', 'add', 'reduce', 'adjust_leverage', 'close') and trader not in _TRADER_WHITELIST:
return f"⏭️ 跳过: trader [{trader}] 不在白名单 | {symbol} {side}"
闸规则: 包括 open / add / reduce / adjust_leverage / close 五类全部过白名单。巨鲸内幕哥ca88/予与实盘/魏神/风寻等不在白名单的 trader 全部静默跳过 (process_signal v4.5.77 修复 close 也拦后实战验证)。
3. update_only / adjust_leverage 信号类型 (classify_signal)
本 session 实装
def classify_signal(fields):
text = fields.get('_raw', '')
if '平仓' in text or '止盈' in text or '止损' in text:
return 'close'
pnl = float(fields.get('pnl', '0').replace('+', ''))
if '减仓' in text or (pnl < 0 and '减' in text):
return 'reduce'
if '加仓' in text or '追仓' in text:
return 'add'
# 调杠杆信号 (2026-08-26: 必须跟,不算性价比低 — 熬鹰调整杠杆是策略节奏)
if '修改了杠杆' in text or '调整了杠杆' in text or '调杠杆' in text:
return 'adjust_leverage'
# 实时仓位更新 (2026-09-01: 这种是状态推送,不是真实开仓信号, 跳过)
if '仓位实时更新' in text or '实时更新' in text:
return 'update_only'
# 2026-09-10: "当前全部持仓"汇总播报 — 状态展示,不是交易动作, 跳过
if '当前全部持仓' in text:
return 'update_only'
return 'open'
实战命中 (本 session)
熬鹰币安实盘\n📊 仓位实时更新\n...→update_onlyskip → 不进闸、不调advisor、不推QQ熬鹰币安实盘\n熬鹰当前全部持仓\n...→update_onlyskip → 同上
闸处理顺序
if _sig_type_for_gate == 'update_only':
return f"⏭️ 跳过: 实时仓位更新信号(非真实开/加/减/平仓) | {symbol} {side}"
update_only 直接 skip, 不进白名单 trader 闸 (避免无谓 check), 也不进 reduce 1% 过滤 (因为没真减仓)。
4. adjust_leverage_raw 函数 bug fix
bug
# process_signal.py 错误版本:
resp = _okx_raw_request('POST', '/api/v5/account/set-leverage', body)
_okx_raw_request 签名: (method, path, params=None, body=None, timeout=15),
位置参数 body 被当成了 params, OKX 返回 'Incorrect json data format'。
fix
body={"instId":inst_id,"lever":str(new_leverage),"mgnMode":"cross","posSide":"net"}
resp = _okx_raw_request('POST', '/api/v5/account/set-leverage', body=body)
关键字 fix: 第二个位置参数是 body=body, 不是 body。
实战命中 (本 session)
- ETH 10→4x ✓
- BTC 10→5x ✓
- ZAMA 1→2x ✓
关联 bug 58107 (cross 模式降杠杆拒)
cross 模式降杠杆需要分账户余额 ≥ 新杠杆下要求的初始保证金。你 USDT 少时降杠杆会被拒:
{"code":"59108","msg":"Your account leverage is too low and has insufficient margins..."}
→ fix 是先减仓 (释放保证金) 再降杠杆, 而不是用 isolated 模式 (会被先平再切的 OKX 流程影响跟单)。
5. Qdrant recall 饱和 (已验证, 非新发现)
本 session Qdrant recall 反复召回相同 3 条 (4个熬鹰号白名单 + close也拦 + adjust_leverage_raw bug):
- 蚂蚁减仓 session 期间 100+ 次召回都返回相同内容 → 召回已饱和
- 应对: acknowledge "Qdrant 召回已饱和, 依据实时 check_account 决策", 不再误以为新发现
6. 本 session 重要事件时间线
| 时段 | 事件 |
|---|---|
| 9/26 早 | ZAMA 蚂蚁减仓 100+ 条, user 手动添加 1% min 减仓过滤 |
| 9/26 午 | 4个熬鹰号白名单扩展 (user 原话"一个意思都是熬鹰的") |
| 9/26 下午 | UNI long 2544 张@10x execute (advisor 报 811 张实际下 2544 张, advisor bug) |
| 9/26 傍晚 | UNI 平仓 signal (advisor 报 21 张实际下 236 张, 减仓跟单) |
| 9/26 晚 | ZEC long 13 张@3x, ZAMA long 2544 张@10x 同向持仓满仓 99% |
7. 与之前的 session 关系
- v4.5.96: advisor reduce 三种结果 (0.001张/方向bug/隐性失败)
- v4.5.103: 4个熬鹰号首次识别为同一人, 调杠杆自动跟进
- v4.5.106: 100+ no-op 静默墙反思 + 20-轮状态总结
- v4.5.107: Qdrant 优先 + memory shorten-only + 工具能力不编造
- v4.5.109: "性价比低"完全去掉 + 当前全部持仓 + advisor 张数偏差矩阵
- v4.5.110 (上一续): 1% min 减仓过滤
- v4.5.111 (本 session): 1% 过滤实装 + 4 熬鹰号扩展白名单 + adjust_leverage_raw bug fix + Qdrant 饱和应对
8. 下次 session 期待
- trader 蚂蚁式减仓 → 1% 过滤拦截 95% 噪音, agent 算力能跑状态总结
- 4 熬鹰号白名单已稳定运行, 不需再扩展
- adjust_leverage_raw 已修复, 调杠杆信号能正确 set-leverage
- update_only 信号类型已覆盖两种格式(实时更新+当前全部持仓)