viper-strategy
VIPER v2.1 — Range-bound liquidity sniper. Enters at support/resistance when Bollinger Bands are tight, ATR is low, RSI is at extremes within the range, and volume is declining. Works when nothing is trending — the chop predator. USD-weighted OI filtering (min $5M). DSL High Water Mode (mandatory). 5-minute scan interval. Second-best performer in the Senpi zoo at +6.2% ROI.
- License 许可
- MIT
- 最近更新
- 2026-07-02
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- viper-strategy
- license
- MIT
- metadata
- { "author": "jason-goldberg", "version": "2.1", "exchange": "hyperliquid", "platform": "senpi" }
- description
- VIPER v2.1 — Range-bound liquidity sniper. Enters at support/resistance when Bollinger Bands are tight, ATR is low, RSI is at extremes within the range, and volume is declining. Works when nothing is trending — the chop predator. USD-weighted OI filtering (min $5M). DSL High Water Mode (mandatory). 5-minute scan interval. Second-best performer in the Senpi zoo at +6.2% ROI.
02 资源文件 4
- 参考文档config/viper-config.json2.0 KB
- 参考文档README.md1.8 KB
- 脚本scripts/viper_config.py6.4 KB
- 脚本scripts/viper-scanner.py8.3 KB
03 SKILL.md 正文
VIPER v2.1 — Range-Bound Liquidity Sniper
The chop predator. When every momentum strategy is sitting idle because nothing is trending, VIPER is working.
+6.2% ROI and climbing. Second-best performer on the Senpi Predators tracker.
What VIPER Does
VIPER scans the top 25 assets by USD-weighted open interest every 5 minutes. It looks for assets stuck in a range — price bouncing between support and resistance — and enters at the boundaries:
- Long at support when price is at the bottom of a tight Bollinger Band range, RSI is oversold, and volume is declining (sellers exhausting)
- Short at resistance when price is at the top of a tight range, RSI is overbought, and volume is declining (buyers exhausting)
The edge: range-bound markets are predictable. Support holds, resistance holds, and the bounce is mechanical. VIPER catches that bounce.
MANDATORY: DSL High Water Mode
VIPER MUST use DSL High Water Mode. This is not optional.
Spec: https://github.com/Senpi-ai/senpi-skills/blob/main/dsl-dynamic-stop-loss/dsl-high-water-spec 1.0.md
When creating DSL state files for any VIPER position, you MUST include:
{
"lockMode": "pct_of_high_water",
"phase2TriggerRoe": 5,
"tiers": [
{"triggerPct": 5, "lockHwPct": 30, "consecutiveBreachesRequired": 3},
{"triggerPct": 10, "lockHwPct": 50, "consecutiveBreachesRequired": 2},
{"triggerPct": 15, "lockHwPct": 70, "consecutiveBreachesRequired": 2},
{"triggerPct": 20, "lockHwPct": 85, "consecutiveBreachesRequired": 1}
]
}
If tiers or lockMode is missing from the state file, the DSL engine falls back to flat 1.5% retrace and High Water Mode is silently disabled. Always verify the state file contains these fields after creation.
FALLBACK (until DSL engine supports pct_of_high_water): Use tiersLegacyFallback from config.
Entry Requirements
| Signal | Requirement |
|---|---|
| Bollinger Band width | < 4% (tight range) |
| ATR | < 1.5% (low volatility) |
| RSI | Oversold (< 35) for longs, overbought (> 65) for shorts |
| Volume | Declining (sellers/buyers exhausting) |
| OI (USD-weighted) | ≥ $5M (liquid enough to trade) |
| Min score | 5 |
All filters must pass. If any fails, skip. VIPER is selective — most scans produce zero signals.
DSL Configuration
Phase 1 — Structural Invalidation Only
| Setting | Value |
|---|---|
| Hard timeout | Disabled (0) |
| Weak peak cut | Disabled (0) |
| Dead weight | Disabled (0) |
| Floor base | 1.5% notional |
No time exits. If the range breaks, the floor catches it. If the range holds, patience wins.
Phase 2 — High Water Mode
| Tier | Trigger ROE | Lock (% of HW) | Breaches |
|---|---|---|---|
| 1 | 5% | 30% | 3 |
| 2 | 10% | 50% | 2 |
| 3 | 15% | 70% | 2 |
| 4 | 20%+ | 85% | 1 (infinite trail) |
Phase 2 triggers at +5% ROE (lower than momentum skills — range profits are smaller, start protecting earlier).
Stagnation TP
5% ROE stale for 30 minutes → close. Range bounces play out quickly. If the profit stalls, take it.
Margin & Position Sizing
| Setting | Value |
|---|---|
| Margin per trade | 28% of account |
| Max positions | 3 |
| Leverage | Default 10x |
3 slots × 28% = 84% utilization. VIPER deploys capital aggressively because range entries have higher win rates.
Risk Management
| Rule | Value |
|---|---|
| Max entries/day | 8 |
| Daily loss limit | 8% |
| Max drawdown | 18% |
| Max single loss | 5% of account |
| Max consecutive losses | 4 → 20 min cooldown |
Cron Architecture
| Cron | Interval | Session | Purpose |
|---|---|---|---|
| Scanner | 5 min | isolated | Range detection + entry signals |
| DSL v5 | 3 min | isolated | High Water Mode trailing stops |
Both MUST be isolated sessions with agentTurn. Use NO_REPLY for idle cycles.
Notification Policy
ONLY alert: Position OPENED (asset, direction, support/resistance level, score), position CLOSED (DSL or structural exit), risk triggered, critical error.
NEVER alert: Scanner found nothing, DSL routine, any reasoning.
All crons isolated. NO_REPLY for idle cycles.
Bootstrap Gate
On EVERY session, check config/bootstrap-complete.json. If missing:
- Verify Senpi MCP
- Create scanner cron (5 min, isolated) and DSL cron (3 min, isolated)
- Write
config/bootstrap-complete.json - Send: "? VIPER is online. Scanning for range-bound setups. Silence = nothing is ranging."
Optional: Trading Strategy Variant
VIPER is proven at +6.2% ROI as-is. One variant is available:
| Strategy | What Changes | When To Consider |
|---|---|---|
| MAMBA | VIPER entries + High Water Mode with wider tiers | When you want to capture range breakouts that escape into trends |
Start with vanilla VIPER. MAMBA is the upgrade path for capturing more from breakout trades.
Expected Behavior
| Metric | Expected |
|---|---|
| Trades/day | 3-8 |
| Win rate | ~60-65% (range entries are predictable) |
| Avg winner | 5-15% ROE |
| Avg loser | -8 to -12% ROE |
| Fee drag/day | $8-20 |
| Profit factor | Target 1.2-1.5 |
Files
| File | Purpose |
|---|---|
scripts/viper-scanner.py |
Range detection + entry signals |
scripts/viper_config.py |
Shared config, MCP helpers, state I/O |
config/viper-config.json |
All configurable variables with DSL High Water tiers + legacy fallback |
| DSL v5 (shared) | Trailing stop engine — MUST be configured with High Water Mode |
License
MIT — Built by Senpi (https://senpi.ai). Source: https://github.com/Senpi-ai/senpi-skills
04 同仓库更多 Skills
supermemory
Supermemory is a state-of-the-art memory and context infrastructure for AI agents. Use this skill when building applications that need persistent memory, user personalization, long-term context retention, or semantic search across knowledge bases. It provides Memory API for learned user context, User Profiles for static/dynamic facts, and RAG for semantic search. Perfect for chatbots, assistants, and knowledge-intensive applications.
wolverine-strategy
WOLVERINE v2.0 — HYPE alpha hunter. Entry-only scanner, DSL-exit-only architecture. v1.1 lost -22.7% because the scanner's thesis exit chopped 25/27 trades before DSL could manage them. v2.0 removes thesis exit entirely. Scanner decides entries (score 8+, 4H/1H aligned, SM consensus). DSL manages all exits (wide Phase 1 for HYPE volatility, trailing tiers starting at +15% ROE). Leverage lowered to 7x. Max 4 entries/day. 3-hour cooldown between entries. DSL exit managed by plugin runtime via runtime.yaml.
wolf-strategy
WOLF v6.3 — Fully autonomous multi-strategy trading for Hyperliquid perps via Senpi MCP. Manages multiple strategies simultaneously, each with independent wallets, budgets, slots, and DSL configs. 5+N cron architecture: 5 shared wolf crons (Emerging Movers 3min, SM Flip 5min, Watchdog 5min, Risk Guardian 5min, Health Check 10min) plus one DSL v5.2 cron per strategy (native Hyperliquid SL sync via dsl-dynamic-stop-loss skill v5.3.1). Same asset can be traded in different strategies simultaneously. Enter early on first jumps, not at confirmed peaks. Dynamic risk-based leverage per strategy. Requires Senpi MCP connection, python3, mcporter CLI, OpenClaw cron system, and dsl-dynamic-stop-loss skill (provides dsl-cli.py + dsl-v5.py).
wolf-howl
HOWL v2 — Hunt, Optimize, Win, Learn. Nightly self-improvement loop for the WOLF autonomous trading strategy. Runs once per day (via cron) to review all trades from the last 24 hours, compute win rates, analyze signal quality correlation, evaluate DSL tier performance, identify missed opportunities, and produce concrete improvement suggestions for the wolf-strategy skill. v2 adds fee drag ratio (FDR) analysis, holding period bucketing, LONG vs SHORT regime detection, rotation cost tracking, cumulative drift detection, and gross vs net profit factor separation. Use when setting up daily trade review automation, analyzing trading performance, or improving an autonomous trading strategy through data-driven feedback loops. Requires Senpi MCP connection, mcporter CLI, and OpenClaw cron system.
whale-index
Auto-mirror top Discovery traders on Hyperliquid. Scans top 50 traders, scores on PnL rank (35%), win rate (25%), consistency (20%), hold time (10%), drawdown (10%). Creates 2-5 mirror strategies with overlap checks. Daily rebalance with 2-day watch period before swaps. Use when setting up trader mirroring, copy trading, or portfolio auto-rebalancing based on Discovery leaderboard performance.
vixen-strategy
VIXEN v1.0 — Dual-mode emerging movers scanner. Built from FOX v1.6 live trading data (+34.5% ROI). Two entry modes: STALKER (steady accumulation, score 6+, catches the SM buildup BEFORE the explosion) and STRIKER (violent FIRST_JUMP, score 9+, with raw volume confirmation to filter blow-off tops). 2-hour per-asset cooldown after Phase 1 exits. DSL High Water Mode mandatory.