View RSS Feed

mql5

Continuous Walk-Forward Optimization (Part 1): Working with Optimization Reports

Rate this Entry
by , 01-25-2020 at 10:16 AM (681 Views)
      
   
In the previous articles (Optimization Management (Part I) and Optimization Management (Part 2)) we considered a mechanism for launching the optimization in the terminal through a third-party process. This allows creating a certain Optimization Manager which can implement the process similarly to a trading algorithm implementing a specific trading process, i.e. in a fully automated mode without user interference. The idea is to create an algorithm which manages the sliding optimization process, in which forward and historical periods are shifted by a preset interval and overlap each other.


This approach to algorithm optimization can serve as strategy robustness testing rather than pure optimization, although it performs both roles. As a result, we can find out whether a trading system is stable and can determine optimal combinations of indicators for the system. Since the described process can involve different robot coefficient filtration and optimal combination selection methods, which we need to check in each of the time intervals (which can be multiple) the process can hardly be implemented manually. Moreover, thus we can encounter errors connected with data transfer or other errors related to the human factor. Therefore, some tools are needed that would manage the optimization process from the outside without our intervention. The created program meets the set goals. For a more structured presentation, the program creation process has been split into several articles, each of which covers a specific area of the program creation process.


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.
more...

Submit "Continuous Walk-Forward Optimization (Part 1): Working with Optimization Reports" to Google Submit "Continuous Walk-Forward Optimization (Part 1): Working with Optimization Reports" to del.icio.us Submit "Continuous Walk-Forward Optimization (Part 1): Working with Optimization Reports" to Digg Submit "Continuous Walk-Forward Optimization (Part 1): Working with Optimization Reports" to reddit

Comments