mcpField
W
wolverine-strategy

wolverine-strategy

github.com/senpi-ai其他14041 次安装今天更新
代码仓库

关于 wolverine-strategy

wolverine-strategy 是 Senpi 的交易技能,专注于 Hyperliquid 上的 HYPE,并将入场验证与耐心持仓的趋势跟随退出机制结合。其生产器发送信号,运行时和 DSL 负责执行与仓位管理。

主要功能

  1. 01专注 HYPE 的信号扫描
  2. 02多因素入场验证
  3. 03按信念等级配置杠杆
  4. 04近期信号去重
  5. 05运行时风险护栏
  6. 06DSL 管理退出

适用场景

  1. 01评估 HYPE 趋势入场机会
  2. 02在静默时段或冷却期限制入场
  3. 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.md
runtime.yaml
config/
wolverine-config.json
references/
skill-attribution.md
scripts/
wolverine_config.py
wolverine-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_day4 → 2
runtime.yaml risk.guard_rails.per_asset_cooldown_minutes120 → 240
runtime.yaml exit.interval_seconds30 → 60(缓解 REDUCE_ONLY 垃圾请求)
runtime.yaml exit.dsl_preset.phase2.tiers采用宽松的 Bison 阶梯(T0 锁定值 0 至 T5 锁定值 85)
config/wolverine-config.json minScore9 → 10
scripts/wolverine-producer.py + wolverine_config.pyrecent-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 单资产论点
  • 六道入场验证门槛:
    1. 4h 趋势 != NEUTRAL
    2. 4h 结构强度 ≥ 0.75
    3. 1h 方向与 4h 一致
    4. 15m 动量在目标方向上 ≥ MIN_MOM_15M (0.15)
    5. 基础技术指标底线(strong_15m OR aligned_5m)
    6. 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_position
  • close_position
  • edit_position
  • ratchet_stop_add / ratchet_stop_edit / ratchet_stop_delete
  • cancel_order
  • strategy_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 = 3
  • CHOP_MAX_LOSSES = 2
  • CHOP_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 关键规则

  1. 安装路径是 /data/workspace/skills/wolverine-strategy/
  2. 扫描器不会退出持仓——所有退出操作均由 DSL 处理
  3. 最多 1 个持仓——仅限 HYPE
  4. 未经测试,不要修改扫描器常量——车队范围内的阈值已经过审计调优
  5. 不要将守护进程的运行间隔调整为短于 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)。

评论

支持 Markdown