The Rack Trading Co. — Field Notes

What Makes an EA "Best" for an FTMO Challenge? (It's Not the Return)

Search "best EA for FTMO challenge" and you'll get a wall of screenshots promising 30% in a week. Here's the problem with all of them: passing a prop-firm challenge isn't a profit problem. It's a risk problem. The firm isn't testing whether you can make money — it's testing whether you can make money without blowing their rules. That distinction is the whole game, and it's exactly where most EAs fail.

So instead of asking "which EA makes the most," ask the question the challenge actually scores you on.

The challenge is a risk test wearing a profit target

A typical FTMO-style 2-step challenge has three numbers that matter:

Hit the profit target without ever tripping the two loss limits, and you pass. The catch: most high-return EAs hit the target by taking the kind of risk that trips the limits. Martingales that double down. Grids that stack exposure. Strategies that look incredible right up until the day they don't. They're optimized for the screenshot, not for surviving the rulebook.

The EA that's genuinely "best" for a challenge is the boring one — the one engineered around the loss limits first and the target second.

What to actually look for in a challenge EA

Five things separate a challenge-fit EA from a liability:

  1. A hard daily-loss halt. Not a suggestion — a coded stop that flattens and goes quiet before you breach the daily limit.
  2. A max-drawdown halt. The same discipline applied to the account-level rule.
  3. Per-instrument exposure caps. So three correlated trades can't quietly become one giant trade.
  4. Session filtering. Avoiding the thin, gappy hours where slippage eats stops.
  5. Selectivity. Fewer, higher-quality trades mean fewer chances to break a rule.

Notice what's not on that list: a big monthly return. Return is an output. Risk control is the input that lets you keep it.

How zEAge was built — including the version that didn't work

We built zEAge in public, which means the early mistakes are on record too. The edge is called VZD (Volatility-normalized Zone Displacement) — a measure of how far price has moved from a high-conviction supply or demand zone, normalized by ATR. Validated across five years of live tick data on nine FX pairs, no lookahead. More on that below.

The EA went through real growing pains before it worked. Here's the honest arc:

Early build · Jun 1
−$136 · 50%
4 trades. Stop-losses weren't attaching on JPY pairs. One USDCHF trade hit −$990 with no protection. Bug, not strategy.
Fixed · Jun 3–17
+$4,319 · 72.2%
18 trades on a live FTMO $100k challenge. SL/TP attach fix shipped. Every trade protected. Full breakdown below.
v1.46 · Live now
+$502 · 100%
2 trades on a new FTMO challenge (acct 1600153545). Added time-exit so flat trades close automatically. Still running.

The −$136 early result is important context. That wasn't a bad strategy day — it was a software bug. The EA was placing trades on JPY pairs without stop-losses attached, which violated prop-firm rules and exposed the account to uncontrolled loss. We found it, fixed it in v1.45, and the next 18 trades looked like what you're about to see below. We're telling you this because any EA that only shows you the good runs is hiding something.

The FTMO challenge breakdown — every trade

Live FTMO $100,000 "Swing" 2-Step challenge, free-trial track, account 1600141831, June 3–17, 2026. These are the raw MT5 journal entries — not filtered, not cherry-picked. The EA uses a 50/25/25 scale-out, so some rows reflect partial closes on the same position.

+$4,283Net P&L
72.22%Win Rate
18Trades
$407Avg Win
$201Avg Loss
5.25Profit Factor
2.02Avg RRR
−0.6%Worst Day (limit −5%)
FTMO account equity curve — $100,000 growing to $104,283.68 over 14 days, never touching the max daily loss line
DatePairP&LHold Time
Jun 03EUR/JPY+$1,022.9246h 41mWIN
Jun 03USD/JPY+$361.1720h 02mWIN
Jun 03USD/JPY+$501.760h 33mWIN
Jun 03EUR/JPY+$478.350h 01mWIN
Jun 03USD/JPY+$516.150h 01mWIN
Jun 08EUR/USD−$11.4778h 00mLOSS
Jun 08EUR/USD+$110.1676h 31mWIN
Jun 08AUD/JPY−$279.6963h 09mLOSS
Jun 09USD/CAD−$0.7624h 52mLOSS
Jun 09USD/CAD+$128.392h 02mWIN
Jun 11GBP/JPY+$258.2779h 46mWIN
Jun 11USD/JPY+$295.035h 11mWIN
Jun 11USD/JPY+$165.121h 14mWIN
Jun 11GBP/JPY+$125.192h 49mWIN
Jun 11EUR/JPY−$254.217h 16mLOSS
Jun 15EUR/USD+$515.6653h 22mWIN
Jun 17EUR/JPY−$455.810h 57mLOSS
Jun 17AUD/JPY+$843.1723h 41mWIN
FTMO statistics — 72.22% win rate, $407 avg profit, $201 avg loss, profit factor 5.25, expectancy $237.98, Sharpe 0.82

The five losses average −$201 each. The thirteen wins average +$409. That asymmetry — letting winners run, cutting losers short — is what produces a 5.25 profit factor on a 72% win rate. It also means the biggest single loss (−$455, EUR/JPY Jun 17) barely dented an account that was sitting on +$4,300 in gains.

Why the miss is the most useful data point here

FTMO objectives page — Max Daily Loss and Max Loss both showing green checkmarks at -0.6%, Profit Target showing red X at 4.2%

The EA finished at +4.2% when the free-trial clock expired. It did not pass — the free trial's +5% target wasn't reached in 14 days. What it did do:

The clock, not the rules, ended this run. Worth knowing: in late 2024, FTMO removed time limits on the paid Challenge — that format now has unlimited time and a 10% target versus the free trial's 5%. A slow, selective, low-drawdown EA is built for a format with no clock. Those are the structural facts; draw your own conclusion.

The edge behind the numbers — five years, verified

The 18-trade run above isn't the only data. zEAge's VZD signal has been walk-forward validated across a five-year no-lookahead backtest (June 2021 – June 2026) on all nine pairs using live OANDA tick data — the same data feed the live EA runs on. The harness walks candles forward one bar at a time, never seeing data that didn't exist at that timestamp.

Standard config (VZD ≥ 0.30)

6,264 fills · 59.3% win · +0.1825R avg · OOS +0.1288R · maxDD 59.4R
The production config. Roughly one selective trade per day across nine pairs. Validated out-of-sample — the last third of fills, in sequence, the model never saw during development.

Pro config (VZD ≥ 0.45) — verified June 2026

2,497 fills · 63.5% win · +0.2670R avg · OOS +0.2142R · maxDD 44.9R
Tighter zone-displacement filter. Fewer trades, higher per-trade quality, lower peak drawdown. The OOS avg_R of +0.2142 is the best of all nine gate configurations tested — including every combination of session filtering, dead-hour blocks, and the hybrid cross-pair gate (which was tested and rejected as harmful to performance). Same EA code, one parameter change: InpVzdMin = 0.45.

Nine gate configurations were tested exhaustively. The finding: the current session filter and dead-hour blocks are load-bearing — removing either inflates drawdown without improving out-of-sample quality. The EA in your hands is already the optimal configuration. The Pro tier is the same edge, tighter gate.

What's different in v1.46 (the current version)

One issue the FTMO trial exposed: a trade that parks flat near entry can sit open for 24+ hours without hitting TP1. In that run, a USD/CHF position was open for over a day with barely any movement. v1.46 adds a coded time-exit — if a position hasn't hit its first profit target within 48 hours, the EA closes it and moves on. Funded positions (where TP1 has already been hit and the stop is at break-even) are never timed out — only the full-risk initial leg. This is the kind of operational detail that matters on a challenge where every open position carries exposure.

How to evaluate any challenge EA (including ours)

Don't ask for the return. Ask: show me your worst day relative to the daily limit. Ask: what stops it from breaking a rule? Ask: can I see every trade, not just the winners? You just saw all 18 of ours — including the five losers and the early build that had a software bug. An EA worth running can answer all three.

zEAge has a 14-day free trial, no credit card, instant license by email. Run it on your own demo account and ask those questions yourself.

zEAge is a software tool, not financial advice, and not a signal service. Results shown are from demo / prop-firm challenge accounts and do not represent live returns. Past performance does not guarantee future results. Trading carries substantial risk of loss.

See the live track record & start a free trial →


Keep reading: Do trading EAs actually work — and how to spot a scam? · The VZD edge — the research behind zEAge

See zEAge pricing — from $97/mo or $199 lifetime →