Strategy Tester not running over the full date range.

 
I have a problem while trying to use the Strategy Tester.

I run a test with "Use Date" selected from 2002.01.01 to 2012.01.01 using the attached EA which just prints out the date each period.

The EA only prints dates up until Sep 2009, the test never makes it to 2012.01.01.

There are no errors or warnings shown in the Journal and the Tester appears to finish successfully.

This occurs for different currency pairs and timeframes.

I am running MT4 build 419, and have tested on Vista 32, 64, and Windows 7 64, all showing the same issue, just slightly different points where the Tester decides to stop.

The data I'm using is downloaded from the history center, and charts show that clean/complete data does exist beyond the date the tester stops at.

If I change the dates of the test to be 2002.01.01 to 2009.01.01, the tester completes to the end date. If I use 2009.01.01 to 2012.01.01 it runs until early 2011. If I use 2011.01.01 to 2012.01.01, then it completes to the end date.

I have tried putting in a dummy trade, minimizing the data in the history, cleaning the data using the period converter, visually inspecting the data via the charts, reloading the data...

Tester settings are Model "Every Tick", Use Date "2002.01.01" to "2012.01.01", Period "Daily". I should add that the data I have says it gives me 90% modelling quality and the report says it has used bars in history that equate to the date range.


Please help, being able to run the tester and gather statistics from 2002.01.01 to 2012.01.01 would save me a great deal of redevelopment work to try and work around it.
Files:
 
What size is your fxt file ? you can find it in tester/history
 
RaptorUK:
What size is your fxt file ? you can find it in tester/history

Thanks for the reply...

The .fxt file is just under 4GB, are you thinking MT4 can't allocate the space to hold it?

I can get it to run to the end date if I change the Model to "Open prices only"...however this is not an ideal situation for backtesting.

 
StudentX:

Thanks for the reply...

The .fxt file is just under 4GB, are you thinking MT4 can't allocate the space to hold it?

I can get it to run to the end date if I change the Model to "Open prices only"...however this is not an ideal situation for backtesting.

I'm thinking that the fxt file is as big as it can be and it can only hold data from 2009.01.01 until early 2011. The range changes because some years have lower volume and thus fewer tick and thus less data, 4GB is it's limit, that is why it ends prematurely . . . I have had the same issue.

I think you will need to do your testing in multiple parts . . .

 
RaptorUK:

I'm thinking that the fxt file is as big as it can be and it can only hold data from 2009.01.01 until early 2011. The range changes because some years have lower volume and thus fewer tick and thus less data, 4GB is it's limit, that is why it ends prematurely . . . I have had the same issue.

I think you will need to do your testing in multiple parts . . .

Yeah, I think your right...

For anyone having the same issue that stumbles across this post, the work-around I used was to set Model to "Open Prices only" and lower the timeframe so it didn't effect the results. I checked my results against a run over a shorter time period using both Every Tick and Open Prices to ensure that setting the Model to "Open Prices only" didn't have an adverse effect over the longer time period.


Hope this helps...

 
StudentX:

Yeah, I think your right...

For anyone having the same issue that stumbles across this post, the work-around I used was to set Model to "Open Prices only" and lower the timeframe so it didn't effect the results. I checked my results against a run over a shorter time period using both Every Tick and Open Prices to ensure that setting the Model to "Open Prices only" didn't have an adverse effect over the longer time period.


Hope this helps...

Not all strategies will be suitable to use with open prices only . . . my EA's wouldn't for example.
 
I had a similar problem where MT4 couldn't handle the sheer volume of trades I was simulating and fell into a heap. The answer in that case was to simply break the backtest down into 1 year at a time. To make it easier on me at the end of the test I appended to my debug file on each run so I got the required massive trade file as one file rather than several. There would have been a few incorrect trades at the end of each year where the tester would close out all trades, but that would have been a small percentage and not critical.
Reason: