From sentence to signed-off spec, in four steps.
Plain English. Symbol, session, risk, RR, news rules — say what you want.
- Voice or text
- Reference past strategies
- Template starters
Quant-AI breaks the prompt into observable rules: indicators, patterns, sessions, exits, risk.
- Looks up live news calendar
- Picks timeframes by liquidity
- Quotes broker hours and gaps
A versioned StrategySpec v2 emits — JSON, schema-validated, tolerant of edge cases.
- Zod runtime validation
- Aliases for AI quirks
- Method-agnostic (FVG, BOS, EMA, ATR, etc.)
A 6-month backtest fires automatically. Replay arrives with KPIs, drawdown, and TP/SL ribbons.
- No code path branches
- Same engine as live
- Margin-aware lot sizing
Self-describing. Audit-friendly. Versioned.
A StrategySpec is a single JSON object — every entry rule, exit rule, session, news guard, and risk cap is declarative.
One file. Every rule.
No black-boxes.
- IndicatorsEMA, SMA, RSI, ATR, MACD, Bollinger, ADX, Stochastic, VWAP — composable per timeframe.
- PatternsFVG, OB-reclaim, BOS, CHoCH, liquidity sweep, breakout, retest, engulfing, pin-bar, inside-bar.
- Logic operatorsall/any/not nesting. Cross-timeframe. Cross-symbol. Cross-session.
- Exits & riskATR / pip / RR / swing stops. Breakeven (R or pips). ATR trailing. Margin-aware sizing.
- Sessions & newsIANA sessions, per-DOW, ForexFactory feed, regex kill-switches.
{
"version": 2,
"name": "NAS100 EA v9 PA",
"symbol": "NAS100",
"entryTimeframe": "1m",
"entryFill": "fvg_edge",
"minFvgPips": 4,
"entryLong": {
"all": [
{ "htfTrend": { "tf": "5m",
"direction": "up",
"method": "ema_fast_gt_slow",
"fast": 20, "slow": 50 } },
{ "pattern": { "kind": "bullish_fvg", "tf": "1m" } },
{ "levelBreak": { "tf": "1m",
"kind": "swing_high",
"lookback": 20 } }
]
},
"exit": {
"stopLoss": { "kind": "pips", "pips": 20 },
"takeProfit": { "kind": "rr", "ratio": 1.2 }
},
"risk": {
"perTradePct": 1,
"leverage": 50,
"dailyDDStopPct": 5,
"stopOnConsecutiveLosses": 3
},
"sessions": [
{ "name": "NY-AM",
"startUTC": "13:30",
"endUTC": "15:30" }
],
"news": { "impact": ["high"], "avoidMinBefore": 15 }
}Twelve concept families. Hundreds of permutations.
FVG-edge entries, BOS / CHoCH structure, OB reclaims, liquidity sweeps, retests.
EMA stacks, RSI divergence, ATR breakouts, Bollinger squeezes, MACD crosses.
Higher-timeframe trend filters with lower-timeframe entries — automatic.
London / NY / Asia / overlap windows. Per-DOW. Per-DST behaviour.
Daily DD, max DD, per-trade %, consecutive-loss skip-day, leverage cap.
ForexFactory red/medium/low folders, per-currency, regex kill-switches.
"Hedge XAU with DXY". The composer wires the relationship into one spec.
Every edit is a new spec version. Diff. Roll back. A/B side-by-side.
When a prompt would fail (e.g. zero candles), the AI tells you why before running.
Type, talk, or template.
Your prompt, your words. The composer handles ambiguity by asking back.
Hold the mic key and speak. Useful from the chart screen.
Cloneable starter prompts for ICT, SMC, ORB, NY-open scalps, news fades.
Validated before it ever runs.
Every spec passes through a Zod-typed schema. Anything the AI invents that the engine doesn't understand becomes a no-op (silent), never a crash.
Field types, value ranges, enum membership — all enforced server-side.
AI synonyms (e.g. ema_fast_lt_slow ↔ ema_fast_gt_slow + direction) normalised.
Patterns the engine doesn't recognise return false for that clause — strategy still runs.
Stops within tick-size, RR > 0, leverage ≤ broker max, sessions within trading hours.
Questions traders ask before trusting an AI composer.
Stop writing strategies in Pine.
Compose them in English. Audit the spec. Backtest before you deploy.
Join the waitlist