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

To add comments, please log in or register
MetaQuotes Software Corp.
Moderator
209904
MetaQuotes Software Corp.  

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

To add comments, please log in or register