Case study · prop-firm Expert Advisor · FTMO edition · MT4

AuricFlow EA: 72 backtests, limits proven by forcing them to fire

A gold Expert Advisor with an FTMO challenge guard, validated across 72 headless backtests on real tick-built data, including deliberate breach tests that prove the safety limits actually fire.

XAUUSD · M1 chart, H1 signals · $10,000 start · 25-point pinned spread · Dukascopy 1-minute data, 187,020 bars · every-tick model

Rolling 14-day windows passed8 of 11
Breaches across 72 runs0
Profit factor, 6 months2.26
Max drawdown, 6 months4.37%
Profit change at +40% spread+$0.13

Final profile, MT4 Strategy Tester

The brief

Build a gold (XAUUSD) Expert Advisor capable of running an FTMO challenge, 5% profit target, 5% max daily loss, 10% max total loss, minimum two trading days, and then prove it rather than assert it.

Proving it turned out to be most of the work. A strategy that merely looks profitable is useless if the risk limits are untested, because the first breach ends the account permanently.

Where the design started: a losing live account

The rework began from a real demo statement of the earlier build: 2,026 trades, 62% winners, and yet a profit factor of 0.90. The average loss (about $7.26) was nearly twice the average win (about $3.97). A high hit rate was hiding a broken reward-to-risk ratio.

That single finding drove the redesign: a shallower grid, a hard money stop per basket, a depth-decaying take-profit, a longer trailing exit and an adverse-trend gate on averaging. The improvement came from a documented failure with measurable before-and-after numbers, not from curve-fitting a parameter sweep.

How the strategy works

It runs on an M1 chart, but every signal is computed on H1; M1 exists only for responsive trade management. SuperTrend is calculated internally, so there is no external indicator dependency and no missing-indicator failure mode on a client's terminal.

  • Entry gates, all of which must pass: no basket open, a valid H1 ATR, H1 SuperTrend direction confirmed for several consecutive bars, an EMA(200) trend filter, and an optional ADX strength filter.
  • Grid capped at three orders with ATR-progressive spacing and an adverse-trend gate: an add is refused unless the confirmed H1 SuperTrend bar still agrees with the basket direction. If the trend has flipped, the position takes its stop instead of doubling down.
  • Flat lot progression, not martingale. All levels are the same size, solved backwards from the worst case so that the whole basket hitting its stop equals the configured risk percentage.
  • A take-profit that shrinks as the basket deepens, so an averaged position exits near weighted breakeven instead of waiting for a full retracement, plus a trailing exit on basket profit, an H1 reversal exit and a Friday flat close.

The FTMO guard

All floors are taken at a buffer before the real line, so a spread spike or slippage cannot turn a guard trigger into an actual breach. FTMO measures the daily limit from balance at midnight Central European time, so the guard derives CE(S)T from GMT with a hand-rolled EU daylight-saving calculation and re-anchors on balance at each new CE(S)T day, not on equity and not on the broker's server day.

StageBehaviour
Soft stop (60% of daily budget)Blocks new baskets; an existing basket may still manage itself out.
Daily hard stop (80%)Closes everything, halts until the next CE(S)T day.
Total-loss floor (80% of total budget)Closes everything and latches a permanent halt.
Profit-target lockCloses at target plus a buffer, then verifies the closed balance before declaring a pass, because the firm scores realised balance.
Pre-trade worst-case wallBefore every order, projects the worst-case basket loss with a 30% overshoot margin and refuses the trade if it would pierce either floor.

Verified results

Method: XAUUSD M1, real Dukascopy 1-minute data from December 2025 to June 2026 (187,020 bars), every-tick model, spread pinned at 25 points, $10,000 deposit. Six risk profiles, each run through 11 rolling 14-day windows plus one 6-month run: 72 backtests. All limits are percentages of the initial balance, so the figures scale to a $100,000 account.

ProfileRisk / basket stopWindows passedBreaches6-month net6-month max DD
v1 baseline2% / 1.5%0 of 110+$178.207.08%
v2 push4% / 2.0%2 of 110-$575.277.33%
v3 fast6% / 2.0%4 of 110-$575.4710.88%
v4 max (final)8% / 2.5%8 of 110+$650.994.37%
v5 refine8% / 2.0%5 of 110+$650.684.84%
v4 at 35-point spread8% / 2.5%8 of 110+$651.124.38%

Two of the six profiles lost money over six months and the table keeps them. Final profile detail: profit factor 2.26, expected payoff 93.00, 7 trades, 5 winners, median 2.6 days to reach target. The three non-passing windows ended between -5% and -6% equity with the pre-trade wall blocking further risk, so the trial would simply expire un-passed, never breached.

Robustness and guard proof

The entire 12-run battery was repeated with the spread widened 40%, from 25 to 35 points. The same 8 of 11 windows passed, no run breached, and six-month net profit moved by $0.13. One window actually improved.

The limits were then proven by forcing them to fire: three dedicated runs configured deliberately tiny limits so every safety path had to trigger. The daily hard stop closed all at 80% of the budget and halted until the next CE(S)T day; the total-loss floor closed all and latched after a single trade; the profit-target lock closed at target, declared the pass and opened a token trade to satisfy the two-day minimum; and with limits smaller than one basket's worst case, the pre-trade wall refused 100% of entries.

Caveats, stated plainly

  • Six months of data is a short sample; the rolling-window pass rate is a fraction, not a promise.
  • Every-tick backtests on tick-built M1 data still differ from a live feed in execution and spread behaviour.
  • The v2 and v3 profiles show that pushing risk for speed cost money over the same period. Faster is not better.

The MT5 FTMO edition, on FTMO's own feed

The report shown on the home page is the MetaTrader 5 FTMO edition of the same engine, tested on the FTMO demo feed: XAUUSD M1, 1 January to 13 August 2026, $100,000 2-Step Phase 1 account, every tick based on real ticks, 100% history quality. Net result +$10,009.96 (+10.0%, the Phase 1 target), profit factor 1.41, maximal balance drawdown 3.74%, 76 trades. Same period on the choppy 2025 second half: the engine draws down instead of reaching target, which the FTMO edition README says in the same words. Historical tests, not predictions.

Historical backtest. Not a prediction of future results. Figures are transcribed from the Strategy Tester reports named in the text; nothing is estimated.

Want your EA validated the same way?

Backtesting and optimization with reports that can come back negative starts at $85 on Upwork. Rolling windows, pinned spreads, forced-limit tests.