ProEA Lab · Honest notes on building & testing a real MT5 system · No income claims · Every number links to its source
Systems

One System. 10,000 Years.

We took the 24 real walk-forward months behind our own EA's published backtest and resampled them into 10,000 alternative years — same system, same months, reshuffled. The honest range runs from losing 43% to making 124×, the median year spends time 46% underwater, and a quarter of the winning years started out losing. Every number below is reproducible from a script in our repo.

PLProEA LabJul 16, 2026 · 12 min read
Thousands of thin glowing equity threads fanning out from a single dark origin point, a few threads rose-red and falling, most emerald and rising to different heights — poster titled One System. 10,000 Years.

There's a table behind our EA's sales page with 24 rows in it.

One row says +422.38%.

Another says −46.41%.

Same system. Same config. Same market. The rows are one calendar month apart.

Most vendors would show you the first row. Our sales page reports what the 24 rows roll up to — the win rate, the profit factor, that +422% best month. This page goes further: the full table, row by row, is printed in the appendix below, exactly as it's committed in our repo. And this week we asked it a harder question.

If those 24 months are what this system's months look like… what does a year look like? Not the year that happened — every year that could have.

A backtest shows you one year the system had. So we built the other 9,999 — and published the script.

Two requests before we start:

  1. Save this for the next time anyone — us included — shows you a single equity curve.
  2. Send it to one trader who thinks a "verified backtest" is one number.

Skip this if you want the numbers

Sixty-second version: we bootstrapped the 24 published real-tick walk-forward months (each month = a fresh $10,000 MT5 Strategy Tester run — backtest data, not live results) into 10,000 synthetic years, twelve draws each, using the same seeded PRNG our public calculators use. The median resampled year multiplied the account 6.75× — and the honest range around that median is enormous: the 5th percentile year lost 43%, the 95th made 123.9×. 10.7% of all years ended negative. The median year's worst peak-to-trough drawdown was 46.4%; even the calmest 5% of years still dipped. 27.8% of the years that ended positive began with two net-negative months — fire every system that starts red and you fire a quarter of your future winners. Remove the single +422% month and the median year drops to 3.29× while negative years rise to 17.4% — the upside is concentrated; the pain is structural. All derived from modelled backtest months; none of it is a forecast; all of it regenerates from one command at the bottom of this page.

What traders assumeWhat 10,000 resampled years say
"The backtest number is the system"The backtest number is one draw from a distribution 200× wide
"A good system has good years"This one had 10.7% losing years — from the same 24 months
"If it starts losing, it's broken"27.8% of its winning years started with two red months
"Drawdowns mean something went wrong"The median year dipped 46.4% on the way to wherever it went
"One monster month is just upside"Remove it and the median year halves — ask any vendor which months carry their curve

The method — plainly, before the numbers

The input. SWEEP_24MO in our repo: 24 monthly walk-forward results, January 2024 through December 2025. Each month starts from a fresh $10,000 and runs the same EA config in MT5's Strategy Tester on real-tick data. It is the stress-test data behind the KPIs our sales page reports — committed at src/data/mtr-backtest.ts, printed row by row in this article's appendix — and it is backtest data. Nothing in this study is a live track record, and nothing below forecasts one.

The experiment. A bootstrap: build a synthetic "year" by drawing 12 months at random (with replacement) from those 24, compound them, record the outcome. Do that 10,000 times. Randomness comes from mulberry32(7) — the same deterministic PRNG behind our public Monte-Carlo simulator — so the run is exactly reproducible: same seed, same numbers, any machine, forever.

What the question is. Not "what will next year make?" — the study can't know that. The question is narrower and more useful: given months like these 24, how wide is a year? The width is the finding.

I — The 24 months, measured

Before any simulation, the raw table (arithmetic only, no resampling):

StatisticValue
Months24
Mean month+35.03%
Median month+22.05%
Standard deviation94.04%
Best month+422.38% (Oct 2025)
Worst month−46.41% (Aug 2024)
Negative months6 of 24 (25.0%)
Months at −40% or worse3
Months at +40% or better5
Longest losing streak2 months

Read the standard deviation twice: 94% — nearly three times the mean. That single statistic is the whole article in miniature. A process this dispersed doesn't have "a" yearly result. It has a distribution, and everything you feel about the system depends on which part of the distribution you happen to live through.

II — The fan

Compound twelve random draws from that table, 10,000 times, and here is where "the same system" lands after a year:

PercentileAnnual multiple
P50.57× (−43%)
P252.33×
Median6.75×
P7520.72×
P95123.90×

The extremes are wider still — the single worst resampled year finished at 0.027×, the best at 6,246× (compounding is not a metaphor). 77.8% of years at least doubled; 40.4% made ten-x or better; and 10.7% of all years — one in nine — ended in a loss. Same months. Same system.

A percentile fan of 10,000 resampled years on a log scale, spreading from one origin to a 95th-percentile line at 123.9 times, a median at 6.75 times, and a 5th-percentile line at 0.57 times.
Month by month, 10,000 years of the same system, log scale. Generated directly by the study script — not an illustration.
The same system's honest year runs from −43% to +124×. Anyone who quotes you one number is choosing which of these years to show you.

III — The drawdown nobody escapes

Outcomes got all the range. The pain did not:

Intra-year max drawdownValue
P5 — the calmest 5% of years5.8%
Median year46.4%
P95 — the roughest 5%81.6%

Sit with the middle row. The median year — not the disaster, the ordinary one — spent part of its journey 46.4% below its own peak. Years that finished at 20× passed through it. Years that finished underwater passed through worse. The right tail of outcomes is carried by months like +422%; the drawdown row is carried by every year equally.

The median year dipped 46% on the way to wherever it went. Comfort was never in the distribution — only outcomes were.

IV — The judgment window

We tagged every resampled year whose first two months compounded negative, then checked how it ended.

2,481 of the 8,933 positive years — 27.8% — started with two net-losing months.

That's the number behind the advice we keep giving qualitatively (judge in trades, not weeks): a system that opens red is exhibiting the distribution, not disproving it. If your rule is "kill anything that starts with two losing months," you would have executed more than a quarter of this system's winning years at the door.

V — Remove the monster month

The obvious objection — we'll raise it ourselves: October 2025's +422% is one month in 24. How much of the story is that single row?

A lot of the upside. None of the pain. Same protocol, 10,000 years drawn from the other 23 months:

All 24 monthsExcluding +422%
Median year6.75×3.29×
P5 / P950.57× / 123.9×0.41× / 27.1×
Negative years10.7%17.4%
Median max drawdown46.4%48.0%
One month owns half the median. The drawdown belongs to every year — with or without the hero.

That asymmetry is worth memorizing, because it generalizes: in fat-tailed systems, the upside concentrates in a handful of periods while the volatility is structural. Which is also why "we removed our best month and it still works" is a question you can now ask any vendor — including us. The answer is printed above.

The limits — before you ask

Stated plainly, because a study that hides its limits is an ad:

It's backtest all the way down. The 24 input months are modelled walk-forward runs (real-tick MT5, fresh $10K each) — not live trading. Resampling a backtest cannot make it live; every figure here inherits every limitation of the underlying evidence, including the cost-model optimism we've written about before.

n = 24 is thin. Two years of months barely pins down a monthly distribution, let alone its tails. The bootstrap can only reshuffle months that happened — it cannot invent the month that hasn't happened yet, and the worst future month is not obligated to resemble the worst past one.

Months are drawn independently. Real markets have regimes; bad months cluster. Independence likely understates how ugly the bad stretches get.

This is not a forecast. The study answers "how wide is a year assembled from months like these" — nothing else. No number on this page is a promise, a projection, or a typical result.

What this changes — for you, tomorrow

Expectations become ranges. If someone shows you one equity curve — a vendor, a signal seller, your own backtest — the first question is now automatic: where does this sit in its own fan?

Sizing answers to the drawdown row, not the outcome row. If the median journey includes a 46% dip, position size for the dip you'll actually have to sit through — the bet-sizing math and the drawdown-recovery arithmetic exist for exactly this.

Judgment gets a window. A quarter of winning years started red. Decide in advance how many months or trades constitute a verdict, or the distribution will decide for you — always at the worst moment.

Where MTR sits

The data in this study is MTR's published stress-test table — we didn't commission a study of someone else's product; we pointed the microscope at our own and printed what it showed, including the one-in-nine losing years and the 46% median dip. That's the standard we think every EA vendor owes you: not a curve, a distribution — which is why the Evolution Lab runs validation math like this automatically, and why the Monte-Carlo simulator is free with no signup: put your win rate and risk in, and look at your own fan before the market shows it to you the slow way. Evidence, not prophecy — and this time, the evidence comes with a script.

Disclosure

Every number above derives from modelled backtest data and is labeled as such; none of it predicts live performance, ours or anyone's. The study's code, inputs, seed, and this article shipped in the same commit — if we'd cherry-picked, the diff would show it. The one question this page should teach you to ask any vendor: "Show me the distribution, not the curve — and what happens when you remove your best month?"

Reproduce it

One command, from the repo root:

node --experimental-strip-types scripts/research/sweep-resample.ts

It reads the same committed 24-month table printed in the appendix below, reseeds mulberry32(7), and prints every statistic in this article — plus it regenerates both figures above from the raw distribution. Change the seed and watch the exact numbers wobble while the shape holds; that wobble is the whole lesson.

A histogram of 10,000 resampled annual outcomes, with rose bars below breakeven totaling about one year in nine and emerald bars spreading from break-even out past fifty-x.
Where 10,000 years of 'the same system' land. Rose = ended negative. Generated by the study script from the raw distribution.

Appendix — all 24 rows

The complete input, exactly as committed in src/data/mtr-backtest.ts (each month = a fresh $10,000 real-tick walk-forward run; modelled backtest, not live):

MonthResultMonthResult
2024-01+8.08%2025-01+24.23%
2024-02+10.53%2025-02−22.28%
2024-03−24.35%2025-03+65.25%
2024-04+69.30%2025-04+7.56%
2024-05+27.00%2025-05−44.15%
2024-06+20.97%2025-06+0.53%
2024-07+25.20%2025-07+9.98%
2024-08−46.41%2025-08−41.88%
2024-09+24.59%2025-09−5.84%
2024-10+33.26%2025-10+422.38%
2024-11+39.46%2025-11+40.29%
2024-12+23.14%2025-12+173.98%

Every statistic and both figures in this study derive from these 24 numbers and nothing else.

The table had 24 rows.

The truth had 10,000.

Every system you'll ever evaluate is like this — you just usually don't get to see it.

Now you know what to demand: the fan, not the curve.

More from ProEA Lab

Is LuxAlgo Worth It? A Competitor's Honest Review.

A LuxAlgo review written by a competitor — which means, unlike the affiliate reviews ranking above us, we get paid when you don't subscribe. Every claim below is sourced to LuxAlgo's own pages: what the tiers really cost, what you actually own, what happens when you cancel, and the cases where LuxAlgo is genuinely the right call.

Jul 15 · ProEA Lab

Two hands laying glowing playing cards face-up on a dark felt table, one hand amber and one emerald — poster titled A Competitor's Honest Review.

What Is a Fair Value Gap? The Imbalance, De-Mystified.

What is a fair value gap? Mechanically: a three-candle footprint of one-sided execution — and the most-repeated promise about it is the industry's favorite half-truth. Here's what an FVG actually is, why gaps fill by oscillation rather than magnetism, when a gap is worth trading, and how to measure the fill-rate claim on your own chart.

Jul 14 · ProEA Lab

Three glass-and-brass candlesticks with the fair value gap glowing as an emerald band between their wicks, while a vintage horseshoe magnet aimed at it dissolves into dust — poster titled A Witness. Not a Magnet.

Order Block Trading Strategy: Stop Trading Ungraded Zones.

An order block trading strategy is only as good as the zones it lets you skip. Every SMC tool draws the rectangles; almost none tell you which deserve your money. Here's what an order block actually is, why most drawn zones are noise, the five properties that separate tradable from decorative — and a 20-minute honesty test for any order-block indicator, ours included.

Jul 13 · ProEA Lab

A dark chart wall of faint identical order-block rectangles with one emerald zone lit under a spotlight, surrounded by measurement callipers and a jeweler's loupe — poster titled Stop Trading Ungraded Zones.