In this article
After this article, you can
- Check whether inputs were available at a tested decision.
- Distinguish a developing period’s High from the final candle High.
Terms at hand: Backtesting · Trading Journal · Trading Plan · Drawdown · Stop loss · Take profit (TP)
Choose a backtesting tool by the question, code and data you need to test. Discretionary practice needs a way to hide future information and record decisions; an EA test needs a compatible runtime and explicit execution assumptions. Forex Tester has separate Desktop and Online products, and MetaTrader’s MT4 and MT5 testers differ. Neither the product name nor a high final balance establishes a valid test.
The MetaTrader Strategy Tester — full profile
The terminal’s Strategy Tester evaluates compatible Expert Advisors against historical data and provides trade/results reports. MT4 uses its MQL4 environment; MT5 uses MQL5 and offers several tick-generation modes. Testing is not always one calculation per candle: the selected mode and programme events determine the observations. MT5 visualisation shows the EA’s actions on a simulated chart; it is not automatically a complete manual order-entry replay panel. Check any add-on separately.
MT5’s “Every tick based on real ticks” mode uses the broker’s recorded ticks where available. Missing or inconsistent records can still require generated ticks, so inspect the data and test report. Optimisation includes complete and genetic searches, with local or cloud agents where supported. Tick modelling and optimisation features do not by themselves establish realistic fills or profitable live performance.
Check whether the actual programme’s live functions are supported by its tester. MT4’s documentation says Timer/ChartEvent events and several external-interaction functions are not executed in its tester, and trade operations use the tested symbol. A robot that depends on a timer or web request therefore needs a separate compatibility check; a successful report alone does not test that live behaviour. Inspect the first operations and journals, as explained in backtesting in MT4 and MT5.
Forex Tester — full profile
Forex Tester Desktop supports manual replay and automated strategies. Its instructions describe adding a custom expert as a DLL, not directly copying any EX4/EX5 file into a MetaTrader-equivalent runtime. Forex Tester Online is a separate browser product with its own plans and automation tools. Do not transfer a feature or licence rule between editions merely because the brand is the same.
Replay can help you practise a defined decision while keeping a record, but faster playback is not a measured improvement in trading skill. Compare source, dates, gaps, Bid/Ask or Last fields, session boundaries and costs for the actual dataset. A paid history package is not automatically more accurate or closer to your account than a broker’s data. The guide to testing a strategy explains how to define the protocol before seeing outcomes.
The Online product lists trading robots, half-automated decisions, an exit optimiser and import of trade history under plan conditions. Importing MT4/MT5 trades for analysis is not importing an EA’s code. For any conversion, compare the first signals, quantities, prices, charges and order states; a recognised file or platform name does not prove equivalent execution.
A comparison by criteria
Compare complete costs under matched assumptions. In a hypothetical annual budget, a free local tester with a USD 20 monthly dataset costs USD 240; a USD 120 annual licence with USD 15 monthly data costs USD 300. These are invented budget inputs, not current product tariffs. They exclude taxes, hardware, additions and rented computation. A free software licence alone does not establish a zero-cost workflow or the cheaper usable setup.
Choose by the task and supported code: MT5 is the native testing environment for MQL5 Expert Advisors, while Forex Tester provides manual practice and its own automated-strategy tools. Compare data, execution assumptions and workflow rather than treating one as exclusively for machines and the other exclusively for humans.
Walk-forward testing separates successive training and evaluation periods. It can expose weaknesses in parameter selection, but its value still depends on the data, trading-cost model and how the evaluation was designed.
When to choose the Strategy Tester
Use MT5’s Strategy Tester when evaluating MQL5 Expert Advisor code in its native environment. Select a data mode appropriate to the strategy, check real-tick coverage and model relevant costs and delays. Another product can test automated strategies through its own interface; compatibility, rather than automation alone, determines whether it can run your code.
For a parameter search, choose the environment compatible with the programme and retain the search history. Selecting the best in-sample variant is different from evaluating it on an excluded period. A later-period MT5 Forward partition is also not automatically a complete repeated walk-forward protocol. The guide to walk-forward analysis explains successive training and evaluation; neither approach guarantees future returns.
When to choose Forex Tester
For discretionary practice, compare order entry, pause, notes, hidden future data and export in the exact edition. Forex Tester Desktop describes both a mode that allows stepping back and a “Forward testing only” mode. Rewind can be useful for learning, but a revised decision on already seen data is not an independent test. Keep those exercises separate from the evaluation record.
Hypothetical OHLC check. Buy one model unit at 100, with SL 95 and TP 108. Assume continuous paths, exact level fills and no spread or other costs. Both 100 → 110 → 90 → 105 and 100 → 90 → 110 → 105 have O 100, H 110, L 90 and C 105. The first path exits at TP for +8; the second exits at SL for −5. The final candle alone cannot select the favourable result. More detailed data can establish order, but actual execution still needs the correct quote side and fill model.
At 10:20 you do not know the hour’s final High
Correct arithmetic alone is insufficient. Decision inputs must have been available then, not only after the candle closed.
Scroll sideways to see the full diagram
Assumptions: Fictional prices in arbitrary units, no spread, orders or monetary returns. Points are 10:00/100, 10:20/101, 10:50/110 and 11:00/104, with linear segments and no other extrema. Our interval includes the final 11:00 observation; it does not describe any platform’s tick-to-bar allocation. Decision time is 10:20. Later data in the full diagram is retrospective only. The hour’s final High is available after it ends.
Use our demonstration filter: “High since this hour began up to decision time ≥ 108.” At 10:20 you know prices 100 and 101 and their connecting segment. High so far is 101, so the condition fails. Price reaches 110 only at 10:50. At the end, full OHLC is O = 100, H = 110, L = 100, C = 104.
Now deliberately corrupt your import: enter final High 110 in the decision row timestamped 10:20. Suddenly 110 ≥ 108 and the filter passes. Information availability changed, not rule quality. This is not presented as a default defect in Forex Tester or Strategy Tester. It is our counterexample of faulty data preparation, reproducible in a simple spreadsheet.
MQL5 timeseries documentation distinguishes the current unfinished bar from closed periods. Log decision time and the available data scope as well as bar time. Check the 10:20 row against a truncated path before comparing tools. Our threshold 108 is not a strategy or profit promise.
The most common pitfalls when choosing
Reconcile a short controlled run before comparing final balances. Match instrument, contract size, time zone, starting cash, volume rules, commissions, spread, financing and event handling. Identify the first diverging signal or execution. Separate strategy reports can also reuse the same capital: in a hypothetical account of 100 units, A and B each require 70 simultaneously and return 12 and 8 net. Under a rule rejecting the second request for insufficient free capital, only the first strategy enters; the shared result is 12 or 8, not the independent sum 20. This is our funding policy model, not a broker’s margin specification.
Future-data leakage is a protocol error, not a guaranteed behaviour of one brand. Record the decision before revealing the next data, and label repeated/rewound trials. A recognised later chart is not wholly unseen. Store failed variants and freeze the selection rules before the evaluation; if you tune again after inspecting that period, it has become part of selection. The platforms section gives related testing material.
Conclusions — which backtest for whom
For an MQL5 Expert Advisor, begin with MT5’s native tester. For discretionary practice, compare Forex Tester and other replay tools. If using Forex Tester automation, check its strategy API and optimizer. In every case, use out-of-sample and forward checks: a historical report is not a promise of live results.
What to do tomorrow
- Define the question and compatible runtime. State whether you are checking a manual decision, an EA rule, execution assumptions or shared portfolio funding. More than one tool may be useful; the label “manual” or “automatic” alone does not settle compatibility.
- Run a small reproducible control. Use available data and a permitted trial/local tester, record exact settings and inspect the first trades and journal. A fixed two-year period or moving-average crossover is an exercise choice, not validation of your actual strategy.
- Check history coverage and units. Compare ticks with minute records, sessions, quote fields and contract/cost settings. Downloading more data cannot repair every source or modelling mismatch.
- Preserve an independent evaluation protocol. Choose coverage and later periods before seeing results, retaining every searched variant. Six months is not universally sufficient; do not keep reusing the same “unseen” period after modifying rules.
Check your understanding
One short exercise
About 2 min · you can try again
Decision time is 10:20; High so far is 101. Price 110 appears at 10:50. A filter requires High ≥ 108. What follows?
- The filter fails at 10:20 because available High is 101.
- It passes because the hour’s final High is 110.
- A longer test allows using 110 at 10:20.
Check the answer and explanation
The filter fails at 10:20 because available High is 101.
101 < 108. The later 110 price is outside the information available at this decision.
Frequently asked
Is the Strategy Tester in MetaTrader free?
The terminal’s local Strategy Tester is separate from paid rented computation. Data, add-ons and hardware can also create costs. The MQL5 Cloud Network pricing FAQ charges for consumed agent resources and transmitted traffic; do not assume a universal free quota before payment. Confirm the agents selected and the actual account charge. A free local licence does not require buying cloud access, and paying for data does not by itself establish its quality.
Can I run my MT4 Expert Advisor inside Forex Tester?
Do not assume a compiled MT4 EX4 or MT5 EX5 file runs unchanged. Forex Tester Desktop documents its own automated strategies and adding a custom DLL expert; Online has its own automation interface and plans. A conversion must be checked against the functions, events and execution your programme uses. Compare first trades and costs in a controlled sample. Importing MT4 trade history for analysis is different from importing its robot code.
What does the "every tick based on real ticks" mode mean in MT5?
MT5 uses the broker’s recorded tick data where available. The tick-generation documentation says a minute with a minute bar but no corresponding ticks can use generated ticks; ticks without that minute bar are ignored. Check coverage and report, not just the selected mode. Bid/Ask fields, costs and execution assumptions still matter. Recorded quotes do not reproduce future available liquidity or guarantee fills, and the best mode depends on what the actual rule needs to observe.
Why does my backtest look great while the strategy loses live?
Inspect the specific discrepancy rather than assume three universal causes. Possibilities include selection on historical noise, future-data leakage, different costs, quote fields, code/events, shared funding or live execution. Find the first differing operation and separate controlled examples from performance evidence. Out-of-sample and walk-forward checks have their own assumptions; neither is a strongest universal safeguard nor a profit guarantee. A short demo agreement with a backtest does not certify live fills.
Sources & bibliography
-
MetaQuotes Trading Strategy Tester — MetaTrader 5 · Official documentation of robot testing, tick modeling, genetic optimization and distributed calculation through MQL5 Cloud Network. www.metatrader5.com ↗
-
MetaQuotes Strategy Testing — MetaTrader 5 Help (Algorithmic Trading) · Documents every-tick, real-tick and one-minute OHLC testing modes and their differences in modeling detail and speed. www.metatrader5.com ↗
-
MQL5 Reference (MetaQuotes) Testing Trading Strategies — MQL5 Reference · Documents strategy-tester operation, including NewTick events and how the selected modeling mode affects calls to an Expert Advisor's OnTick function. www.mql5.com ↗
-
Forex Tester Software Manual Backtesting for Trading — Forex Tester · The developer describes bar-by-bar manual testing, pausing and replay, and its offered historical-data features. forextester.com ↗
-
Forex Tester Software — Desktop Expert advisers in Forex Tester Desktop · Automatic strategy controls and custom DLL expert interface. Does not certify direct use of arbitrary MetaTrader EX4/EX5 files. desktop.forextester.com ↗
-
Forex Tester Software — Online Forex Tester Online — plan and automation features · Browser product lists robotic/half-automatic workflows, exit optimisation and trade-history import, under plan conditions; distinct from Desktop and EA-code import. forextester.com ↗
-
MetaQuotes MT5 Real and Generated Ticks · Recorded-tick coverage, minute-based fallback, Bid/Ask versus Last and generated-mode restrictions. Data mode does not guarantee live execution. www.metatrader5.com ↗
