Discussion of article "Optimization management (Part I): Creating a GUI"

 

New article Optimization management (Part I): Creating a GUI has been published:

This article describes the process of creating an extension for the MetaTrader terminal. The solution discussed helps to automate the optimization process by running optimizations in other terminals. A few more articles will be written concerning this topic. The extension has been developed using the C# language and design patterns, which additionally demonstrates the ability to expand the terminal capabilities by developing custom modules, as well as the ability to create custom graphical user interfaces using the functionality of a preferred programming language.

To be able to work with the project, you should install Visual Studio IDE (Integrated Development Environment). This project was created using the Community 2019 version. During Visual Studio installation, you should also install .Net 4.6.1, which was used in developing this add-on. To help the readers, who do not have proficient knowledge of C#, in understanding the idea, I will provide detailed descriptions of specific language issues and of the techniques which I used during programming.

Since the most convenient method to create a graphical interface is to use the C# language and the MetaTrader terminal supports a convenient method for applying this language, we will use the provided possibilities. Recently, a few articles were published in this site, related to GUI creation using C#. These articles demonstrate GUI creation methods based on the Win Forms technology and a connecting dll which launches graphics using reflection mechanisms. The solution used by the article author is good enough, but for the current article I decided to use a more modern GUI development methods: using WPF technology.

As a result, I managed to avoid the connecting library, while implementing everything needed within one single dll. To solve the main task, we need to create the type of the project which would allow us to store graphic objects described using the WPF technology. The project should be compiled into the dynamic library (*.dll file), which can be then loaded into the terminal. This project type exists: WpfCustomControlLibrary. This type was especially developed for creating custom graphic objects. AN example of this is a library which plots charts. We will use this type for our specific purpose, i.e. for creating an add-on for the MetaTrader terminal. To create this project type, select it from the list of projects in IDEVisual Studio, as it is shown in the below screenshot:

Author: Andrey Azatskiy

 
I was trying to make a similar system, but the idea was to schedule optimizations and as they were finished the terminal would save the optimization in .csv with a projected name, for example: EA_XXX_v01_EURUSD_H1_OHLC_SET01
And later would go to the next scheduled optimization, the SETs should be saved in a folder, this way would optimize several robots during the day in several different periods and symbols, including facilitating a WFA or OOS.
Unfortunately I could not develop due to my little knowledge, I will follow your work. Congratulations!!
 
Joao Luiz Sa Marchioro:
I was trying to make a similar system, but the idea was to schedule optimizations and as they were finished the terminal would save the optimization in .csv with a projected name, for example: EA_XXX_v01_EURUSD_H1_OHLC_SET01
And later would go to the next scheduled optimization, the SETs should be saved in a folder, this way would optimize several robots during the day in several different periods and symbols, including facilitating a WFA or OOS.
Unfortunately I could not develop due to my little knowledge, I will follow your work. Congratulations!!

Thank you Luiz. Now I am working at the project as you has been described and soon there will be an articles about it.

 
Thank you ...
 
Greetings and tks again for your so useful work. Finalising the process trough recording data to a dox, xcl or csv file will be really useful please.
Thank you again.
 
Patrick Johnson:
Greetings and tks again for your so useful work. Finalising the process trough recording data to a dox, xcl or csv file will be really useful please.
Thank you again.

Unfortunately this project is not supported anymore. Now I am working on the walk forward auto optimiser (https://www.mql5.com/en/articles/7583)

Continuous Walk-Forward Optimization (Part 5): Auto Optimizer project overview and creation of a GUI
Continuous Walk-Forward Optimization (Part 5): Auto Optimizer project overview and creation of a GUI
  • www.mql5.com
In the previous articles, we considered the project part directly related to the terminal as well as the part describing the general application of the project. The previous article was ahead of the rest of the series. This was done for two reasons. Firstly, it serves as an instruction for using the application. Secondly, it illustrates the app...
Reason: