Monte Carlo Testing for EA Robustness Explained
A backtest produces one equity curve. That curve is a single sequence of outcomes, and the order they arrived in was largely luck.
Monte Carlo testing for EA robustness explained in one sentence is this. It reshuffles what you already have to show you the range of results consistent with the same strategy, and the range is usually wider than the curve suggested.
Your Equity Curve Is One Path, Not The Path
Suppose your strategy produced a hundred trades in a particular order. That order determined your drawdowns entirely.
Rearrange the same hundred and the final return is identical while the drawdown can be completely different. Cluster the losers and you get a deep valley. Spread them out and the curve looks orderly.
Nothing about the strategy changed. The sequence did, and the sequence will not repeat.
Monte Carlo generates thousands of alternative orderings and reports what happened across all of them. The output is a distribution rather than a number.
The Variants Worth Running
Trade order shuffling is the most useful. Same trades, reordered repeatedly, which isolates how much of your observed drawdown was ordering rather than strategy.
Bootstrap resampling draws trades at random with replacement, varying composition as well as sequence. It widens the distribution and tests whether the result depends on a few exceptional trades.
Execution randomisation adds noise to fills and spread, testing sensitivity to conditions rather than sequence.
Parameter perturbation overlaps with plateau testing and answers a different question entirely.
The Output That Matters on a Funded Account
Here is the application that justifies the effort.
Run trade order shuffling, collect the maximum drawdown from each iteration, and look at the distribution rather than the average.
Your backtest might have shown a six percent worst drawdown. If the ninety fifth percentile across a thousand shuffles is twelve percent, then six percent was a fortunate ordering and twelve is a realistic bad case.
On an eight percent maximum loss limit that distinction decides whether the strategy is tradeable. Sizing against the observed six percent means a comfortable breach at some point. Sizing against the twelve means scaling risk down by a third, so a one percent risk per trade becomes roughly two thirds of that.
That calculation turns a vague sense of robustness into a position size.
What It Cannot Do
This is where Monte Carlo gets oversold, so it is worth being direct.
It creates no new information. If your trades came from a curve fitted strategy, shuffling produces a distribution of curve fitted outcomes. It tells you the range of results if the edge is real, and nothing about whether it is.
It also assumes trades are independent, and they are not. Losses concentrate in unfavourable regimes and wins in favourable ones. Shuffling destroys that structure, so it can understate tail risk where serial dependence exists.
So the twelve percent figure from the example above is a better estimate than six, and it is still probably optimistic.
How to Run It Sensibly
A thousand iterations or more. Fewer and the tail estimates are noisy, which defeats the purpose.
Report percentiles rather than averages. The median outcome is not the one that ends accounts.
Use the result for sizing rather than for approval. Monte Carlo does not tell you whether to trade a strategy. It tells you how small you need to be if you do.
Conclusion – Monte Carlo Testing for EA Robustness Explained
Monte Carlo testing for EA robustness explained properly is a tool for understanding the range of outcomes your strategy could produce, not for validating that it has an edge. Shuffle trade order, take the ninety fifth percentile drawdown, and size so that outcome survives your limits.
FAQ – Monte Carlo Testing for EA Robustness Explained
1. What does Monte Carlo actually prove?
The range of results consistent with your trades. It cannot establish whether the underlying edge is genuine.
2. Which percentile should I size against?
Something in the tail rather than the median. The ninety fifth percentile drawdown is a common and defensible choice.
3. Does it account for losing streaks clustering?
Not well. Shuffling assumes independence, so it tends to understate tail risk where losses genuinely cluster by regime.
We have helped thousands of traders reach funding at TTT Markets from account sizes of $5k upwards to $500k. Check out our programs.
Additional resources:
Monte Carlo Simulation: Exposing the Hidden Risk in Your EA – MQL Coder Blog
support@tttmarkets.com
WhatsApp Support →