Developing MT4 auto optimization files software

 
I need a custom software for MT4, let me explain you.

I waste a lot of time time writing hundreds names for each optimization during backtesting. 
Could it be possible to develop a Software which could write the settings automatically the name of the files (report name like .html and optimization set as .set).

Could it be possible during optimization process?

For example:

When I optimize any EA, I need to write automatically the name of the file and current settings and results for each optimization (customizable):

File Name; Pair; date From;date To; Net profit, Draw down %, Trades, optimization setting 1; optmization setting 2; etc.... version last +1 (and .html and .set)

EA Robot1 - EURUSD - 2007-2017 - NetProfit 54812.08 - DD 9.95% - Trades 3642 - Setting A True - Setting B False - Risk 2000 - Timeframe H1 - version 129 .html
etc...

Thank you in advance!
 
Qtmt4:
Could it be possible during optimization process?

A simple way:

The OnTester() event runs after every step of the optimization.

So, at the bottom of OnTester(), open a file, append your custom values (perhaps as CSV), and close the file.

Thus, the file is opened and closed once per each step of the optimization.

Since the optimizer can use multiple threads, it's possible that two OnTester() events may try to write to the file at the same time. I haven't actually seen this happen yet.


There is a slightly more complex way using OnTesterInit() and OnTesterDeinit(), but because OnTester() is on it's own thread, you must pass data between the memory spaces using frames.

 
Anthony Garot:

A simple way:

The OnTester() event runs after every step of the optimization.

So, at the bottom of OnTester(), open a file, append your custom values (perhaps as CSV), and close the file.

Thus, the file is opened and closed once per each step of the optimization.

Since the optimizer can use multiple threads, it's possible that two OnTester() events may try to write to the file at the same time. I haven't actually seen this happen yet.


There is a slightly more complex way using OnTesterInit() and OnTesterDeinit(), but because OnTester() is on it's own thread, you must pass data between the memory spaces using frames.

You forgot it's MT4 topic. No muliple threads, no OnTesterInit() or OnTesterDeinit().

 
Alain Verleyen:

You forgot it's MT4 topic. No muliple threads, no OnTesterInit() or OnTesterDeinit().

Ah, yes. Good catch.

Reason: