LEARN · EN · easyquanttrading.com
Why your EA works in the Strategy Tester but loses money live
It is the most common question in every MetaTrader forum, and the answer is rarely "the broker is cheating you". The tester is a simulation with a set of assumptions you chose (often by leaving them at default). A live account does not use those assumptions. Here is where the two actually differ, and how to narrow down which difference matters for your EA.
By the EasyQuant Research Team·Published 2026-09-26·We publish the tests our own strategies fail. Nothing here is a return promise.
- The tester is a simulation; the assumptions are yours, and they are usually left at default
- Six specific divergence points account for most tester-to-live gaps
- Intrabar fill assumptions are the single biggest source of over-optimistic results
- You can measure which one affects you instead of guessing
Start here: the tester is not lying, it is answering a different question
The Strategy Tester answers: "given these assumptions, what would this logic have done?" It does not answer: "what will this logic do?" Those are different questions and only the second one involves money.
Every assumption you did not change is still an assumption. The most important ones are spread, tick modelling, and how a bar that touches both your stop and your target is resolved.
The six places they diverge
1. Spread. The tester often applies a fixed spread you set, or a current spread. Live spread widens at news, at session rollover, and when liquidity thins. An EA with a tight stop can be stopped out by spread alone during a moment the tester treated as calm.
2. Intrabar fill assumptions. On an M15 bar, the tester has to decide what happened inside the bar. If your stop and target are both inside the same bar, the tester picks one — usually the one that flatters the result. Live, the sequence is whatever it actually was.
3. Tick modelling quality. "Open prices only" and "every tick" are not the same simulation. If your EA acts within a bar, open-prices-only mode cannot see the action it depends on.
4. Swap and commission. Easy to omit in the tester, painful over months live — especially on positions held for days.
5. Slippage on entry and exit. The tester fills at the price you asked for. Live, market orders fill at the price available. On thin instruments the difference is not rounding error.
6. The feed itself. Your tester's history came from one source. Your live prices come from your broker. Different sources, occasionally different bars.
How to find out which one is costing you
Do not change everything at once. Change one assumption and re-run over the same period.
Set the tester spread to a realistic worst-case rather than the default. Re-run. If the equity curve collapses, spread was carrying your result.
Switch from open-prices-only to every-tick modelling. Re-run. If the result changes materially, your logic depends on intrabar behaviour — which is exactly the behaviour a live account will resolve against you as often as for you.
Add commission and swap explicitly. Re-run. Long-horizon strategies often lose a surprising share of their edge here.
After each change, compare the trade list rather than the final number: entries, exits, direction, size. The final number can coincide by accident; the trade list cannot.
Then re-run it on a real terminal
Once the assumptions are realistic, the remaining check is running the strategy forward in a live terminal on the same instrument and comparing trade by trade.
We do this on every strategy before publishing: out of 1,307 strategies that had already passed our own backtest, 493 matched the real terminal, 84 were weak, 62 failed, 29 diverged and 14 mismatched. The remaining 625 could not be run on that terminal at all and are reported separately rather than counted as failures.
105 strategies that looked acceptable in a backtest did not survive a program we did not write, reading a feed we do not control. That is the size of the gap, measured rather than assumed.
What this does not tell you
Passing a real-terminal check does not mean the strategy will make money. It means the result is not an artefact of your simulation settings — which is a much smaller, and much more defensible, claim.
It also does not tell you the strategy will keep working. That is a separate question, and it cannot be answered by any backtest.
Current platform facts
Read live from the strategy library when this page was generated. These are the same counts published on our transparency page, and they change as strategies are added and rejected.
| Strategies in the audited library | 3672 |
|---|---|
| Flagged by the audit | 2011 |
| Flag rate | 54.8% |
| Checks still pending | 1651 |
| Passed the DSR overfitting check | 1 |
| Passed the significance check | 504 |
| DSR threshold used | 0.90 |
FAQ
- Is the Strategy Tester useless then?
- No. It is a fast way to reject ideas. It is a poor way to accept them. Use it to eliminate, not to confirm.
- Which assumption matters most?
- Intrabar fill assumptions, because they change which trades you win rather than by how much. Spread and commission move the result; fill assumptions can change its sign.
- My broker's tester data differs from another broker's. Which is right?
- Both are right about their own feed. What matters is which feed your live orders will execute against — test on that one.
- How long should I forward-test before trusting it?
- Long enough to cover at least one regime the backtest did not contain. There is no fixed number of weeks that substitutes for that.
More guides
- How EasyQuant validates strategies — evidence you can filter
- Honest backtesting, not pretty curves
- Gold strategy research that stays honest
- Overfitting detection: catch it before you deploy
- System Forge: design, then prove
- Walk-forward analysis: the only backtest that fights overfitting
- MT5 export without custody
- Glass box, not black box AI signals
Not investment advice. Historical results do not guarantee future performance. EasyQuant is a research factory — you execute on accounts you control.