Optimiser Errors "no disk space in ticks generating function" - page 2

 
if this continues, then, i will prefer to use my mini pc for backtesting and optimising, OVER my ryzen 5600X.
 
Michael Charles Schefe #:
if this continues, then, i will prefer to use my mini pc for backtesting and optimising, OVER my ryzen 5600X.

Just had a thought, if you were reading a CSV or binary file to do anything just do it once in the OnInit to lower I/O usage 

 
Casey Courtney #:

Just had a thought, if you were reading a CSV or binary file to do anything just do it once in the OnInit to lower I/O usage 

It is an ea from marketplace.

And all is great now. albeit I dont know how it will go with live testing. I usually have an AUD account, however, to fix the issue I changed the optimiser to test with EUR currency. I am sure that the settings wont be optimal for a different currency.
 
Michael Charles Schefe #:

It is an ea from marketplace.

And all is great now. albeit I dont know how it will go with live testing. I usually have an AUD account, however, to fix the issue I changed the optimiser to test with EUR currency. I am sure that the settings wont be optimal for a different currency.

How many symbols are you running the optimization across? I don't understand how you generated such a fat page file. Before I knew much about optimization and watched the Darwinex videos there was one time I optimized 7 parameters for an EA on 10 years on real tick data from dukascopy for USDJPY and I didn't even disable any agents and yeah it was paging a little but it never threw the no disk space error and I only had 100gb of storage left then. This was also with 12 cores 16gb of RAM so a lot less than what you are describing. Were you optimizing for any custom performance metrics or something? You must have literally the most memory inefficient EA out there, does it use Comment() to display text in the corner? If so then I'm pretty sure that might have been eating your RAM: https://www.mql5.com/en/code/53499

Comment
Comment
  • www.mql5.com
A simple replacement for a comment. Works in the tester 50 times faster than the standard function.
 
Casey Courtney #:

How many symbols are you running the optimization across? I don't understand how you generated such a fat page file. Before I knew much about optimization and watched the Darwinex videos there was one time I optimized 7 parameters for an EA on 10 years on real tick data from dukascopy for USDJPY and I didn't even disable any agents and yeah it was paging a little but it never threw the no disk space error and I only had 100gb of storage left then. This was also with 12 cores 16gb of RAM so a lot less than what you are describing. Were you optimizing for any custom performance metrics or something? You must have literally the most memory inefficient EA out there, does it use Comment() to display text in the corner? If so then I'm pretty sure that might have been eating your RAM: https://www.mql5.com/en/code/53499

pagefile? i dont have a pagefile. In the start i did, but i forced windows to set that size of pagefile. And it was being used because I was optimising on AUD account, whereas my symbol is EurGbp. Once I changed my deposit currency to EUR, my memory used per core/thread dropped from 5.2gb each core/thread, down to 2gb each core/thread, which then allowed me to completely delete/remove the pagefile; but also increase my active agents from 7 to 12, with 30gb to spare and 5 - 10% cpu left free for normal computer usage.

Feel free to ask more questions and give more advice; i am willng to try anything; albeith I am extremely happy with the improvements made thus far.

/EDIT: just testing the 1 symbol. 

and 0 comments. However, i think that it is using prices, and 0 indicators.

 
i meant 30% not 30 gigs
 
First of all I want to ask you if you need real ticks, or if just based on the convinciton that testing real ticks is better in any case. 

There are some EAs that do not need them, and you will get exact same results than 1 minute HLOC without wasting time and resources. (Only EA author can explain this). But of course you can make a comparison of few months between 2 methods to understand if there are differences or not.

Then, i strongely suggest to limit your active agents to a fixed amount and not leave the tester to take all it wants. Sometimes having 4 agents working with all resources they need is better than running 8 agents with capped resources.

Also, check on the EA if there are any visual input that you can disable to improove the backtest speed. Usually authors need to care about it, but most of people do not.
 
Fabio Cavalloni #:
First of all I want to ask you if you need real ticks, or if just based on the convinciton that testing real ticks is better in any case. 

just the conviction as you said but also the author didnt and wouldnt provide any suggestions how to run it.

Fabio Cavalloni #:
There are some EAs that do not need them, and you will get exact same results than 1 minute HLOC without wasting time and resources. (Only EA author can explain this). But of course you can make a comparison of few months between 2 methods to understand if there are differences or not.

ok. sounds great. I will try this next week.

Fabio Cavalloni #:
Then, i strongely suggest to limit your active agents to a fixed amount and not leave the tester to take all it wants. Sometimes having 4 agents working with all resources they need is better than running 8 agents with capped resources.

Also, check on the EA if there are any visual input that you can disable to improove the backtest speed. Usually authors need to care about it, but most of people do not.

the parameters that i am optimising are tp and sl of buys and tp and sl of sells, ie 4 parameters. My system is 8 cores, 16 threads. I have done few days tests with just 8 agents, and 12 doing the same test from scratch, ie with previous data deleted; is 15% faster than using just the 8 agents. And using the 12 i still have 30% memory free; and this leaves 5 - 10% cpu for me when i am browsing the web or watching media player; and no, i am not typing this on the same system that is doing the test.

keep the advice coming!

 
Fabio Cavalloni #:
First of all I want to ask you if you need real ticks, or if just based on the convinciton that testing real ticks is better in any case. 

There are some EAs that do not need them, and you will get exact same results than 1 minute HLOC without wasting time and resources. (Only EA author can explain this). But of course you can make a comparison of few months between 2 methods to understand if there are differences or not.

new test, same settings cept i changed to 1m HLOC -- as advised -- and after just 5 hours, has done 30% of same number of tests, that the previous test had done in 5 days. And so far, 100% same test results. eg the results in new test are all in the results of the previous test.

So, i think it "goes without saying", I am going to continue with this current test.

Thanks for the advice.

 
Michael Charles Schefe #:

pagefile? i dont have a pagefile. In the start i did, but i forced windows to set that size of pagefile. And it was being used because I was optimising on AUD account, whereas my symbol is EurGbp. Once I changed my deposit currency to EUR, my memory used per core/thread dropped from 5.2gb each core/thread, down to 2gb each core/thread, which then allowed me to completely delete/remove the pagefile; but also increase my active agents from 7 to 12, with 30gb to spare and 5 - 10% cpu left free for normal computer usage.

Feel free to ask more questions and give more advice; i am willng to try anything; albeith I am extremely happy with the improvements made thus far.

/EDIT: just testing the 1 symbol. 

and 0 comments. However, i think that it is using prices, and 0 indicators.

I just reread this comment because I'm going to build a workstation and I want it to be capable of doing 28 pairs on real tick data during optimizations and I'm deciding on how much RAM I want for it and I just realized 5.2gb per core is crazy even 2gb is crazy I get an average of 1gb per core in a multisymbol EA. Its 1gb per core for me and I'm using 11/12 cores and my current computer only has 16GB of RAM so windows is already using like ~6-7 for me because of whatever bloatware. I can run 3 symbols on the same timeframe in said multisymbol EA and across 3 years of real tick data from dukascopy before it starts throwing the "no disk space in ticks generating function". Its definitely a RAM issue because I have more than enough disk space and idk how much RAM your system has but if your doing 16 cores then thats 16 x 5.2 = around 83gb of RAM needed, no wonder its crashing lol. Also I thought my code was memory inefficient but apparently not if yours is eating 5x the memory mine does and on only one symbol, might wanna talk to the developer and tell them not to use AI or EA builders. I even force all my indicators to use #property tester_everytick_calculate and it still averages at about 1gb per core during optimization. For anyone wondering you can check by opening the task manager at hitting "details" and then scroll down until you find metatrader.