Discussão do artigo "Criando um Painel Administrativo de Negociação em MQL5 (Parte IX): Organização do Código (IV): Classe do Painel de Gerenciamento de Negociações"

 

Novo artigo Criando um Painel Administrativo de Negociação em MQL5 (Parte IX): Organização do Código (IV): Classe do Painel de Gerenciamento de Negociações foi publicado:

Esta discussão aborda o Painel de Gerenciamento de Negociações atualizado em nosso EA New_Admin_Panel. A atualização aprimora o painel utilizando classes integradas para oferecer uma interface intuitiva para gerenciamento de negociações. Ela inclui botões de negociação para abertura de posições e controles para gerenciamento de negociações existentes e ordens pendentes. Um recurso importante é o gerenciamento de risco integrado, que permite definir valores de stop loss e take profit diretamente na interface. Esta atualização melhora a organização do código para programas de grande porte e simplifica o acesso às ferramentas de gerenciamento de ordens, que frequentemente são complexas no terminal.

O principal objetivo dos nossos artigos é mostrar aplicações práticas do MQL5 em diversos projetos. Hoje, exploraremos o desenvolvimento de uma classe de Painel de Gerenciamento de Negociações, tendo em mente que, em MQL5, um cabeçalho de classe reúne declarações relacionadas. Nesse contexto, todos os recursos de negociação que pretendemos incluir em nosso painel herdarão de cabeçalhos de classes integradas como CTrade, CDialog, CLabel e CEdit.

Quando a classe estiver completamente desenvolvida, integraremos seus métodos ao programa principal, o EA NewAdminPanel. Nossa discussão não estaria completa sem compartilhar os resultados dos testes e fornecer os arquivos-fonte, permitindo que você revise a implementação, aproveite algumas ideias e experimente o código para aprimorar seus próprios projetos.

Nesta etapa, decidi centralizar a criação do painel inicial dentro do programa principal, pois isso não aumentou significativamente o tamanho do código. Embora a abordagem anterior tivesse suas vantagens, optei por esta estrutura para simplificar o desenvolvimento reduzindo dependências. Meu objetivo é manter o programa principal focado enquanto utilizo uma classe dedicada para cada recurso específico. Os elementos principais da interface agora são criados diretamente dentro do programa principal, resultando em um design mais simplificado e eficiente. Como resultado, não estamos mais chamando os métodos da classe AdminHomeDialog no NewAdminPanel. 

A imagem abaixo ilustra o que criaremos ao final da nossa discussão. Mas isso é apenas o começo, pois, uma vez construído, ele servirá como uma base sólida para futuras melhorias e aperfeiçoamentos.

Autor: Clemence Benjamin