Tester: Automated Optimization of a Trading Robot in Real Trading

 

New article Automated Optimization of a Trading Robot in Real Trading has been published:

The articles describes and provides a library of functions that allows a trader to optimize his or her Expert Advisor's inputs by launching optimization directly from the EA.

Author: Igor Malcev

 
https://www.mql5.com/ru/code/7090 - Library for version 204 and also for more new versions
 
One step that is missing is we need to Allow DLL imports.

TimeFreedom
 

Hi,


How does the auto_optimization.mqh features compare to that of using neural networks for the purpose of auto_optimization? Do you think NN is more advanced and faster?

 
skyhr:

Hi,

How does the auto_optimization.mqh features compare to that of using neural networks for the purpose of auto_optimization? Do you think NN is more advanced and faster?


It is difficult to me to judge, I did not work with neural networks.
 
This is an excellent approach to bypassing a major limitation of MT4. Thanks for your careful work. I have a question about it's application to training neural networks, which is very much like optimization of EA parameters, except that the optimization is more directed, so that brute force testing of every combination is not required, hence many more parameters may be handled. (Genetic choice of parameter sets to optimize may be applied in either case).

I have just finished reading the article "Using Neural Networks In MetaTrader" (/en/articles/1565). That is an excellent article that provides code to integrate the FANN neural net program into MT4. However, it does not easily support the usual training method for neural nets. Usually we divide the available data into three sets: a training set, a validation set, and a testing set. Then we train over the training set, periodically testing over the validation set until the desired performance is achieved, or until we decide it cannot be achieved. This may take hundreds of iterations of the train/validate cycle. Finally we test over the out-of-sample testing set. Or in case of live operation, just use the result live.

Using the methods in the article cited, one must use strategy tester to train over the training set manually, then validate over the validation set manually, then continue training until the validation set indicates suitable performance, then finally test over the testing set. This must all be done manually, and since it may require hundreds of iterations, training/validation is typically shortened, and the resulting net is not suitably trained.

It seems that your Automated Optimization approach could be modified to handle the problem of training neural nets, and would make such nets much more useful to the rest of us. Such a project is beyond my meager programming skills, but might be a simple modification to you. Is there any chance that you might make look into such a modification?


Thanks again for this article, it must have been a major effort.

 
MadCow:
This is an excellent approach to bypassing a major limitation of MT4. Thanks for your careful work. I have a question about it's application to training neural networks, which is very much like optimization of EA parameters, except that the optimization is more directed, so that brute force testing of every combination is not required, hence many more parameters may be handled. (Genetic choice of parameter sets to optimize may be applied in either case).

I have just finished reading the article "Using Neural Networks In MetaTrader" (/en/articles/1565). That is an excellent article that provides code to integrate the FANN neural net program into MT4. However, it does not easily support the usual training method for neural nets. Usually we divide the available data into three sets: a training set, a validation set, and a testing set. Then we train over the training set, periodically testing over the validation set until the desired performance is achieved, or until we decide it cannot be achieved. This may take hundreds of iterations of the train/validate cycle. Finally we test over the out-of-sample testing set. Or in case of live operation, just use the result live.

Using the methods in the article cited, one must use strategy tester to train over the training set manually, then validate over the validation set manually, then continue training until the validation set indicates suitable performance, then finally test over the testing set. This must all be done manually, and since it may require hundreds of iterations, training/validation is typically shortened, and the resulting net is not suitably trained.

It seems that your Automated Optimization approach could be modified to handle the problem of training neural nets, and would make such nets much more useful to the rest of us. Such a project is beyond my meager programming skills, but might be a simple modification to you. Is there any chance that you might make look into such a modification?

Thanks again for this article, it must have been a major effort.

Thanks for an estimation of my works.

I write now the new program.
Many new functions in the program are put.
Testing and optimisation will be much more convenient. I write the program on C #.
I think нейросетевые advisers it will be possible to optimise in it.

 
When tester() is called, there is no response? the value of start > 0, ini file is in the tester folder, .set file is in the tester folder too. EA is compiled. DLL is allowed. What is the problem? thanks
 
marshall318:
When tester() is called, there is no response? the value of start > 0, ini file is in the tester folder, .set file is in the tester folder too. EA is compiled. DLL is allowed. What is the problem? thanks

The problem is probably linked to score registration in TerminalTester.
In new versions MT4 score registration at connection is required.
 
xeon:
marshall318:
When tester() is called, there is no response? the value of start > 0, ini file is in the tester folder, .set file is in the tester folder too. EA is compiled. DLL is allowed. What is the problem? thanks

The problem is probably linked to score registration in TerminalTester.
In new versions MT4 score registration at connection is required.
What is score registration ? Where can I find it? thanks
 
marshall318:
xeon:
marshall318:
When tester() is called, there is no response? the value of start > 0, ini file is in the tester folder, .set file is in the tester folder too. EA is compiled. DLL is allowed. What is the problem? thanks

The problem is probably linked to score registration in TerminalTester.
In new versions MT4 score registration at connection is required.
What is score registration ? Where can I find it? thanks


I about it

Reason: