New article Optimization management (Part I): Creating a GUI has been
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
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