Speed up optimization process!!

 

Hi All,

I have been optimizing Expert Advisors and I noticed it takes an awful amount of time to optimize them! It takes me few hours for a full optimization. I realized this has to do with my processors and RAM.

Can you recommend me some PCs or specific processors or RAM specs I should look for?

My goal is get an optimization done in roughly 30 mins. It is just an estimate, I understand that optimization's time vary from number of inputs and amount of historical data analyzed.

If anyone can help me, I will aprreciate!

Thanks in advance

 

try this

#property tester_no_cache   // at the start of the file

string                     common_folder;

int OnInit()
  {
   common_folder=TerminalInfoString(TERMINAL_COMMONDATA_PATH);

it will use common data for all agents, speeds mostly the pre-init phase when it creates the files to work with, and makes it easier for the processing phase as every combination will be put as a first come first serve for the processors

 
the stronger CPU you run it by, the faster you get.

maybe intel i9 10900k suit you well.

but i strongly recommend you to reduce the accuracy at the beginning by setting the price mode to M1 OHLC or just open price.

after having optimized several times, you can get a  better and smaller value range for your parameters.

then you will continue optimizing with a higher accuracy again, like M1 OHLC or every tick.

reducing the accuracy at the beginning will significantly save your time.
 
scur #:

try this

it will use common data for all agents, speeds mostly the pre-init phase when it creates the files to work with, and makes it easier for the processing phase as every combination will be put as a first come first serve for the processors

Don't want to be rude, but both of your suggestions don't make sense at all. So maybe you know something the documentation doesn't mention? Maybe you can provide us with some more explanation or sources, so we can integrate it in our future implementations?

Because:

1. The manual says #property tester_no_cache:

When performing optimization, the strategy tester saves all results of executed passes to the optimization cache, in which the test result is saved for each set of the input parameters. This allows using the ready-made results during re-optimization on the same parameters without wasting time on re-calculation.

None of what you said rhymes with this.

2. TERMINAL_COMMONDATA_PATH is just a system variable, storing that variable in a variable within your own program doesn't trigger or set anything regarding the behavior of the optimization. Furthermore, it's just the location of where you are allowed to read from/write to within the MT5 sandbox.

Common path for all of the terminals installed on a computer

Strategy Optimization - Algorithmic Trading, Trading Robots - MetaTrader 5 Help
  • www.metatrader5.com
The Strategy Tester allows you to test and optimize trading strategies ( Expert Advisors ) before using them for live trading. During testing, an...
Reason: