A fully automated pipeline with seven independent validation stages. Each stage has fixed, non-negotiable thresholds.
6-Stage Pipeline
Every day, AI agents scan more than 1,000 sources — quantitative finance papers, GitHub repositories, trading blogs, academic journals, and community forums — in search of actionable strategy logic.
Each candidate strategy is analysed by LLMs to extract entry/exit rules, risk parameters, and the underlying market hypothesis. A confidence score is computed; only strategies scoring 65 or above advance to code generation.
seen_urls + semantic hash)
Strategies passing the research gate are converted into production-ready MQL5 Expert Advisor code and a companion Python implementation, both generated by a code-specialised LLM from the structured strategy JSON.
Before any file is saved, an automated security audit scans it for dangerous patterns: hardcoded credentials, unrestricted position sizing, missing error handling, memory leaks. Only files scoring 8.0 out of 10 or higher pass.
.mq5 + .py stored in S3 with versioning
audit_failed + Slack alert
The Python implementation is executed on an on-demand Linux VPS using VectorBT or Backtrader. This stage is deliberately fast and inexpensive — its job is to eliminate the bulk of underperforming strategies before they reach the more resource-intensive MT5 tester.
Testing uses several years of OHLCV data at the strategy's native timeframe. Results are evaluated against fixed thresholds. The VPS is terminated immediately after the test run to minimise cost.
Strategies surviving the Python backtest gate are compiled and run in MetaTrader 5's Strategy Tester using every-tick simulation on real historical tick data. This is the most demanding gate — it accounts for spreads, slippage, commission, and swap as they actually occurred on a live broker feed.
The test runs on an on-demand Windows VPS (Contabo) which is booted before the run and shut down immediately after. All results are uploaded to Notion and S3 for archival.
Strategies passing the MT5 tester gate are deployed on a live MetaTrader 5 demo account and allowed to trade for a minimum of 30 calendar days. This forward test uses real-time market prices, actual broker spreads, and realistic slippage — conditions that no historical simulation can fully replicate.
Paper trading monitors the EA in real time. Any breach of the drawdown ceiling or profit factor floor during this period results in immediate rejection, regardless of earlier results.
Only strategies that survive all five preceding stages — research scoring, security audit, Python backtest, MT5 Strategy Tester, and 30-day paper trading — are published in the QIS shop.
Every published EA comes with its complete validation report: all quality gate results, test parameters, historical performance charts, and a clear statement of which metrics come from simulation versus forward testing.
Summary
All thresholds are fixed and applied automatically. No human override. No exceptions.
| Gate | Stage | Threshold | Action on Failure |
|---|---|---|---|
| Research Confidence Score | 01 — AI Research | ≥ 65 / 100 | REJECTED — strategy archived, status rejected |
| EA Generator Trigger | 01 → 02 Transition | ≥ 65 / 100 | Score 60–64 → archived only, no code generated |
| Security Audit Score | 02 — Code Generation | ≥ 8.0 / 10 | REJECTED — code blocked, Slack alert, status audit_failed |
| Python Sharpe Ratio | 03 — Python Backtest | ≥ 1.0 | REJECTED — status rejected |
| Python Win Rate | 03 — Python Backtest | ≥ 50% | REJECTED — status rejected |
| MT5 Win Rate | 04 — MT5 Tester | ≥ 55% | REJECTED — status rejected |
| MT5 Maximum Drawdown | 04 — MT5 Tester | ≤ 20% | REJECTED — status rejected |
| MT5 Profit Factor | 04 — MT5 Tester | ≥ 1.2 | REJECTED — status rejected |
| Paper Trading Duration | 05 — Paper Trading | ≥ 30 days | Insufficient data — test continues until threshold met |
| Paper Trading Profit Factor | 05 — Paper Trading | ≥ 1.2 | REJECTED — blocked before live publication |
Every EA in our shop has cleared all 7 quality gates. Browse by style, pair, or performance metrics.
Risk Disclosure: Passing all quality gates does not guarantee future profitability. Historical backtesting — including every-tick MT5 simulations — relies on past market data that may not reflect future conditions. Spreads, liquidity, and market structure change over time. Paper trading on a demo account does not carry the psychological or execution pressures of live trading. Always test any automated system on a demo account before committing real capital. Read our full Risk Disclosure before making any purchase.