Upload any MT4, MT5, or cTrader backtest report. Get Monte Carlo simulation with robustness scoring, drawdown confidence intervals, and martingale detection — in seconds. What is Monte Carlo? →
This free Monte Carlo backtest analyzer lets you stress-test any MetaTrader 4, MetaTrader 5, or cTrader backtest report. Upload your strategy tester HTML file and get instant Monte Carlo simulation with up to 5,000 permutations — completely free, no download required, and your data never leaves your browser.
Monte Carlo simulation reshuffles the order of trades in your backtest to generate thousands of alternate equity curves. Since the original backtest shows just one possible sequence of trades, Monte Carlo analysis reveals how your drawdown, final equity, and risk metrics could vary under different trade orderings. This helps traders distinguish between genuine edge and lucky sequencing — critical for position sizing and risk management before deploying capital on live accounts.
Our Monte Carlo analyzer goes beyond basic trade reshuffling. It provides a complete robustness assessment including:
Drawdown confidence intervals at 50%, 90%, 95%, and 99% levels — so you know the realistic worst-case drawdown, not just the backtest's lucky outcome. Martingale detection that identifies if your EA uses hidden recovery trading or position sizing after losses. Robustness scoring from 0–100 across four statistical dimensions: drawdown position, distribution spread, predictability, and martingale safety. Plus a risk multiplier that quantifies the relationship between backtest position size and simulated drawdown at the 95% confidence level.
Works with backtest reports from MetaTrader 4 (.htm), MetaTrader 5 (.html), and cTrader (.html). Simply export your Strategy Tester report and upload the file. The parser automatically detects the platform, extracts the EA name, trade data, and starting balance. Supports both UTF-8 and UTF-16 encoded files.
Choose between two simulation methods. Permutation reshuffles your actual trades without replacement — the final equity is always the same but the drawdown path changes. This isolates the effect of trade ordering on risk. Bootstrap resamples trades with replacement, allowing some trades to appear multiple times while others are skipped. This produces variation in both final equity and drawdown, useful for estimating the uncertainty around your backtest results.
Your backtest data is processed entirely in your browser using JavaScript. No data is uploaded to any server. No account is required to use the tool. Your trading strategy details remain completely private.
This free Monte Carlo tool is part of Edge Matrix, a professional backtest validation platform that runs 20 statistical tests on your EA including temporal stability analysis, sample size validation, concentration risk, and a composite Edge Score. Monte Carlo is just the beginning. see what the full suite offers.
Stress-test any MetaTrader 4, MetaTrader 5, or cTrader backtest report with Monte Carlo simulation. Upload your strategy tester HTML file and get instant robustness scoring, drawdown confidence intervals, and martingale detection. The tool is free, needs no download, and your data never leaves your browser.
Monte Carlo simulation reshuffles the sequence of your backtest trades thousands of times to answer a critical question: does this strategy's performance depend on the specific order trades occurred? If a strategy is truly robust, reshuffling its trades should produce similar results. If not, the original backtest may overstate the strategy's edge. This tool runs up to 5,000 permutations and calculates drawdown confidence intervals at the 50th, 90th, 95th, and 99th percentiles.
The robustness score (0–100) evaluates four statistical dimensions: drawdown position within the simulation distribution, drawdown spread between confidence intervals, predictability of drawdown behavior across simulations, and martingale safety, which detects whether the strategy increases lot sizes after losses. Martingale detection is weighted at 40 of 100 points because recovery-based lot sizing is the single largest hidden risk in forex backtests.
The analyzer accepts HTML backtest reports exported from MetaTrader 4 (MT4 Strategy Tester), MetaTrader 5 (MT5 Strategy Tester), and cTrader. Reports must contain individual trade data with profit values and balance snapshots. Both detailed and simple report formats are supported.
Your backtest data is processed entirely in your browser using JavaScript. No data is uploaded to any server. No account is required to use the tool. Your trading strategy details remain completely private.
Permutation keeps every trade result exactly as the backtest produced it and changes only the order in which they arrived. That makes this a direct test of sequence risk, and it is worth being precise about what sits inside and outside that scope.
What it measured. How deep the drawdown could have run had the same trades arrived in a different order, how much of the equity curve smoothness came from fortunate sequencing, and where the historical drawdown sat within the distribution of drawdowns those same trades could have produced.
What it did not measure. Reshuffling breaks the time ordering, so clustering of losses that came from a market regime is removed rather than reproduced. Losing streaks have historically arrived together, and independent reordering does not recreate that. It also cannot detect overfitting, because every simulation draws from the same trade list the backtest produced: if the parameters were tuned to that history, resampling that history will not reveal it. It does not represent volatility regimes the strategy never traded, or execution costs the report did not record, such as slippage and spread widening.
A strategy that survived reshuffling cleared one specific hurdle. Out-of-sample behaviour, sample size adequacy, temporal stability, and overfitting measures address the others, and are covered by the full Edge Matrix test suite. If you would rather read finished output before running your own file, there is a library of complete validation reports for real EAs.
The limitation above has a name and a standard remedy. Reshuffling assumes each trade is independent of the one before it. For the direction of a trade that is often reasonable. For its size it frequently is not, because volatility clusters: quiet periods follow quiet periods and violent ones follow violent ones. A strategy trading through a turbulent stretch produces a run of larger results, winners and losers alike, packed close together. That clustering is what turns an ordinary losing streak into a drawdown that ends an account, and reshuffling scatters it.
The check is one line of arithmetic you can run on your own results. Measure the autocorrelation of your trade profits, then of your squared profits. The first is often near zero, which makes an independence assumption look safe. The second is frequently positive, which means magnitudes cluster even when directions do not. That gap is the whole problem.
A block bootstrap addresses it by resampling short runs of consecutive trades rather than single trades, so whatever clustering existed inside a run survives into the simulated path. The method used in Edge Matrix is the stationary bootstrap of Politis and Romano (1994), with the mean run length estimated from your own trades by the Politis-White (2004) procedure rather than fixed by a rule of thumb. The chosen length is reported alongside the result.
Being exact about scope: the free tool on this page reshuffles trade order, which is the standard approach and the right one for judging sequence risk. Block bootstrap is part of the full Edge Matrix application, not this page.
It is also not always worth using, and the honest version of this feature says so. When a strategy's results carry little serial dependence the estimated run length falls to roughly one trade, block bootstrap and ordinary resampling describe the same thing, and blocking has added variance without adding information. In that case the report states it rather than implying a difference that is not there.
No, and expecting it to is a good way to misread the output. Preserving runs keeps a strategy's own local structure intact instead of scattering losses into combinations that never occurred, so the result can come out lower as well as higher. It is not a more pessimistic method, it is a more faithful one. The direction depends on how your trades actually behaved.
The standard error of a percentile estimate falls with the square root of the number of simulations, so moving from 1,000 to 5,000 roughly halves it. Below about 1,000 runs the tail percentiles became visibly unstable between repeats. This tool runs up to 5,000.
That is the common result rather than the exception. A backtest is one ordering out of an enormous number, and if the historical sequence happened to space its losses apart, the observed drawdown sat below the median of what the same trades could have produced. The 95th percentile figure is the more conservative number to plan against.
No. Every simulation is built from trades the strategy already produced, so the analysis described how those results could have been ordered. It said nothing about whether the edge continued afterwards, and no backtest analysis can establish that.
Not on its own. Reshuffling reuses the trade list the optimisation produced, so a strategy fitted to its own test period can still reshuffle cleanly. Detecting overfitting requires data the parameters were not tuned on, together with measures that account for how many configurations were tested before one was selected.
From MetaTrader 4 or MetaTrader 5, run the Strategy Tester and save the results as an HTML report. From cTrader, export the backtest as HTML. The file must contain the individual trade rows with profit values, not only the summary statistics.
This free tool expects a backtest report. Scoring live and demo MetaTrader account statements is part of Edge Matrix rather than the free simulator.