Does Strategy tester work for multi-Symbol EA ?

 

can I backtest an EA which is multi-symbol using strategy tester.


in the EA, in inputs, I specify, the names of symbols to be trades in a comma separated format. eg: EURUSD, GBPUSD, EURCHF. etc

so when I attach the EA on any ONE chart, it can place trades for all the symbols which I have entered in the input in comma separated format.


But my question is that, can this EA be backtested  in strategy tester ?

 

That's no problem at all. MetaTrader 5 Tester allows you to test multi-symbol Expert Advisors without any problems.

The only thing you need to know: depending on which symbol you place your EA on, there will be a different number of ticks.

 

Well I'm not sure...

I have created two custom symbols (EURUSD.1 and EURUSD.2) with the exact same real ticks, from Tick Data Suite.

I am testing one Year of data, same strategy same rules.

When my script refers to  EURUSD.1 and the strategy tester is running on EURUSD.1 I get the exact same results as when my script refers to EURUSD.2 and the strategy tester is running on EURUSD.2.

I do get very different results, when my script refers to EURUSD.1 and The Strategy Tester is running on EURUSD.2

Same for the other way round: EURUSD.2 to EURUSD.1

 
@mzalessandro #: Well I'm not sure... I have created two custom symbols (EURUSD.1 and EURUSD.2) with the exact same real ticks, from Tick Data Suite. I am testing one Year of data, same strategy same rules. When my script refers to  EURUSD.1 and the strategy tester is running on EURUSD.1 I get the exact same results as when my script refers to EURUSD.2 and the strategy tester is running on EURUSD.2. I do get very different results, when my script refers to EURUSD.1 and The Strategy Tester is running on EURUSD.2. Same for the other way round: EURUSD.2 to EURUSD.1

Is your EA relying only on the OnTick() event handler?

If so, then it will be favouring the current symbol over the others and give somewhat different results.

If you truely want the same results, then your code must give the exact same opportunities to all the traded symbols and process their data synchronously.

Depending on your strategy's entry and exit rules, you may also need to use the "tester_everytick_calculate" property for the Strategy Tester.

Reason: