mcpField
V
vixen-strategy

vixen-strategy

github.com/senpi-aiOther14037 installsUpdated today
Repository

About vixen-strategy

vixen-strategy is a trading strategy skill for finding emerging market movers through two entry modes: sustained rank climbs and sharp breakouts. It combines trend and volume gates with cooldowns and high-water exit rules.

Key features

  1. 01Stalker mode for sustained rank climbs
  2. 02Striker mode for sudden rank jumps
  3. 03Trend alignment and volume gates
  4. 04Per-asset cooldown after exits
  5. 05High Water Mode trailing stops

Use cases

  1. 01Detect early accumulation before a sharp move
  2. 02Filter breakout entries with volume confirmation
  3. 03Manage exits with score-based trailing rules

MCP support

The skill describes verifying Senpi MCP during bootstrap and uses Senpi MCP helpers in its configuration. It does not specify MCP tools or resources exposed to clients.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/senpi-ai/senpi-skills --skill vixen-strategy

After installing, type/vixen-strategyin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

README.md
runtime.yaml
config/
vixen-config.json
references/
skill-attribution.md
scripts/
vixen-scanner.py
vixen_config.py

Details

From the project README

🦊 VIXEN v1.0 — Dual-Mode Emerging Movers

Two ways to catch smart money. Enter before the crowd, or ride the explosion — but never buy a blow-off top.

Why VIXEN Exists

FOX v1.6 returned +34.5% in 4 days. The post-mortem revealed a critical insight: the two biggest winners (ZEC +$129, SILVER +$128) were caught at score 5-7 by the early v0.1 scanner, and would have been rejected by the later v7.2 "Feral Gauntlet" (score >= 9, FIRST_JUMP required, velocity >15 required).

The Feral Gauntlet accidentally optimized for violent spikes only — which are sometimes real breakouts (FARTCOIN +$111, ENA +$72) and sometimes blow-off tops (PUMP $0, XPL $0). It filtered out the most profitable signal type: steady SM accumulation before the explosion.

VIXEN solves this with two entry modes that each capture a distinct alpha pattern.

Dual-Mode Entry Architecture

MODE A — STALKER (the ZEC/SILVER pattern)

What it detects: Steady, sustained SM rank climbing over 3+ consecutive scans (9+ minutes). SM is quietly building positions. Price hasn't exploded yet. You enter BEFORE the crowd.

Gates:

  • Asset must show rank improvement over 3+ consecutive scans
  • Total climb >= 5 ranks across those scans
  • Each scan shows continued climbing (no stalls or reversals)
  • SM contribution must be building (each scan >= previous)
  • 4H trend alignment required
  • Destination ceiling: reject if already in Top 10
  • Rank history must not be erratic
  • Score >= 6

Scoring:

SignalPoints
STALKER_CLIMB (sustained climbing)3
CONTRIB_ACCEL (contribution velocity > 0.1%/scan)2
CONTRIB_POSITIVE (velocity > 0)1
SM_ACTIVE (10+ traders)1
DEEP_START (started from #30+)1
Time-of-day (04-14 UTC bonus)+1
Time-of-day (18-02 UTC penalty)-2
MODE B — STRIKER (the FARTCOIN/ENA pattern)

What it detects: Violent FIRST_JUMP — 15+ rank spike in a single scan from outside Top 25. The explosion is happening NOW. Requires raw volume confirmation.

Gates (Fox v7.2 Feral Gauntlet, plus volume):

  • FIRST_JUMP or IMMEDIATE_MOVER (10+ rank jump from #25+)
  • Explosive threshold: rank jump >= 15 OR velocity > 15
  • Velocity floor: > 10 (relaxed to > 0 for FIRST_JUMP)
  • 4H trend alignment required
  • Destination ceiling: reject if in Top 10
  • Minimum 4 distinct reasons
  • NEW: Raw volume confirmation (1h volume >= 1.5x of 6h average)
  • Score >= 9

Scoring:

SignalPoints
FIRST_JUMP3
IMMEDIATE_MOVER2
CONTRIB_EXPLOSION (3x+)2
HIGH_VELOCITY (>10)2
DEEP_CLIMBER1
Multi-scan climb bonus1
Time-of-day modifier-2 to +1
Priority Rules

When both modes fire on the same asset, STRIKER takes priority (stronger immediate signal). Signals are combined and sorted by score. The execution agent picks the best available signal with an open slot.

2-Hour Per-Asset Cooldown

The PAXG lesson: FOX entered PAXG, got chopped out by Phase 1, then immediately re-entered on a high score flash — and lost again. The conditions that killed the first entry were still present.

VIXEN enforces a 120-minute cooldown per asset after any Phase 1 exit (dead weight, timeout, or absolute floor). Other assets are unaffected. After 120 minutes, if the asset passes the full gauntlet again, it's a valid fresh entry.

Shared Gates (Both Modes)

  • 4H trend alignment: Never trade against the macro. LONG requires green 4H, SHORT requires red 4H.
  • Destination ceiling: Reject if asset lands in Top 10 (move is already over).
  • Time-of-day modifier: +1 for 04-14 UTC (optimal window), -2 for 18-02 UTC (chop zone).
  • Max 3 simultaneous positions
  • Per-asset cooldown: 2 hours after Phase 1 exit

MANDATORY: DSL High Water Mode

VIXEN 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%201.0.md

Phase 1 (Conviction-Scaled)
ScoreAbsolute FloorHard TimeoutWeak PeakDead Weight
6-7 (Stalker)-20% ROE30 min15 min10 min
8-9-25% ROE45 min20 min15 min
10+ (Striker)-30% ROE60 min30 min20 min
Phase 2 (High Water Trailing)
TierTrigger ROELock % of HWBreaches
15%20%2
210%40%2
320%55%2
430%70%1
550%80%1
675%85%1
7100%+90%1

Risk Management

RuleValue
Max positions3
Max entries/day3 base, up to 6 on profitable days
Absolute floor2% notional (~20% ROE at 10x)
Drawdown halt25% from peak
Daily loss limit10%
Cooldown30 min after 3 consecutive losses
Per-asset cooldown120 min after Phase 1 exit
Stagnation TP10% ROE stale for 45 min

Cron Architecture

CronIntervalSessionPurpose
Scanner90smainDual-mode emerging movers detection
DSL v53 minisolatedHigh Water Mode trailing stops

Notification Policy

ONLY alert: Position OPENED (mode, asset, direction, score, reasons), position CLOSED (DSL or Phase 1 with reason), risk guardian triggered, critical error.

NEVER alert: Scanner ran with no signals, signals filtered out, DSL routine check, any reasoning.

Bootstrap Gate

On EVERY session, check config/bootstrap-complete.json. If missing:

  1. Verify Senpi MCP
  2. Create scanner cron (90s, main) and DSL cron (3 min, isolated)
  3. Write config/bootstrap-complete.json
  4. Send: "🦊 VIXEN v1.0 is online. Dual-mode scanner active — stalking accumulators and striking breakouts. Silence = no conviction."

Expected Behavior

MetricExpected
Trades/day3-8 (Stalker catches more setups than Striker alone)
Stalker trades2-5/day (steady climbers are more common than explosions)
Striker trades1-3/day (violent breakouts are rare by design)
Win rate~50-60% (Stalker entries have better R:R from earlier positioning)
Avg Stalker winner40-130%+ ROE (entered early, DSL trails the entire move)
Avg Striker winner20-60%+ ROE (entered at breakout, less room to trail)
Avg loser-15 to -25% ROE (Phase 1 cuts fast)

Files

FilePurpose
scripts/vixen-scanner.pyDual-mode scanner (Stalker + Striker)
scripts/vixen_config.pyShared config, MCP helpers, state I/O, cooldown tracking
config/vixen-config.jsonAll configurable variables with DSL tiers

License

MIT — Built by Senpi (https://senpi.ai). Source: https://github.com/Senpi-ai/senpi-skills


Skill Attribution

When creating a strategy, include skill_name and skill_version in the call. See references/skill-attribution.md for details.

Comments

Markdown supported