Overview
VWAP Momentum Scalp is a rules-based intraday scalping strategy for crypto perpetual
futures (BTC/USDT, ETH/USDT), designed as a submission for the CWC AI Trading Skill
Challenge. The goal wasn't just to describe a trading idea — it was to specify it
precisely enough that an AI agent could execute every step without ambiguity or
discretionary judgment calls.
What Problem Does This Solve?
Most "trading strategy" writeups describe an idea in prose — "buy the dip when
momentum is strong" — but leave the actual decision boundaries fuzzy: what counts
as a dip, what counts as confirmation, how much to risk, when to stop. That fuzziness
is fine for a human discretionary trader, but it breaks down the moment you want an
AI agent to execute it consistently.
This project reframes a scalping strategy as a full pipeline:
Regime → Signal → Risk → Execution → Exit → Circuit Breaker
Every stage outputs a concrete number or boolean an agent can act on.
How It Works
- 5-minute regime filter — classifies the market as Trend-Up, Trend-Down, or
Range using VWAP position, EMA9/EMA21 alignment, EMA slope, and a volatility floor.
Entries are only considered when a trend regime is confirmed.
- 1-minute entry signal — looks for pullbacks to VWAP/EMA9 within the confirmed
trend, filtered by EMA separation (avoids flat/noisy EMAs), VWAP slope, and an
extension filter that prevents chasing already-extended moves.
- Mechanical confirmation candle — defines exactly what counts as a valid pullback
reclaim: touch, close direction, reclaim of the level, volume threshold, candle-close
position, and a maximum candle range to reject blow-off candles.
- Signal scoring model — every valid setup is scored 0–12 across regime, volume,
candle quality, spread, and funding conditions, instead of relying on an unexplained
"confidence %."
- Risk engine — stop placement beyond both market structure and a minimum ATR
distance, position sizing derived from stop distance, a hard leverage cap, and a
liquidation-distance safeguard.
- Portfolio and session controls — BTC/ETH correlated exposure limits, daily loss
limits, loss-streak cooldowns, and profit-protection rules.
What I Learned Building It
The first draft looked complete but had real gaps once I stress-tested it: a stop-loss
formula that could sit inside the market structure it was meant to protect, a
"confirmation timeframe" that was fetched but never actually used in the logic, and a
confidence score with no formula behind it. Rebuilding it exposed how much of
"strategy design" is really about removing every place a human (or an LLM agent)
could interpret a rule two different ways — closing those gaps is what actually makes
a Skill agent-executable rather than just agent-readable.
Links
- Full strategy spec (
SKILL.md), worked example with complete risk-engine math, and
README are in the GitHub repo linked below.
