How to Run a Multi-Currency Backtest on MT5

BY TIOmarkets

|June 10, 2026

One of the meaningful upgrades in MetaTrader 5 over MT4 is the Strategy Tester. MT4's strategy tester is single-threaded and limited to one symbol at a time; MT5's is multi-threaded, supports real tick data, and can backtest across multiple symbols simultaneously. For traders working on portfolio strategies, pairs trades, basket approaches, or any Expert Advisor that operates on more than one instrument, MT5's multi-currency mode is the feature that makes the testing practical.

This guide covers how to run a multi-currency backtest on the MT5 desktop terminal: opening the Strategy Tester, configuring it for multiple symbols, understanding what your EA needs to look like to support multi-currency mode, choosing a modelling type, running the test, and reading the results. It is a desktop-only feature; the MT5 mobile app and web platform do not include strategy testing.

What Multi-Currency Backtesting Is

A standard backtest runs an Expert Advisor against historical data for a single symbol, replaying the bars and ticks in chronological order so the EA can simulate the trades it would have placed. A multi-currency backtest does the same thing across two or more symbols simultaneously, with the EA receiving updates from all symbols in the correct historical sequence.

This matters for several types of strategies. Pairs trading depends on the relationship between two instruments and cannot be tested by running each separately. Portfolio EAs that allocate across a basket of symbols need to see all of them at once to make allocation decisions. Correlation-based strategies, hedging strategies, and strategies that filter signals on one symbol using context from another all require multi-currency testing to produce meaningful results.

Running each symbol separately and combining the results manually does not reproduce the same outcome, because the EA does not see the cross-symbol state at the moment of each decision. Multi-currency mode is the way to get a faithful test.

Why MT5 Specifically

The MT4 Strategy Tester is single-threaded and tests one symbol at a time. There is no multi-currency mode and no way to simulate cross-symbol logic accurately. EAs that work across multiple instruments cannot be properly backtested in MT4; they have to be tested live or paper-traded.

MT5's Strategy Tester was rewritten to support multi-threaded execution, real tick data, and multiple symbols. The same Strategy Tester runs both single-symbol and multi-currency backtests, with the multi-currency mode activated by the EA itself (the EA's code requests data from additional symbols beyond the primary one) or by the tester's configuration.

For TIOmarkets MT5 accounts, the Strategy Tester is available in the desktop terminal with the same 263 symbols accessible on the live platform. The data available for backtesting is the historical data the platform has stored locally; for symbols you have not opened recently, the platform downloads the history when the test starts.

Opening the Strategy Tester

To open the Strategy Tester on MT5 desktop, press Ctrl+R or go to View > Strategy Tester. A new pane opens at the bottom of the platform (or as a separate window, depending on your layout settings).

The Strategy Tester pane has several tabs across the top: Settings (where you configure the test), Inputs (EA-specific input parameters), Journal (log messages during the run), and Results (charts and reports after the run). The Settings tab is where you set up the multi-currency configuration.

The main fields in the Settings tab are:

  • Expert Advisor: the EA to test, selected from a dropdown of compiled EAs in your MQL5/Experts folder
  • Symbol: the primary symbol for the test (others can be added in code or in the symbol list if available)
  • Period: the chart timeframe for the test
  • Dates: the historical date range to test
  • Modelling: the simulation type (Every tick, Every tick based on real ticks, 1 minute OHLC, Open prices only)
  • Forward: an optional forward-testing period to validate results
  • Deposit: the starting account balance for the simulation
  • Leverage: the leverage to apply during the test
  • Optimisation: disabled by default; can be enabled to scan multiple parameter combinations

Configuring for Multi-Currency

Multi-currency mode in MT5 is activated through a combination of the EA's code and the Strategy Tester's configuration. The EA must explicitly request data from additional symbols beyond its primary one. This is done in MQL5 using functions such as SymbolSelect(), iTime(), iClose(), SymbolInfoDouble(), and similar, with the symbol name passed as a parameter.

If the EA does not call any of these multi-symbol functions, the Strategy Tester runs it as a single-symbol test against the primary symbol only. If the EA does request data from other symbols, the tester recognises this and switches into multi-currency mode automatically, downloading and synchronising the historical data for those additional symbols before running the test.

For the test to be accurate, the EA needs to handle the timing of cross-symbol updates correctly in its code. Tick events arrive for each symbol independently, and the EA's logic has to account for that. A simple cross-symbol filter (for example, "only trade EURUSD when GBPUSD is also trending up") is straightforward; a complex portfolio allocator requires more careful EA design.

If you are running someone else's EA rather than writing your own, the EA's documentation should indicate whether it supports multi-currency testing and which additional symbols it expects.

Choosing a Modelling Mode

MT5 supports four modelling modes, each with different speed/accuracy trade-offs.

Every tick based on real ticks uses the platform's stored real tick data for the period you are testing. This mode reproduces the actual ticks that occurred, including the actual spreads and timing, rather than approximating them. It is also slower than the other modes, particularly for multi-currency tests where ticks from multiple symbols are interleaved. This mode requires that real tick data is available for all symbols in the test; for symbols where it is not, the platform falls back to generated ticks.

Every tick generates ticks from the bar data using a model. It is faster than real ticks but less accurate; the generated ticks are an approximation of how price might have moved between bar opens and closes, not a record of what actually happened.

1 minute OHLC uses only the minute-bar open, high, low, and close prices, with no intra-minute simulation. This is faster still and acceptable for strategies that only act on bar closes, but it misses intra-bar price action that some strategies depend on.

Open prices only uses only bar open prices. This mode runs quickly with reduced fidelity, suitable mostly for very high-level checks and parameter optimisation where you want to run thousands of combinations in a short time.

For an initial multi-currency backtest, "Every tick based on real ticks" is the gold standard if your test period is short enough to run in reasonable time. For longer periods or for optimisation, "1 minute OHLC" is often the practical compromise.

Running the Test

Once the Settings tab is configured, click the Start button at the bottom of the Strategy Tester pane. The platform begins downloading historical data for all symbols involved (if not already cached locally) and starts the simulation.

A progress bar shows the percentage complete. Multi-currency tests take longer than single-symbol tests, especially with the real-tick modelling mode. The Journal tab shows messages from the EA and from the tester as the run progresses; useful for spotting compilation issues, data warnings, or runtime errors.

When the test finishes, the Results tab populates with statistics: total trades, gross profit, gross loss, profit factor, expected payoff, drawdown, recovery factor, Sharpe ratio, and others. A graph shows the equity curve over the test period. Detailed per-trade information is available in the Backtest report, which can be opened from a right-click menu in the Results pane.

For multi-currency tests, the trade log distinguishes which symbol each trade was placed on, so you can see how the EA performed across the basket as a whole and on each instrument individually.

Optimisation and Forward Testing

Beyond a single backtest, MT5's Strategy Tester also supports parameter optimisation. Enabling optimisation in the Settings tab lets you specify ranges or sets of values for input parameters; the tester then runs the EA with each combination and reports which produced the best result on the chosen metric.

For multi-currency strategies, optimisation can be valuable but also risky. Parameter sets that look strong on historical data may not generalise to live trading. Forward testing (running the strategy on a separate period not used for optimisation) is the standard way to check whether optimisation results are likely to hold up.

The Forward field in the Settings tab lets you reserve a portion of the test period for forward testing automatically. The optimiser runs on the earlier period, then the best parameter set is run on the reserved forward period. Comparing the two helps you identify over-fitted parameter sets.

For TIOmarkets MT5 accounts, both optimisation and forward testing are available in the desktop Strategy Tester at no additional cost beyond your normal platform usage.

Practical Considerations

A few practical points are worth keeping in mind when running multi-currency backtests on MT5.

Backtesting is desktop only. The MT5 mobile app and web platform do not include the Strategy Tester. If you are developing or testing EAs, the desktop platform is required.

EAs are not allowed on accounts using the unlimited leverage feature at TIOmarkets. The unlimited leverage feature on the Standard account is incompatible with EA execution. For backtesting and for live EA use, choose an account configuration that supports EAs (Raw, VIP Black, or Standard without unlimited leverage selected).

Multi-currency backtest accuracy depends on the historical data available. The platform stores tick and bar data for symbols you have used recently; for less-traded symbols, the data may need to be downloaded at the start of the test. If real tick data is not available for some symbols in the period you are testing, the tester falls back to generated ticks for those symbols, which reduces accuracy.

Demo accounts often execute instantly and may not fully replicate live slippage conditions. Backtest results, no matter how carefully configured, are a model of the past rather than a prediction of the future. Forward testing on demo (live data, simulated balance) is a useful intermediate step before deploying any strategy to a live account.

Finally, performance during multi-currency optimisation can be CPU-intensive. The MT5 multi-threaded tester uses all available cores by default, which speeds the run substantially but also makes the computer less responsive for other tasks during the optimisation. For long runs, consider running overnight or on a dedicated machine.

Trading at TIOmarkets

TIOmarkets offers MetaTrader 5 and MetaTrader 4 on desktop, web, and mobile, across four account types. The Standard account is created automatically on registration with a minimum deposit of $20 or currency equivalent. The Raw and VIP Black accounts are opened separately through the client area. The Nano account is MT5 only with a $20 minimum deposit, USD only. Hedging is supported on all accounts. A swap-free Islamic account is available; contact TIOmarkets for eligibility and instrument requirements. Copy trading is available on both MT4 and MT5.

Orders are executed at the best available market price, which may result in positive or negative slippage. Demo accounts often execute instantly and may not fully replicate live slippage conditions. Spreads are variable and are typically higher than minimum figures shown. Leverage on each instrument is subject to change depending on market conditions and applicable regulatory requirements. You can review the full list of account types on the TIOmarkets accounts page.

Inline Question Image

FAQ

  • Can I backtest multiple symbols at once on MT4?

  • What does the EA need to support multi-currency testing?

  • Which modelling mode should I choose?

  • Can I use the Strategy Tester on a live or demo account?

  • Do I need an EA written in MQL5 specifically?

Risk disclaimer: CFDs are complex instruments and come with a high risk of losing money rapidly due to leverage. You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money. Never deposit more than you are prepared to lose. Professional client’s losses can exceed their deposit. Please see our risk warning policy and seek independent professional advice if you do not fully understand. This information is not directed or intended for distribution to or use by residents of certain countries/jurisdictions including, but not limited to, USA & Countries included in the OFAC sanction list. The Company holds the right to alter the aforementioned list of countries at its own discretion.

TIOmarkets offers an exclusively execution-only service. The views expressed are for information purposes only. None of the content provided constitutes any form of investment advice. The comments are made available purely for educational and marketing purposes and do NOT constitute advice or investment recommendation (and should not be considered as such) and do not in any way constitute an invitation to acquire any financial instrument or product. TIOmarkets and its affiliates and consultants are not liable for any damages that may be caused by individual comments or statements by TIOmarkets analysis and assumes no liability with respect to the completeness and correctness of the content presented. The investor is solely responsible for the risk of his/her investment decisions. The analyses and comments presented do not include any consideration of your personal investment objectives, financial circumstances, or needs. The content has not been prepared in accordance with any legal requirements for financial analysis and must, therefore, be viewed by the reader as marketing information. TIOmarkets prohibits duplication or publication without explicit approval.

Join us on social media

Social Media
Social Media
Social Media
Social Media
Social Media
Social Media
Social Media
Social Media
Authors BIO
TIOmarkets
TIOmarkets

Behind every blog post lies the combined experience of the people working at TIOmarkets. We are a team of dedicated industry professionals and financial markets enthusiasts committed to providing you with trading education and financial markets commentary. Our goal is to help empower you with the knowledge you need to trade in the markets effectively.