Console Optimizer w/ Cross-Currency pairs

Section for all discussions related to development using Indicore API/SDK.

Moderator: admin

Console Optimizer w/ Cross-Currency pairs

Postby rrrix1 » Tue Sep 10, 2013 7:58 pm

Hello,

I need a little help - I'm attempting to use the ConsoleOptimizer64 with cross currency pairs, but cannot seem to get the Optimizer results to match Marketscope - they're not nearly identical.

For example, my account currency is USD. I would like to backtest a strategy for GBP/JPY.

I assume I need to pick "Price Source" as one of USD/JPY or GBP/USD (not sure which), set my account currency to "USD", use the Second Instrument Price source as GBP/JPY and select "Run strategy at" -> "Use Second Instrument".

Is this correct, or do I have these parameters mixed up?

What is the proper way, for a USD account, to choose the first instrument? Should it be USD/JPY (where USD is the contract currency) or GBP/USD (where GBP is the contract currency for both the first and the second instrument?)

Any help will be appreciated, I'm a bit stuck and can't get these results to match Marketscope.

I'm happy to share the strategy, the optimization project, and any other files/data as needed.

Thanks in advance!
rrrix
rrrix1
 
Posts: 11
Joined: Fri Jan 27, 2012 1:33 pm

Re: Console Optimizer w/ Cross-Currency pairs

Postby Valeria » Wed Sep 18, 2013 2:53 am

Hi rrrix,

Yes, you do it right:
- First Instrument = USD/JPY
- Second Instrument = GBP/JPY
- Account Currency = USD
- Run the strategy at = Second Instrument

Please pay attention to these parameters:
Are closing orders allowed,
Is hedging allowed,
Non-sleepgae mode,
Initial amount,
MMR,
Lot size
( you can read more about it here)

If the parameters are right the difference between the results of the Console Optimizer and Trading Station should not be critical.

Also please note that if Optimizer uses genetic algorithm there always will be different results. This is the way how it works.
Valeria
 

Re: Console Optimizer w/ Cross-Currency pairs

Postby rrrix1 » Thu Oct 24, 2013 1:08 pm

Just wanted to follow up in case any one else is looking at this issue.

I was having trouble up until today until I stumbled across something.

The source1 counter currency should be your account currency when available, and the source1 contract currency should be the source2 counter currency.

You will get different results between ConsoleOptimizer and Marketscope if the source1 contract currency is the account currency when another pair is available where source2 counter is source1 contract.

This is particularly important where the account currency (USD) is the counter currency (AUD/USD), not the contract currency (USD/CHF).

For account currency in USD, some example pairs:

EUR/AUD
source1=AUD/USD (not EUR/USD)
source2=EUR/AUD
run-at=2

AUD/NZD
source1=NZD/USD (not AUD/USD)
source2=AUD/NZD
run-at=2

NZD/CHF
source1=USD/CHF
source2=NZD/CHF
run-at=2

With these combinations your single run backtest results using specific parameters from ConsoleOptimizer and Marketscope should match 100%. As Valeria mentioned the Optimization results will always differ slightly due to genetic algorithm.

Hopefully this saves someone a headache down the line.
rrrix1
 
Posts: 11
Joined: Fri Jan 27, 2012 1:33 pm


Return to Discussions

Who is online

Users browsing this forum: No registered users and 4 guests