Discussion of article "Continuous Walk-Forward Optimization (Part 5): Auto Optimizer project overview and creation of a GUI"
What to do ? How to optimise ?
In article #4 - instructions on how to optimise
- www.mql5.com
Andrei, what is the correct way to fill in the "APPEND_BOT_PARAM" fields? Should all the parameters of the Expert Advisor be entered there or only those that need to be optimised at the moment?
All parameters of the Expert Advisor should be entered there.
And why should they be filled in the Expert Advisor code, when they are available in the main window of "Metatrader Auto Optimiser"?
The point is that in the main window of Metatrader Auto Optimiser these parameters are taken from (*set) file generated by the terminal. But in the optimisation reports, where robot parameters are also saved, the parameters are written by the robot itself at the moment of report generation. If you do not enter these parameters, then in the first place, the auto optimiser will not be able to run a test on the optimisations already made earlier, because to run tests - it takes parameters from the files of the optimisation report, which as I wrote above - are generated by the robot itself at the end of the optimisation process. Secondly, there will be problems in the process of optimisation, because having selected the passage according to the selected criteria, it will not be able to run the test because it will not find the parameters of the robot with which the test should be run. Or rather, the test will be launched most likely, but it will not be launched with the expected parameters.
It is probably wise to use alternative proven options for obtaining this information.
It's probably wise to use alternative proven options to get this information.
Can you suggest some alternatives? The thing is that the robot itself generates the report, and I decided not to use the standard upload that the terminal does, for the reason that I wanted to add more data to the report. In principle, this is done once, not at each optimisation, so I do not think that it should be very difficult, but if there is a more convenient way, I am ready to tweak the code.
Can you suggest variants? The point is that the robot itself generates the report, but I decided not to use the standard upload that the terminal does for the reason that I wanted to add more data to the report. In principle, this is done once, not at each optimisation, so I do not think that it should be very difficult, but if there is a more convenient way, I am ready to adjust the code.
In KB MTTester.mqh, where you can get all the settings of the EA at any time. Well, and pull sets from the Optimisation results - also.
In the MTTester.mqh KB, where you can get all EA settings at any time. Well, and pull sets from the Optimisation results - also.
Well, I don't need to pull out sets, it counts everything by itself, but I thank you for the mechanism of automation of receiving settings, I will study it at my leisure and try to implement it in the new version.
Suggest variants ?
Well, and as an option: minimally connect frames to the Expert Advisor and use FrameInputs().
Well, and as an option: minimally connect frames to the Expert Advisor and use FrameInputs().
I would not like to use frames, but I thank you for your advice. Using the current variant, only one class is connected to the Expert Advisor, while frames are a whole mechanism with a set of methods for working with them. Besides, as far as I remember they support only primitive data types, and I wanted to save structures in files, so I decided to use xml markup.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
New article Continuous Walk-Forward Optimization (Part 5): Auto Optimizer project overview and creation of a GUI has been published:
This article provides further description of the walk-forward optimization in the MetaTrader 5 terminal. In previous articles, we considered methods for generating and filtering the optimization report and started analyzing the internal structure of the application responsible for the optimization process. The Auto Optimizer is implemented as a C# application and it has its own graphical interface. The fifth article is devoted to the creation of this graphical interface.
Let's move on to the graphical interface. Earlier, we considered a method for creating an add-on for the MetaTrader 5 in the C# language and ways of combining its functions with an Expert Advisor by using a DLL and the OnTimer callback. In the current implementation, the auto optimizer will be implemented outside the terminal. Now it runs as an external optimizations manager and imitates the work of a trader who launches optimizations and processes the results. Furthermore, by avoiding simultaneous optimizations in several terminals running on the same computer and by implementing the auto optimizer as a separate application, we can access absolutely all terminals that are installed on the computer, including the computer on which the optimizer is running. This computer could not be used in the previous project.
That is why the current project is not implemented entirely as a DLL, but it is now divided into a DLL and an executable file of the auto optimizer project.
As can be seen from the above screenshot, the project window consists of a Header, a Footer, and a TabControl with two tabs: Settings and Reports. The header part and the footer of the window are not changed, no matter which tab is selected in the central part, providing easy access to all control elements located in these parts.
Author: Andrey Azatskiy