Question on Computing Cross Currency Pairs

 

Hi Pros,

I would like to compute the profits in AUDJPY. But since this is a cross pair, I need to know the price of USDJPY.

In other words, At backtesting AUDJPY, I need the price of USDJPY.

I have downloaded the data for both AUDJPY and USDJPY, and then use MarketInfo("USDJPY",MODE_BID).

But the tester always give the value of 0 for MarketInfo("USDJPY",MODE_BID).

Does anybody know how to solve this problem?

Thank you

 

Proper backtesting on the crosses is not possible with strategy tester "out of the box" because of the very reason you have come upon.

Strategy tester does not allow you to access the price data for any other symbol than the one being backtested.

One way around this is to save your USDJPY data as a csv file which you then read with your EA during backtesting. It is time-intensive.

This shortcoming really makes it challenging to manage the equity aspects of a trade. Defining the equity at risk as well as profit potential/target is pretty much impossible because the price of the cross pair alone does not define the value of the trade (as you well know).

I'm sure there are elegant (fast) solutions out there to circumvent this issue, but I don't have such an elegant solution at hand at this time. If/when I do I will share it.

 
1005phillip:

Proper backtesting on the crosses is not possible with strategy tester "out of the box" because of the very reason you have come upon.

Strategy tester does not allow you to access the price data for any other symbol than the one being backtested.

One way around this is to save your USDJPY data as a csv file which you then read with your EA during backtesting. It is time-intensive.

This shortcoming really makes it challenging to manage the equity aspects of a trade. Defining the equity at risk as well as profit potential/target is pretty much impossible because the price of the cross pair alone does not define the value of the trade (as you well know).

I'm sure there are elegant (fast) solutions out there to circumvent this issue, but I don't have such an elegant solution at hand at this time. If/when I do I will share it.


great comments, thank you phillip!
Reason: