Discussão do artigo "Gerenciando otimizações (Parte I): Criando uma interface gráfica do usuário"

 

Novo artigo Gerenciando otimizações (Parte I): Criando uma interface gráfica do usuário foi publicado:

Este artigo descreve um processo para criar uma extensão projetada para o terminal MetaTrader. Essa solução ajuda a automatizar o processo de otimização através de sua execução em outros terminais. Outros artigos serão escritos com base neste artigo para desenvolver este tópico. A extensão será escrita usando linguagem C# e modelos de programação, o que, além do objetivo principal deste artigo, mostrará não apenas a capacidade do terminal de expandir os recursos originalmente criados através da escrita de templates próprios, mas também como criar facilmente gráficos personalizados numa linguagem com os recursos mais convenientes para isso.

Para começar, vale a pena decidir que, para trabalhar com o projeto, será necessário instalar o IDE (Integrated Development Environment) do Visual Studio. Este projeto foi criado usando a versão Community do 2019. Além disso, durante a instalação do estúdio, é preciso instalar o .Net 4.6.1, pois este complemento é escrito com ajuda dele. Também vale a pena dizer que, para que os leitores que não são bem versados em C# possam entender rapidamente a essência da questão, tentarei descrever em detalhes alguns pontos específicos desta linguagem e as técnicas que usei durante a programação.

Como é mais conveniente criar a interface gráfica usando a linguagem C# e o terminal MetaTrader suporta uma maneira amigável de encaixar com essa linguagem, vale a pena usar essa possibilidade. Além disso, há pouco, no fórum apareceram vários artigos sobre a criação de interfaces gráficas usando C#. Esses artigos apresentam uma boa maneira de criar interfaces gráficas baseadas na tecnologia Win Forms e uma biblioteca dll de encaixe que inicia gráficos através de mecanismos de reflexão. A solução usada pelo autor destes artigos é muito boa, mas para o atual eu decidi usar uma versão mais moderna de escrever interfaces gráficas, nomeadamente através da tecnologia WPF.

Como resultado, conseguimos, sem uma biblioteca de encaixe, amoldar tudo numa única biblioteca dll. Para resolver nossa tarefa, precisamos criar um tipo de projeto que nos permita armazenar os objetos gráficos descritos usando a tecnologia WPF e compilar numa biblioteca dinâmica (arquivo *.dll) que pode ser carregada posteriormente no terminal. Este tipo de projeto existe, ele é WpfCustomControlLibrary. Esse tipo de projeto foi projetado especificamente para criar objetos gráficos personalizados, por exemplo, para criar uma biblioteca que desenha gráficos. Vamos usá-lo para nossos próprios propósitos, particularmente para criar nossa extensão para o terminal MetaTrader. Para criar este projeto, precisamos selecioná-lo na lista de projetos no IDEVisual Studio, como mostra a imagem:

Autor: Andrey Azatskiy

Razão: