Dukascopy
 
 
Wiki JStore Search Login

Historical Tester
 Post subject: Historical Tester Post rating: 0   New post Posted: Mon 06 May, 2013, 09:04 

User rating: 1
Joined: Mon 21 Jan, 2013, 09:11
Posts: 51
Location: New ZealandNew Zealand
Hi.
I have had a strategy written which runs very well with the Historical Tester, but remarkably poorly with live data.
Is it not reasonable to expect a strategy that works well with the historical data would also work well with live data?
I think there is an error in the program.
Any comments would be gratfully received.
Thanks,
Ted


 
 Post subject: Re: Historical Tester Post rating: 0   New post Posted: Mon 06 May, 2013, 09:59 
Visual JForex expert at Dukascopy
User avatar

User rating: 4
Joined: Fri 06 Feb, 2009, 16:34
Posts: 130
Mccluer840EU wrote:
Is it not reasonable to expect a strategy that works well with the historical data would also work well with live data?

We misunderstand your problem, can you be more specific? What you mean by "also work well"? :)


 
 Post subject: Re: Historical Tester Post rating: 0   New post Posted: Mon 06 May, 2013, 11:00 

User rating: 1
Joined: Mon 21 Jan, 2013, 09:11
Posts: 51
Location: New ZealandNew Zealand
Thank you for your response.

If I run the strategy with the Historical Tester, using one month of data, the strategy will open 80 to 90 trades with just 3 or 4 negative, that is losing money, all the other trades being positive.
If I run the strategy with live data, most trades are negative and lose money.

I clearly do not understand how the strategy is operating.
Using the Historical Tester there is a period that can be adjusted to 1min, 1hour, etc, and as well there is a period that is adjusted with the Default Parameters. Both have an impact on the profitability of the strategy.
But when the strategy is run with live data the only period that can be adjusted is with the default parameters. This is why there is a difference when run with historical data and live data.
I appreciate your help.
Ted


 
 Post subject: Re: Historical Tester Post rating: 0   New post Posted: Mon 06 May, 2013, 22:26 
User avatar

User rating: 7
Joined: Wed 04 Jul, 2012, 02:40
Posts: 109
Location: Australia, Melbourne
Hi Mccluer -

It sounds to me as if your have curve fit the system. Additionally 1 month of data is no where near enough. I build my systems across 10 years of data minimum. Optimization only happens in 1 year of data, so I have 9 years to validate a system for live data. Please note I have different software to do this with.

The other effecting factor could be the effects of slippage and comms. Also interest in overnight carry? I dont know if these have been taken into account.

Good luck!


 
 Post subject: Re: Historical Tester Post rating: 0   New post Posted: Thu 09 May, 2013, 11:23 

User rating: 1
Joined: Mon 21 Jan, 2013, 09:11
Posts: 51
Location: New ZealandNew Zealand
Hi.
Should the Tester be run with the period set to Tick?
I would like to run the strategy on a 1hour chart, so I presume the testing should also be done ay 1hour. Is this a reasonable approach?
Thanks. I have a lot to learn about the tester, which make your help valuable.
Ted


 
 Post subject: Re: Historical Tester Post rating: 0   New post Posted: Thu 09 May, 2013, 11:27 
User avatar

User rating: 7
Joined: Wed 04 Jul, 2012, 02:40
Posts: 109
Location: Australia, Melbourne
Hi Mccluer,

Is your code on tick? If you run the historic tester set to Tick - it plays through the data tick by tick, if you set it to 1 minute - it will step forwards 1 minute at a time.

Depends on your system, is your system an on tick , or on bar candle? If it is on candle and built for hourly - you could test with the historical tester setup to one hour. The advantage of this - is that the tester performs faster, (i.e loading every hour vs loading every tick).

Good luck =)

DoC


 
 Post subject: Re: Historical Tester Post rating: 0   New post Posted: Thu 09 May, 2013, 11:48 

User rating: 1
Joined: Mon 21 Jan, 2013, 09:11
Posts: 51
Location: New ZealandNew Zealand
Thank you DoC.
I will speak to the programmer, and pass on your information.
Ted


 
 Post subject: Re: Historical Tester Post rating: 0   New post Posted: Thu 09 May, 2013, 11:54 
User avatar

User rating: 7
Joined: Wed 04 Jul, 2012, 02:40
Posts: 109
Location: Australia, Melbourne
Mccluer - My pleasure, my contact details are in my profile so im happy to help where I can =)


 
 Post subject: Re: Historical Tester Post rating: 0   New post Posted: Fri 10 May, 2013, 00:27 

User rating: 1
Joined: Mon 21 Jan, 2013, 09:11
Posts: 51
Location: New ZealandNew Zealand
Hi Peter.
I passed on to the strategy developer the information you gave me yesterday, but I don't expect to get a reply because earlier in the day I had sent him my assessment of the program he had written for me. Briefly, the strategy opened trades when the criteria was not satisfied and failed to open trades when it should. But it was not completely useless, it was profitable.

The question I would like to ask is, what in the code do I look for to find out if it is set for tick, or 1min, or what it is set to. I would like it to be set for 1 hour.

I do have some experience in programming, but not with java. If there are major changes to be made I could perhaps get someone from the Computer Science Dept of the local university to help.
Thanks,
Ted


 
 Post subject: Re: Historical Tester Post rating: 0   New post Posted: Fri 10 May, 2013, 00:46 
User avatar

User rating: 7
Joined: Wed 04 Jul, 2012, 02:40
Posts: 109
Location: Australia, Melbourne
Hi Ted,

Ahh I just realised - you havent coded this in Visual Jforex - someone has coded a .java file or .jfx file for you. You would have got a better response in a different part of the forum: AUTOMATED TRADING > KNOWLEDGE BASE. This area is more for the Visual Jforex tool - however I'll still try and help:

If you can view the source code - you are looking for all the operations of the system to be called after the onbar - some info here:

https://www.dukascopy.com/client/javadoc ... ategy.html

It should have a line like this in it then following that all the code for the system:
public void onTick(Instrument instrument,


an example is here: https://www.quantisan.com/dissecting-a-j ... play-java/

Good luck =)


 

Jump to:  

cron
  © 1998-2024 Dukascopy® Bank SA
On-line Currency forex trading with Swiss Forex Broker - ECN Forex Brokerage,
Managed Forex Accounts, introducing forex brokers, Currency Forex Data Feed and News
Currency Forex Trading Platform provided on-line by Dukascopy.com