Discussion of article "Continuous Walk-Forward Optimization (Part 1): Working with Optimization Reports"

 

New article Continuous Walk-Forward Optimization (Part 1): Working with Optimization Reports has been published:

The first article is devoted to the creation of a toolkit for working with optimization reports, for importing them from the terminal, as well as for filtering and sorting the obtained data. MetaTrader 5 allows downloading optimization results, however our purpose is to add our own data to the optimization report.

This part is devoted to the creation of a toolkit for working with optimization reports, for importing them from the terminal, as well as for filtering and sorting the obtained data. To provide a better presentation structure, we will use the *xml file format. Data from the file can be read by both humans and programs. Moreover, data can be grouped in blocks inside the file and thus the required information can be accessed faster and easier.

Our program is a third-party process written in C# and it needs to create and read created *xml documents similarly to MQL5 programs. Therefore, the report creation block will be implemented as a DLL which can be used both in MQL5 and C# code. Thus, in order to develop an MQL5 code, we will need a library. We will first describe the library creation process, while the next article will provide description of the MQL5 code that works with the created library and generates optimization parameters. We will consider these parameters in the current article.

Report Structure and Required Ratios

As already shown in previous articles, MetaTrader 5 can independently download the report of optimization passes, however it does not provide as much information as the report generated on the Backtest tab after completion of a test with a specific set of parameters. In order to have greater scope in working with optimization data, the report should include many of the data displayed on this tab, as well as provide for the possibility to add more custom data to the report. For these purposes, we will download our own generated reports instead of the standard one. Let's start with the definition of three data types required for our program:

  • Tester settings (the same settings for the whole report)
  • Trading Robot settings (unique for each optimization pass)
  • Coefficients describing the trading results (unique for each optimization pass)

Author: Andrey Azatskiy

 

Somewhere, in the description of Metatrader-4, I saw a phrase, the meaning of which was that MQL4 was created specifically so that any housewife could describe her strategy and run it on the terminal. Not everyone here is a software engineer.

Maybe MQ will someday come down to automate the process of optimisation right in the tester, but for now enthusiasts have to construct methods with the help of third-party tools from MQL. Thank you, Andrey Azatskiy, for your efforts. I hope that at the end of the article series there will be a brief instruction on using your software for those who cannot quickly understand what was written in the article.

 
Good Beer:

Somewhere, in the description of Metatrader-4, I saw a phrase, the meaning of which was that MQL4 was created specifically so that any housewife could describe her strategy and run it on the terminal. Not everyone here is a software engineer.

Maybe MQ will someday come down to automate the process of optimisation right in the tester, but for now enthusiasts have to construct methods using third-party tools from MQL. Thank you, Andrey Azatskiy, for your efforts. I hope that at the end of the article series there will be a brief instruction on using your software for those who cannot quickly understand what was written in the article.

There was an article about step-by-step forward optimisation using MQL, without third-party tools, in a single instance of the terminal:

Articles

Walk-Forward Optimisation in MetaTrader 5 - with your own hands

Stanislav Korotky, 2017.06.08 15:03

The article discusses approaches that allow to emulate walk-forward optimisation quite accurately using the built-in tester and auxiliary libraries implemented in MQL.

 
Good Beer:

Somewhere, in the description of Metatrader-4, I saw a phrase, the meaning of which was that MQL4 was created specifically so that any housewife could describe her strategy and run it on the terminal. Not everyone here is a software engineer.

Maybe MQ will someday come down to automate the process of optimisation right in the tester, but for now enthusiasts have to construct methods using third-party tools from MQL. Thank you, Andrey Azatskiy, for your efforts. I hope that at the end of the article series there will be a brief instruction on using your software for those who cannot quickly understand what was written in the article.

I plan to write two more articles. The second article will explain in detail how to hook up this forward optimiser to any robot you have the source code for, and the last article will explain the forward optimiser itself and a video example of how to run it.

 
Stanislav Korotky:

There was an article about step-by-step forward optimisation using MQL, without third-party tools, in a single terminal instance:


It is possible, but third-party tools also have their advantages. They will be discussed later.

 
Stanislav Korotky:

There was an article about step-by-step forward optimisation using MQL, without third-party tools, in a single terminal instance:


.....c by connecting a paid library. I think it works on SQLite?
 
Good Beer:
.....c by connecting a paid library. I think it runs on SQLite?

There are no dependencies, only MQL.

That article describes in detail 2 ways to perform Walk-Forward analysis with a standard tester, which can be implemented in a simplified form for free. The library just contains some usefulness in ready form, like calculation of all major trading indicators and construction of "stitched" html reports.

 
Stanislav Korotky:

There are no dependencies, only MQLs.

That article describes in detail 2 ways to perform Walk-Forward analysis with a standard tester, which you can implement in a simplified form for yourself for free. The library just contains some usefulness in ready form, like calculation of all main trading indicators and construction of "stitched" html reports.

And really. A couple of tips are given. Sorry, didn't notice in the mass of text. It is quite sufficient for understanding.
 
In the future, if you discuss Stanislav's article, write in the thread of his articles, thank you.
 

With regard to optimisation, I recall a phrase of Ostap Bender - when he was asked "Why was payment introduced when touring the "Failure", he replied: "So that you don't fail too much".

So it is with optimisation, if the TC is created on the basis of traditional approaches.

The robot's model (algorithm) should be based on the elementary structure (and the dynamics of changes in its parameters) rather than on the readings of traditional indicators.

Then optimisation becomes not an endless, incomprehensible selection to market dynamics (and to historical data), but a more conscious process, where the number of parameters to be optimised is reduced by an order of magnitude.

of optimised parameters is reduced by an order of magnitude.

This is how this issue is solved in the theory of impulse equilibrium.

 
Aleksandr Masterskikh:

As for optimisation, I remember a phrase of Ostap Bender - when he was asked "And why payment was introduced when touring the "Failure", he replied: "So that you don't fail too much".

So it is with optimisation, if the TC is created on the basis of traditional approaches.

The robot's model (algorithm) should be based on the elementary structure (and the dynamics of changes in its parameters), not on the readings of traditional indicators.

Then optimisation becomes not an endless, incomprehensible selection to the market dynamics (and to historical data), but a more conscious process, where the amount of

of optimised parameters is reduced by an order of magnitude.

This is how this issue is solved in the theory of impulse equilibrium.

Such blatant advertising, especially in several topics in a row, is not welcome on the forum, but it is your business.