Q: “The backtesting script works fine for USD-based currency pairs but if I use any other pairs, JPY-based or other crosses it gives an “exchange rate cannot be calculated error”.
I see this on every EA that I test if the currency is not USD based. Any ideas?”
A: This is an MT4 limitation (occurs when you’re not connected to the broker’s server) when testing a non USD pair with a USD account (or a non-EUR pair on a EUR account, etc.) using the backtesting scripts. You can override this by selecting a different account currency for the backtest. This is done by pressing the [Expert properties] button in the Strategy tester to bring up the following window:
Now you need to set the currency for the initial deposit to reflect the currency in the tested currency cross (for EURGBP, EURCHF, and EURJPY you need to select EUR as your initial deposit currency).
If you are looking for the most accurate backtesting method for all chart types on Metatrader (including renko and range bars), please see Tick Data Suite 2.x.