关于 wolverine-strategy
wolverine-strategy 是 Senpi 的交易技能,专注于 Hyperliquid 上的 HYPE,并将入场验证与耐心持仓的趋势跟随退出机制结合。其生产器发送信号,运行时和 DSL 负责执行与仓位管理。
主要功能
- 01专注 HYPE 的信号扫描
- 02多因素入场验证
- 03按信念等级配置杠杆
- 04近期信号去重
- 05运行时风险护栏
- 06DSL 管理退出
适用场景
- 01评估 HYPE 趋势入场机会
- 02在静默时段或冷却期限制入场
- 03通过 DSL 退出规则管理持仓
MCP 相关
该技能通过 `senpi_runtime_helpers` 使用 MCP 传输,并向运行时发送入场信号。运行时负责执行,DSL 退出引擎管理仓位退出。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ senpi-ai/ senpi-skills --skill wolverine-strategy安装后在 Claude Code 中输入/wolverine-strategy确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdruntime.yamlconfig/wolverine-config.jsonreferences/skill-attribution.mdscripts/wolverine_config.pywolverine-producer.py详细介绍
🦡 WOLVERINE v6.1.0 — HYPE Patient-Conviction
v6.1.0(2026-06-01)— 扩大 Phase 1 回撤容忍度,以适应 HYPE 的波动
仅调整一项 DSL。评分、门槛、杠杆和 Phase 2 均不变。
exit.dsl_preset.phase1.retrace_threshold 8 → 15。
原因。 在 HYPE 的惊人涨势中,Wolverine 抓住了一笔 ROE +16.4% 的盈利交易,却错失了大部分行情;近期窗口的胜率为 25%,亏损集中在 ROE −5% 至 −9% 之间。可以证实的结构性原因是:在 5 倍杠杆下,8 个 ROE 点的回撤仅对应 HYPE 价格 1.6% 的容忍空间(8 ÷ 5)。HYPE 经常在单根 15m K 线内出现 3-5% 的影线,因此这条只需触发一次(consecutive_breaches_required: 1)的回撤规则会被普通波动触发,在仓位尚未发展为 Phase 2 那套宽松的“让盈利奔跑”阶梯旨在捕捉的 BIG 趋势之前,就以小额亏损平仓。−5% 至 −9% 的亏损集群符合这样一种情况:交易 ROE 一度达到 +2-3%,随后价格回撤 1.6%,触发 8 点回撤规则。
修复方案。 15 个 ROE 点 = 5 倍杠杆下约 3.0% 的价格容忍空间——缓冲空间大约翻倍,但仍远低于 20% 的 max_loss_pct 硬止损,因此它仍是一条独立的峰值回撤追踪规则,而不是退化为硬止损(这就是为什么设为 15 而不是会等同于 max_loss 的 20)。
为什么只改这一项。 近期窗口样本量为 n=12(评分区间 n=2-4)——在统计上无法与 50% 的胜率区分,样本太少,不足以支持重新调整 Phase 2 锁定规则、入场评分下限或 MIN_4H_STRUCTURE。仅凭止损宽度与波动率的计算,这项回撤修复是唯一有充分依据的改动,不受样本量影响。其他调整都等数据积累后再说。
决策规则。 在 40-50 笔交易后重新测算期望值。“让盈利奔跑”的趋势 Agent 本来就应该 有较低的胜率;只有当盈利无法覆盖亏损时,策略才算失败。胜率为 25% 时,盈亏平衡需要平均盈利与平均亏损之比达到 3:1(近期窗口仅为 1.56:1——盈利被截短)。如果进行这项修复并积累足够样本后,期望值仍为负,那么趋势跟随这一策略类型就不适合 HYPE,值得重写。在此之前,这只是策略校准不当,而不是策略本身失效。
v6.0.0(2026-05-18)— 采用 Patient-Conviction(移植自 Bison v3.0.1)
不改变评分。不改变交易理念。不改变门槛。行为 模式从“评分 ≥9 时每天 4 笔交易,T0 锁定值严格设为 35” 转变为“评分 ≥10 时每天 2 笔交易,T0 锁定值宽松设为 0,持仓数日。”
原因。 Bison v1.0(BTC/ETH/SOL 信念持仓者)于 2026-05-12 上线时采用了这一模式,4 天后便持有了一笔 SOL 空头,ROE 达 +93.5%,并在震荡、V 形反弹以及盘中账面回撤至 -8% 的过程中持仓 4 天。SOL 仓位跟随 SOL 从 $92.30 跌至 $83.67(现货跌幅 -9.4%)——而车队中所有快速轮动 Agent(Cheetah、Scorpion、 Turbine)都在入场后几分钟内平仓离场。Bison 能在噪声中坚持持仓, 是因为它的 DSL 允许仓位在回撤超过 +10% 之前保持空间,不会过早锁定收益。 T0 锁定值为 0 的首档,是 Bison 阶梯中杠杆效应最高的单一参数。
自 +12.8% HYPE 日复盘 (PR #281,2026-05-15)收紧门槛、拒绝明显追涨以来,Wolverine 一直表现为负。 门槛现在能够正确识别清晰趋势。缺少的是后端纪律,无法让这些趋势充分延续。 v6.0.0 移植 Bison 的后端,不改动 Wolverine 的前端。
变更内容(5 项小改动):
| 文件 | 变更 |
|---|---|
runtime.yaml risk.guard_rails.max_entries_per_day | 4 → 2 |
runtime.yaml risk.guard_rails.per_asset_cooldown_minutes | 120 → 240 |
runtime.yaml exit.interval_seconds | 30 → 60(缓解 REDUCE_ONLY 垃圾请求) |
runtime.yaml exit.dsl_preset.phase2.tiers | 采用宽松的 Bison 阶梯(T0 锁定值 0 至 T5 锁定值 85) |
config/wolverine-config.json minScore | 9 → 10 |
scripts/wolverine-producer.py + wolverine_config.py | recent-signals 竞态窗口去重(Bison v3.0.1 模式) |
未变更的内容。
- 六道入场验证门槛(4h 趋势、结构 ≥0.65、1h-4h 方向一致、15m 动量 ≥0.15、基础技术门槛、4h 波动幅度 ≥1.0%)原样保留。
- 保留 SM 对反向操作的硬性拦截。
- 保留 RSI 硬性门槛(74 做多 / 26 做空)。
- 保留多因子评分(最高约 17 分)。
- 保留按信念分级的杠杆(常规 3x / 顶级 5x)。 Bison 在主流币上使用 7-10x;HYPE 的波动性尚不足以 支持这一杠杆——我们通过 DSL 阶梯,而非杠杆,获得耐心持仓的优势。
- 保留 FP-001 安静时段(00-04 UTC,除非顶级评分达到 11+)。
- 所有时间退出机制仍保持 DISABLED(v3.0.4 扫描中停用的 hard_timeout、weak_peak_cut、 dead_weight_cut)。
需要关注的取舍。
- 更宽松的 T0 锁定意味着弱势盈利单的利润回吐会更多(上涨 +12% 后回撤至 +0% 的仓位会以盈亏平衡价平仓,而非像 v5.x 那样锁定 +4.2%)。只有在捕获的大趋势 超过错失的小额盈利时,净效果才为正。Bison 的业绩记录验证了这一点在主流币上 有效;部署后还需要至少 30 天的 HYPE 专项数据。
- 将每日入场次数从 4 次降至 2 次,意味着 HYPE 震荡时会有更多空闲时间。 可以接受——Wolverine 在 v5.x 下表现为负,是因为在边缘形态上入场过于频繁, 而不是入场过少。
- 4 小时冷却时间与 recent-signals 去重叠加—— 无论信号频率如何,Wolverine 对 HYPE 的触发频率都不应超过每 4 小时一次。
回滚条件。 如果 v6.0.0 连续 2 周每周仅产生 0 或 1 笔入场,
则评分底线过高。将 wolverine-config.json 中的
minScore 调回 9(producer 底线仍为 9;只有操作者的选择性由配置
控制)。其他差异应予保留。
v5.0.0 (2026-05-08) → v5.0.1(保留)
v3 → v4 架构重写。 v3.x 是一个全能型扫描器。v4.0 转而采用标准的 senpi-trading-runtime 插件模式:生产器发出信号,运行时负责执行和状态管理。
结构上的变化:
wolverine-producer.py(新增)取代wolverine-scanner.py(已删除)- v2-runtime-native:external_scanner + LLM 直通门控 + 原生
risk.guard_rails - DSL 通过
FEE_OPTIMIZED_LIMIT退出(每次由做市单成交的平仓可节省约 0.020-0.030%) - 交易链数据库会发出每笔交易的遥测数据——Wolverine 首次实现交易链数据库可见性
- 在 v4.0 中,Python 状态崩溃这一类错误(load_tc / set_cooldown / has_resting_orders)在结构上不可能发生
v3.0.3/v3.0.4 中原样保留的内容:
- HYPE 单资产论点
- 六道入场验证门槛:
- 4h 趋势 != NEUTRAL
- 4h 结构强度 ≥ 0.75
- 1h 方向与 4h 一致
- 15m 动量在目标方向上 ≥ MIN_MOM_15M (0.15)
- 基础技术指标底线(strong_15m OR aligned_5m)
- 4h 幅度 ≥ 1.5%——这是 v3.0.3 的修复,用于排除死寂的横盘行情。Wolverine 自身在 2026-04-23 的诊断指出:第 5 周的 6 笔交易全部亏损,因为 trend_strength_4h 是结构性指标(统计更低的高点),即使 4h 价格几乎没有波动,也会通过检查。
- 方向相反时,SM 强制拦截
- RSI 强制门槛(74 做多 / 26 做空)
- 多因子评分(最高约 17 分):基础技术指标 + SM 持仓集中度 + SM 速度 + 资金费率一致性 + 资金费率状态 + 资金费率持续性 + 成交量 + OI 速度 + BTC 相关性 + RSI 空间 + 4h 动量加分 + 行情耗尽扣分
- MIN_SCORE = 9(可通过配置覆盖)
- 按信念等级调整杠杆:5x 顶级(得分 ≥11)/ 3x 标准(≥9)
- 保留 DSL 预设:禁用所有时间止损,Phase 1 最大亏损 20% / 回撤 8(v6.1.0:→ 15)/ 3 次违规,Phase 2 阶梯(10/15、20/35、35/55、55/70、80/85)
保留 v3.0.1/3.0.2/3.0.4 v1-DSL 修复:
dead_weight_cut:禁用(单资产没有轮换成本)hard_timeout:禁用(v1 DSL 在 Phase 2 中错误触发此项)weak_peak_cut:禁用(v3.0.4——完成时间止损清理)- 现在所有退出均 100% 基于价格行为
⛔ 硬性规则(Fleet 补丁)
规则 FP-002:用户对话中的 Claude 会话不得交易
硬性规则,不是启发式规则。 回复用户消息时,Claude Code 会话不得调用以下任何工具:
create_positionclose_positionedit_positionratchet_stop_add/ratchet_stop_edit/ratchet_stop_deletecancel_orderstrategy_close/strategy_close_positions
这些工具仅供生产器 cron(wolverine-producer.py)和 DSL ratchet 引擎使用。cron 是唯一的入场路径。DSL 是唯一的退出路径。用户对话会话只能读取。
规则 FP-001:低流动性时段的安静时段
默认情况下,生产器在 UTC 00:00-04:00 期间跳过信号发出。顶级设置(得分 >= quietHours.apexBypassScore,默认值为 11)可绕过此限制。
可通过 wolverine-config.json 中的 quietHours.{startUtc,endUtc,apexBypassScore} 配置。将 startUtc == endUtc 设为相同值即可禁用。
🦡 WOLVERINE — 原始论点
单一资产。一个论点。聪明资金入场,Wolverine 出击,DSL 跟随趋势移动止损。
功能
Wolverine 每 3 分钟扫描一次 Hyperliquid 上的 HYPE,寻找多种动量信号的汇合:
- 聪明资金共识——顶级交易者收益率达到最低要求的比例,以及交易者数量超过阈值
- 速度加速——15m 和 1h 的贡献变化均为正且不断增强(15m > 1h)
- 价格确认——4H 和 1H 均沿信号方向移动
- 成交量确认——成交量高于 6h 平均值时给予加分
- 15m 时效性门槛——对过时信号进行扣分(15m 速度 < 0)
当得分达到 8+ 时,Wolverine 会以按信念等级缩放的杠杆(7x 或 10x)和 FEE_OPTIMIZED_LIMIT 订单类型发起 HYPE 入场。仓位管理完全交由 DSL 退出引擎处理——Wolverine 不会自行平仓,只负责开仓。
v2.3 — 经震荡行情加固
2026-04-14,Wolverine v2.2 在约 3 小时的震荡行情中连续 5 次交易 HYPE 亏损,总计亏损 113 美元。按照 v2.2 的标准,每次入场都属于“新信号”,但扫描器并不知道“我们刚刚在同一币种上连续亏损了 N 次”。v2.3 增加了三项保护:
1. 震荡行情检测锁定
在 3 小时内 HYPE 亏损 2 次后,Wolverine 会从最近一次亏损开始,6 小时内拒绝任何新的 HYPE 入场。扫描器会发出 CHOP_LOCKED,等待震荡行情结束。常量:
CHOP_WINDOW_HOURS = 3CHOP_MAX_LOSSES = 2CHOP_LOCKOUT_HOURS = 6
2. 方向反转硬性拦截
如果新信号的方向与过去 2 小时内 HYPE 最近一笔交易的方向相反,且那笔交易亏损,Wolverine 会硬性拦截新的入场。即使尚未达到震荡锁定的触发阈值,也能捕捉 LONG → SHORT → LONG 的反复震荡模式。盈利后的方向反转仍然允许(这是合理的反转信号);亏损后的方向反转则会被拦截(避免追逐震荡行情)。
3. 持久化入场日志
每个 ENTRY、EXIT、CHOP_LOCKOUT 和 FLIP_BLOCKED 事件都会将一行 JSON 写入 state/entry-log.jsonl。运行 openclaw sessions clear --current 后,此日志仍会保留——数据存储在磁盘上,而非大模型上下文中。会话重置后,当你询问“那笔交易的评分依据是什么?”时,可以通过查看日志末尾来回答:
tail -20 /data/workspace/skills/wolverine-strategy/state/entry-log.jsonl | jq
4. 退出跟踪钩子
sync_closed_positions(wallet, state) 会在每次扫描开始时运行,将当前持仓与上一次扫描的快照进行比较,并追加与先前 ENTRY 元数据关联的 EXIT 事件。这样就闭合了震荡检测的反馈环路,让扫描器可以查看每笔交易的实际已实现盈亏。
车队标准防护措施(全部具备)
- 通过
create_position自行执行(无需外部操作层) - 根据盈亏动态调整每日入场上限(PR #176)
has_resting_orders()会自动取消超过 10 分钟的过期做市订单(PR #177)- 修复了
load_trade_counter()中的过期日期 Bug(PR #177) - 单资产冷却时间(默认 180 分钟)
- 根据确信度调整杠杆,上限为 10x(车队 H12 审计)
关键设置
| 设置 | 值 | 原因 |
|---|---|---|
| 资产 | HYPE | 专注单一资产,不进行并行下注 |
| 最大持仓数 | 1 | 集中持仓 |
| 每笔交易保证金 | 50% | 高确信度时投入更多资金 |
| 最大杠杆 | 10x | 车队上限(H12 审计发现,超过 10x 会因手续费侵蚀优势) |
| 最低评分 | 8 | 超过此值才代表真正有确信度 |
| 单资产冷却时间 | 180 分钟 | 交易之间保持耐心 |
| DSL 硬性超时 | 240 分钟 | HYPE 盈利交易通常需要 2–4 小时才能发展起来 |
| DSL 第一阶段最大亏损 | ROE 25% | 车队标准底线 |
| DSL 第二阶段第 1 档 | +8% / 锁定 25% | 比车队标准更早触发 |
⛔ Agent 关键规则
- 安装路径是
/data/workspace/skills/wolverine-strategy/ - 扫描器不会退出持仓——所有退出操作均由 DSL 处理
- 最多 1 个持仓——仅限 HYPE
- 未经测试,不要修改扫描器常量——车队范围内的阈值已经过审计调优
- 不要将守护进程的运行间隔调整为短于 3 分钟——对于 HYPE 动量信号,3 分钟是合适的扫描频率
设置
第 1 步 — 安装路径
此技能必须位于 /data/workspace/skills/wolverine-strategy/。软件包包含:
wolverine/
├── README.md # User-facing summary
├── SKILL.md # This file (LLM-facing)
├── runtime.yaml # OpenClaw runtime config + DSL preset
├── config/
│ └── wolverine-config.json # Wallet, strategy ID, chat ID
└── scripts/
├── wolverine-scanner.py # Main scanner (v2.3)
└── wolverine_config.py # Helper module (atomic write, MCP, state I/O)
从 senpi-skills GitHub 仓库拉取:
mkdir -p /data/workspace/skills/wolverine-strategy/{config,scripts,state}
curl -s https://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/wolverine/runtime.yaml \
-o /data/workspace/skills/wolverine-strategy/runtime.yaml
curl -s https://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/wolverine/SKILL.md \
-o /data/workspace/skills/wolverine-strategy/SKILL.md
curl -s https://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/wolverine/config/wolverine-config.json \
-o /data/workspace/skills/wolverine-strategy/config/wolverine-config.json
curl -s https://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/wolverine/scripts/wolverine-scanner.py \
-o /data/workspace/skills/wolverine-strategy/scripts/wolverine-scanner.py
curl -s https://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/wolverine/scripts/wolverine_config.py \
-o /data/workspace/skills/wolverine-strategy/scripts/wolverine_config.py
第 2 步 — 设置钱包和聊天 ID
在 runtime.yaml 中设置策略钱包地址:
sed -i 's/${WALLET_ADDRESS}/<YOUR_STRATEGY_WALLET>/' /data/workspace/skills/wolverine-strategy/runtime.yaml
sed -i 's/${TELEGRAM_CHAT_ID}/<YOUR_TELEGRAM_CHAT_ID>/' /data/workspace/skills/wolverine-strategy/runtime.yaml
或者直接在 config/wolverine-config.json 中设置(如果未设置环境变量/运行时占位符,扫描器会回退使用 JSON 中的值):
{
"strategyId": "your-strategy-id",
"wallet": "0xYourStrategyWallet",
"chatId": "your-telegram-chat-id"
}
扫描器还支持环境变量:WOLVERINE_WALLET 和 WOLVERINE_STRATEGY_ID。
第 3 步 — 在 OpenClaw 中安装运行时
openclaw senpi runtime create --path /data/workspace/skills/wolverine-strategy/runtime.yaml
openclaw senpi runtime list && openclaw senpi status
第 4 步 — 手动扫描一次进行验证
python3 /data/workspace/skills/wolverine-strategy/scripts/wolverine-scanner.py
预期结果:正常退出,JSON 输出包含 "_wolverine_version": "2.3"。首次运行最可能显示心跳(无信号)——这是正常的。Wolverine 会在 HYPE 动量合流信号出现时触发,而这种情况很少见。
第 5 步 — 按周期运行扫描器
推荐的模式是使用分离运行的 bash 循环,LLM 唤醒成本为零(符合 Turbine 模式):
nohup bash -c 'while true; do python3 /data/workspace/skills/wolverine-strategy/scripts/wolverine-scanner.py >> /tmp/wolverine-loop.log 2>&1; sleep 180; done' > /tmp/wolverine-nohup.log 2>&1 &
# Verify the loop is running
ps aux | grep wolverine-scanner | grep -v grep
tail -5 /tmp/wolverine-loop.log
另一种方式:配置 OpenClaw cron,并设置 sessionTarget: isolated。避免使用 sessionTarget: main——当 cron 启动由 LLM 驱动的 Agent 轮次,而不是直接运行生产脚本时,这种模式已知会造成费用激增。
运维说明
查看条目日志
Wolverine 完成首次交易后,你可以查看结构化条目日志,了解确切的评分、原因、杠杆和结果:
tail -10 /data/workspace/skills/wolverine-strategy/state/entry-log.jsonl | jq
即使清除会话,日志也会保留,因此即便执行 openclaw sessions clear --current 后,你仍然可以回答“上一次条目的评分是多少?”
检查震荡行情锁定状态
如果 Wolverine 输出 CHOP_LOCKED 说明,它检测到 HYPE 在 3 小时内出现 2 笔或更多亏损,因此会从最后一笔亏损开始暂停交易 6 小时。要查看何时解除锁定:
grep CHOP_LOCKOUT /data/workspace/skills/wolverine-strategy/state/entry-log.jsonl | tail -1 | jq '.unlock_ts'
这是预期行为,不是错误。Wolverine 正在震荡行情期间保护资金。
验证静息挂单自动取消
Wolverine 会取消超过 10 分钟的过期 FEE_OPTIMIZED_LIMIT maker 订单。如果你在日志中看到 Auto-cancel attempted on stale order ...,说明安全机制正在生效。
适用场景
- 想要专注于单一资产 HYPE 动量的运营者
- 每天进行 2–4 笔交易(而非高频交易)较为合适的交易环境
- 如果没有断路器,一天糟糕的震荡行情就可能造成高昂损失的账户
- 希望 Agent 能够自我管理、无需手动平仓的运营者
不适用场景
- 多资产分散投资(请改用 Phoenix、Condor 或 Polar)
- 高频剥头皮交易
- 希望扫描器自行决定退出时机的人(所有退出均由 DSL 处理)
- XYZ DEX 股票(Wolverine 仅支持 HYPE)
许可证
MIT — 版权所有 2026 Senpi(https://senpi.ai)。