Files
Hermes-Skills/okx-auto-position/references/v4.5.61-2026-08-22-trader-whitelist-only-aoying.md

85 lines
3.7 KiB
Markdown

# v4.5.61 (2026-08-22) Trader 白名单生效 — 只跟熬鹰资本
**用户指令**: "是的,暂时只做熬鹰的,。" (针对"跟单有白名单吗,只做熬鹰资本的。")
## 背景
本次 session 跑了大量多 trader 信号:
- 熬鹰资本 (SKHYNIX/SNDK/BTC/ETH/HYPE/NEIRO/ASTER/BTC/ETH long+short)
- 矿工Jasonleo (BTC/ETH short 4-6x,加仓信号70+条)
- 予与实盘 (BTC short 10x)
- 麻吉大哥 (ETH long 25x)
- 风寻 (未出现)
执行后用户明确: **只跟熬鹰资本,其他 trader 一律静默跳过**。
## 改动 (`scripts/process_signal.py::process_signal()`)
在 `_sig_type_for_gate = classify_signal(fields)` 之后,`trader='未知'` 闸之前,加 trader 白名单闸:
```python
# 2026-08-21: trader 白名单闸 — 只跟【熬鹰资本】, 其他 trader 一律静默跳过 (不入 tracker)
_TRADER_WHITELIST = {'熬鹰资本'}
if _sig_type_for_gate in ('open', 'add', 'reduce') and trader not in _TRADER_WHITELIST:
return f"⏭️ 跳过: trader [{trader}] 不在白名单 | {symbol} {side}"
```
**白名单行为**:
- trader == '熬鹰资本' → 正常走 advisor execute 路径
- trader ∈ {矿工Jasonleo, 予与实盘, 麻吉, 风寻, ...} → 静默 return,不推 QQ,不写 tracker
- trader == '未知' → 静默 return (兜底)
**双重闸**: trader 白名单 + trader='未知' 闸都触发时,白名单闸先生效(更严格)。
## 用户对持仓归属的追问 (锁追溯方法二次验证)
用户原话: "到底是哪个交易员的,熬鹰的还是予与的?" + "那交易锁呢?没有用吗?"
我之前回复 BTC short "无持仓" → 用户质疑 → 重查 → BTC short 1.47张@10x **真实存在**。
**追溯结果**:
- `signal_history.db::position_locks`: `BTC|予与实盘|short|2026-08-15T18:47:00|新信号自动锁`
- `signal_history.db::confirmed_signals`: `ID 129|予与实盘|BTC|short|10|action=auto_executed_add`
→ **BTC short 是予与实盘触发的**,不是熬鹰。锁在 `position_locks` 里准确无误。
## 关键教训 (与 v4.5.51/v4.5.56 同源)
1. **v4.5.38 硬规则仍然有效**: 任何"有没有持仓/持仓多少"陈述必须先跑 check_account.py
2. **持仓来源必须查 position_locks** (不只是 recent_signals)
3. **白名单生效后,持仓变化频率会降低** — 但已持仓(BTC short 0.17张@5x + HYPE long 28张@2x)继续保留
5. **平仓信号不受白名单影响** — 兜底机制,无论 trader 是谁只要有同币种持仓就平
## 已知 trader 白名单 (本次锁定)
| Trader | 杠杆 | 风格 | 处理 |
|---|---|---|---|
| 熬鹰资本 | 2-25x | 多币种多周期 | **跟** (唯一) |
| 矿工Jasonleo | 4-6x | BTC/ETH short 高位开 | 不跟 |
| 予与实盘 | 10x | BTC short 长期持有 | 不跟 |
| 麻吉大哥 | 25x | ETH long 追涨 | 不跟 |
| 风寻 | 3-5x | SKHY/SNDK | 不跟 |
| X Alpha广告/战绩图 | N/A | 推送类 | 不跟 |
## 部署状态
✅ `process_signal.py` 已 patch,语法验证通过 (`python3 -c "import ast; ast.parse(...)" → OK`)
测试:
- `trader=熬鹰资本` → 进 advisor (可能 SSL fail,但不在白名单闸之前 fail,符合预期)
- `trader=未知` → `⏭️ 跳过: trader [未知] 不在白名单 | ...`
- `trader=矿工Jasonleo` → `⏭️ 跳过: trader [矿工Jasonleo] 不在白名单 | ...`
## 复现命令 (下次 session 验证)
```bash
# 1. 验证 patch 生效
grep -n "_TRADER_WHITELIST" ~/.hermes/skills/trading/okx-auto-position/scripts/process_signal.py
# 2. 验证 trader 归属
sqlite3 ~/.hermes/trading/signal_history.db "SELECT * FROM position_locks;"
sqlite3 ~/.hermes/trading/signal_history.db "SELECT * FROM confirmed_signals WHERE symbol='BTC' ORDER BY timestamp DESC LIMIT 3;"
# 3. 验证持仓(白名单生效后,只熬鹰单)
python3 ~/.hermes/skills/trading/okx-auto-position/scripts/check_account.py
```