Run a reproducible MT5 EA backtest: install the robot, choose broker data and modeling, check inputs, inspect trades, save reports and avoid common mistakes.
A useful MT5 backtest is a documented experiment. It records what software ran, which data it used, what costs and execution assumptions applied, and how the robot behaved. Clicking Start and reading net profit is only the beginning.
This guide walks through a first baseline test. MT5 labels below use the English interface; a broker-branded terminal may display slightly different wording. You do not need to program an EA to follow the workflow. You do need its installation instructions, an appropriate broker account and enough time to inspect the result.
Define one question before opening the tester
Begin with a test statement: “Can I reproduce this EA’s documented behavior on this broker’s exact symbol using an unchanged preset?” This is a stronger first question than “How much can I make?” It separates software verification from parameter selection.
Create a folder for the experiment. Name it with the EA version, broker, symbol and date range. Save the original binary and preset, plus a short note identifying their origin. If you later optimize, use a separate folder. Otherwise, a successful optimized result can quietly replace the baseline you meant to evaluate.
Write down capital, currency, account mode and leverage. Set a risk configuration appropriate to the experiment, and label it explicitly as a test setting. Changing leverage changes margin constraints; it does not create a strategy edge or make a stop-loss reliable through every market event.
Install the EA and verify dependencies
In MT5, choose File → Open Data Folder. Place the EX5 file in MQL5/Experts, or the documented subfolder there. Refresh Expert Advisors in Navigator or restart the terminal. A robot distributed with separate indicators or data files may need additional installation steps.
Confirm the EA appears in Navigator and that its inputs are accessible. A file being present does not prove that the program can initialize. Review any startup errors. If the product requires a license for demo use, follow the manual rather than assuming the tester and chart modes use identical permission rules.
For EA #001, the supplied source distinguishes historical Strategy Tester use from demo/live license validation. That is a product-specific design, not a general MT5 rule. Use each robot’s own documentation when checking online dependencies.
Open Strategy Tester and choose the experiment
Open View → Strategy Tester, or use Ctrl+R. Select the EA, the broker’s exact symbol and the intended host timeframe. A robot that constructs internal Renko bricks can use a timeframe for its host chart without taking its signals from ordinary candles. Record both the host timeframe and the Renko settings.
Set explicit start and end dates. Check that the available history covers the period and allows the indicators to initialize. Select the initial deposit and leverage. Turn optimization off for this first run. MetaQuotes documents these controls in the Strategy Testing guide. [1]

Choose a modeling mode that matches the strategy
For a final evaluation of tick-sensitive behavior, begin with Every tick based on real ticks when the broker provides the required history. This matters for intrabar stops, trailing logic and internal tick-built Renko. Real-tick data still needs inspection; missing intervals may be filled using generated ticks according to the platform’s data rules. [2]
Every tick generates an intraminute path from historical bar data. 1 minute OHLC and Open prices only simplify the path further. Faster modes can help with preliminary questions only when the EA’s logic supports their assumptions. A robot reacting to a brief wick or the order of price events cannot be validated by a model that omits those events.
Do not confuse a quality label with execution realism. Historical quotes do not reproduce every live queue, gap, rejection, liquidity constraint or network interruption. A backtest is a model of operation, not a rehearsal with guaranteed fills.
Load inputs and document costs
Open Inputs and load the supplied SET file. Confirm the filename and values correspond to the intended release. Note position sizing, stop rules, entry filters, trading hours and any multi-symbol settings. Keep the original values for the baseline.
Check symbol specifications and any available advanced testing settings for commissions and account conditions. Inspect swap and commission in the resulting trade ledger. If the ledger shows zero commission, document that observation. It does not establish that every broker offers commission-free execution.
Make the experiment auditable with this record:
| Item | Example record—not a recommended configuration |
|---|---|
| Software | EA name, release and binary checksum |
| Market | Broker server and exact symbol suffix |
| Data | Start/end dates, modeling mode and journal notes |
| Account | USD 5,000, specified leverage and account mode |
| Inputs | Archived SET, sizing method and all filters |
| Costs | Observed spread context, commission, swap and delay assumptions |
Run the baseline and read the journal
Click Start and allow history synchronization to complete. The first test may take longer because history must be downloaded. If the run stops unexpectedly, check dates, available data, initialization errors, memory limits and the tester journal before changing parameters.
An empty report is a diagnostic result. Ask whether the EA initialized, whether it received sufficient history and whether a trading permission or filter blocked entries. Test a shorter interval containing an expected signal, or temporarily isolate one documented filter in a clearly labelled diagnostic run. Do not quietly substitute that diagnostic result for the unchanged baseline.
The journal provides synchronization and execution information. Save relevant warnings alongside the report; a clean profit figure does not erase an initialization or data problem. [3]

Inspect several trades in visual mode
Run a short visual test with optimization disabled. Pick trades from different conditions: one winner, one loser, one near a session boundary and one involving an unusual move. Check what information was available when the EA entered, whether the stop was placed, and what actually closed the position.
For divergence logic, distinguish the pivot’s historical location from the later time when the pivot became confirmed. A signal drawn on an older brick can look early even though it was only tradable later. Inspect event order instead of assuming a plotted marker means the algorithm knew the future.
Record discrepancies in terms of rules: “exit after one opposite brick although the preset requested two” is actionable. “The trade looked wrong” is not. Visual inspection checks behavior; it cannot establish future profitability.
Save a complete result, including failures
Export the tester report using the report option offered by your MT5 build. Save the SET, test configuration, journal notes and useful screenshots. If the exported HTML has companion image files, retain the entire group so charts remain available when the report is opened elsewhere.
Create a one-paragraph conclusion: what the test showed, which assumptions remain uncertain and the next experiment. For example, you might reproduce entries but discover that transaction costs were incomplete. The next action is then a cost audit, not a wider optimization.

Before you call the baseline complete
- The EA version and preset are archived together.
- Exact broker, symbol, dates and modeling are recorded.
- Initialization and data warnings have been reviewed.
- Sizing, stops and at least several trades were inspected.
- Costs are stated, including anything not verified.
- The full report and accompanying charts are saved.
- The result is labelled historical and has not been presented as a forecast.
Frequently asked questions
Can I backtest without writing code?
Yes. An installed EA can be tested through the MT5 interface. Custom statistical analysis or changes to the robot may require code, but a reproducible baseline does not.
Why does my result differ from the seller’s report?
Compare software version, preset, broker history, symbol specification, dates, modeling, capital, costs and execution assumptions. Match these before concluding that the difference comes from the strategy itself.
Should I optimize immediately after a profitable baseline?
First verify behavior and assumptions. Optimization amplifies whatever experiment you define, including mistakes. A profitable baseline is a starting observation, not permission to skip validation.
Sources and further reading
Original educational guide by MT5 Robot Lab. Platform details are checked against the linked documentation; worked examples and diagrams are identified as illustrative. Last updated: .