Artigos sobre programação nas linguagens MQL4 e MQL5

icon

Leia os artigos publicados aqui para aprender MQL5, a linguagem das estratégias de negociação. A maioria desses artigos foi escrita por vocês, membros da MQL5.community. Todos eles estão divididos em categorias para encontrar respostas rápidas relacionadas a aspectos específicos da programação: "Integração", "Testador", "Estratégias de negociação" e muito mais.

Acompanhe as novas publicações e participe de suas discussões no Fórum!

Novo artigo
recentes | melhores
preview
Aprendendo PrintFormat() e obtendo exemplos prontos para uso

Aprendendo PrintFormat() e obtendo exemplos prontos para uso

Este artigo será útil tanto para iniciantes quanto para desenvolvedores experientes. Nele, analisaremos a função PrintFormat(), veremos exemplos de formatação de strings e escreveremos modelos para a exibição de diferentes informações no log do terminal.
preview
Modelos de classificação da biblioteca Scikit-learn e sua exportação para o formato ONNX

Modelos de classificação da biblioteca Scikit-learn e sua exportação para o formato ONNX

Neste artigo, exploraremos o uso de todos os modelos de classificação do pacote Scikit-learn para resolver o problema de classificação dos íris de Fisher, tentaremos convertê-los para o formato ONNX e usaremos os modelos resultantes em programas MQL5. Também compararemos a precisão dos modelos originais e suas versões ONNX no Iris dataset completo.
preview
Teoria das Categorias em MQL5 (Parte 12): Ordem

Teoria das Categorias em MQL5 (Parte 12): Ordem

Este artigo faz parte de uma série sobre a implementação de grafos usando a teoria das categorias no MQL5 e é dedicado à teoria da ordem (Order Theory). Consideraremos dois tipos básicos de ordenação e exploraremos como os conceitos de relação de ordem podem auxiliar os conjuntos monoidais na tomada de decisões de negociação.
DoEasy. Controles (Parte 32): "ScrollBar" horizontal, rolagem com a roda do mouse
DoEasy. Controles (Parte 32): "ScrollBar" horizontal, rolagem com a roda do mouse

DoEasy. Controles (Parte 32): "ScrollBar" horizontal, rolagem com a roda do mouse

Neste artigo, concluiremos o desenvolvimento do funcional do objeto de barra de rolagem horizontal. Vamos habilitar a capacidade de rolar o conteúdo do contêiner movendo o controle deslizante da barra de rolagem e girando a roda do mouse. Além disso, faremos adições à biblioteca para acomodar a nova política de execução de ordens e os novos códigos de erro de tempo de execução no MQL5.
preview
Redes neurais de maneira fácil (Parte 19): Regras de associação usando MQL5

Redes neurais de maneira fácil (Parte 19): Regras de associação usando MQL5

Continuamos o tópico de busca de regras de associação. No artigo anterior, consideramos os aspectos teóricos desse tipo de problema. No artigo de hoje, ensinarei a implementação do método FP-Growth usando MQL5. Também vamos testá-la com dados reais.
preview
Algoritmos de otimização populacionais: Busca por cardume de peixes (FSS - Fish School Search)

Algoritmos de otimização populacionais: Busca por cardume de peixes (FSS - Fish School Search)

O FSS (Fish School Search) é um algoritmo avançado de otimização inspirado no comportamento dos peixes que nadam em cardumes. Aproximadamente 80% desses peixes nadam em comunidades organizadas de parentes, o que tem sido comprovado como uma estratégia importante para melhorar a eficiência de procura por alimento e proteção contra predadores.
preview
Algoritmos de otimização populacionais: Algoritmo do morcego

Algoritmos de otimização populacionais: Algoritmo do morcego

Hoje estudaremos o algoritmo do morcego (Bat algorithm, BA), que possui convergência incrível em funções suaves.
preview
Desenvolvimento de uma DLL experimental com suporte a multithreading em C++ para MetaTrader 5 no Linux

Desenvolvimento de uma DLL experimental com suporte a multithreading em C++ para MetaTrader 5 no Linux

Este artigo descreve o processo de desenvolvimento para a plataforma MetaTrader 5 exclusivamente em Linux. O produto final funciona tanto no Windows quanto no Linux sem nenhum problema. Veremos o Wine e o Mingw, ferramentas importantes para o desenvolvimento entre plataformas. O Mingw apresenta threads (POSIX e Win32), que você deve levar em conta ao escolher uma ferramenta adequada. Criaremos também uma DLL para testar o conceito e usá-la no código MQL5, comparando o desempenho das duas implementações de threading. O artigo tem como objetivo ser um ponto de partida para a realização de seus próprios experimentos. Depois de ler este artigo, você será capaz de criar ferramentas para o MetaTrader no Linux.
preview
Teoria das Categorias (Parte 9): Ações dos monoides

Teoria das Categorias (Parte 9): Ações dos monoides

Esse artigo é a continuação da série sobre a implementação da teoria das categorias em MQL5. Nele são discutidas as ações de monoides como um meio de transformar os monoides descritos no artigo anterior para aumentar suas aplicações.
preview
Teoria das Categorias em MQL5 (Parte 8): Monoides

Teoria das Categorias em MQL5 (Parte 8): Monoides

Esse artigo continua a série sobre a implementação da teoria da categoria em MQL5. Aqui, apresentamos os monoides como um domínio (conjunto) que distingue a teoria da categoria de outros métodos de classificação de dados ao incorporar regras e um elemento de equivalência.
preview
Stop-loss e take-profit amigáveis ao trader

Stop-loss e take-profit amigáveis ao trader

Stop-loss e take-profit podem ter um impacto significativo nos resultados do trading. Neste artigo, vamos explorar algumas maneiras de encontrar os valores ótimos para ordens de stop.
preview
Redes neurais de maneira fácil (Parte 49): Soft Actor-Critic (SAC)

Redes neurais de maneira fácil (Parte 49): Soft Actor-Critic (SAC)

Continuamos nossa exploração dos algoritmos de aprendizado por reforço na resolução de problemas em espaços de ação contínua. Neste artigo, apresento o algoritmo Soft Actor-Critic (SAC). A principal vantagem do SAC está em sua capacidade de encontrar políticas ótimas que não apenas maximizam a recompensa esperada, mas também têm a máxima entropia (diversidade) de ações.
preview
Algoritmos de otimização populacionais: Algoritmo do macaco (MA)

Algoritmos de otimização populacionais: Algoritmo do macaco (MA)

Neste artigo, estaremos analisando o algoritmo do macaco (Monkey Algorithm, MA). A habilidade destes animais ágeis para superar obstáculos complexos e atingir as partes mais inacessíveis das árvores foi a inspiração para a concepção do MA.
preview
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 6): transformada de Fourier

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 6): transformada de Fourier

A transformada de Fourier é um método de decompor uma onda de pontos de dados em possíveis partes constituintes que foi introduzida por Joseph Fourier. Esse recurso pode ser útil para os traders, e é isso que abordaremos neste artigo.
preview
Redes neurais de maneira fácil (Parte 48): métodos para reduzir a superestimação dos valores da função Q

Redes neurais de maneira fácil (Parte 48): métodos para reduzir a superestimação dos valores da função Q

No artigo anterior, nós exploramos o método DDPG, projetado para treinar modelos em espaços de ação contínua. No entanto, como outros métodos de aprendizado Q, ele está sujeito ao problema da sobreavaliação dos valores da função Q. Esse problema geralmente leva eventualmente ao treinamento de um agente com uma estratégia não otimizada. Neste artigo, examinaremos algumas abordagens para superar o problema mencionado.
preview
Redes neurais de maneira fácil (Parte 42): Procrastinação do modelo, causas e métodos de resolução

Redes neurais de maneira fácil (Parte 42): Procrastinação do modelo, causas e métodos de resolução

A procrastinação de modelos no contexto do aprendizado por reforço pode ser causada por vários motivos, e a solução desse problema requer medidas apropriadas. Este artigo discute algumas das possíveis causas da procrastinação do modelo e métodos para superá-las.
preview
Redes neurais de maneira fácil (Parte 45): Ensinando habilidades para investigar estados

Redes neurais de maneira fácil (Parte 45): Ensinando habilidades para investigar estados

Aprender habilidades úteis sem uma função de recompensa explícita é um dos principais desafios do aprendizado por reforço hierárquico. Anteriormente, já nos familiarizamos com dois algoritmos para resolver esse problema. Mas a questão da completa exploração do ambiente ainda está em aberto. Neste artigo, é apresentada uma abordagem diferente para o treinamento de habilidades, cujo uso depende diretamente do estado atual do sistema.
preview
Desenvolvendo um sistema de Replay (Parte 26): Projeto Expert Advisor — Classe C_Terminal

Desenvolvendo um sistema de Replay (Parte 26): Projeto Expert Advisor — Classe C_Terminal

Talvez já podemos começar a desenvolver um Expert Advisor a ser utilizado no replay / simulação. Mas não iremos criar qualquer coisa, este precisará ser algo um pouco mais bem elaborado. Mas não nos deixemos nos levar pelo grau de dificuldade neste primeiro momento. Temos de começar a fazer as coisas partindo de algum ponto. Caso contrário apenas iremos nos conformar, imaginando o qual difícil o desafio é, sem ao menos tentarmos de fato superar este obstáculo. Vida de programador de fato é isto: Encontrar um obstáculo e tentar superar ele, via estudo, testes e bastante pesquisa.
preview
Linguagem de programação visual DRAKON — ferramenta de comunicação Desenvolvedor/Cliente MQL

Linguagem de programação visual DRAKON — ferramenta de comunicação Desenvolvedor/Cliente MQL

DRAKON é uma linguagem de programação visual especialmente desenvolvida para facilitar a interação entre especialistas de diferentes áreas (biólogos, físicos, engenheiros...) com programadores em projetos espaciais russos (por exemplo, na criação do complexo "Buran"). Neste artigo, vou falar sobre como o DRAKON torna a criação de algoritmos acessível e intuitivamente compreensível, mesmo para quem nunca teve contato com código, e também como é mais fácil quer seja para o cliente explicar suas ideias ao encomendar robôs de negociação quer seja para o programador cometer menos erros em funções complexas.
preview
Experimentos com redes neurais (Parte 6): O perceptron como uma ferramenta de previsão de preços autossuficiente

Experimentos com redes neurais (Parte 6): O perceptron como uma ferramenta de previsão de preços autossuficiente

Veja um exemplo do uso do perceptron como um meio autossuficiente de previsão de preços. Esse artigo aborda conceitos gerais, apresenta um Expert Advisor simples e pronto para uso e os resultados de sua otimização.
preview
Implementando um algoritmo de treinamento ARIMA em MQL5

Implementando um algoritmo de treinamento ARIMA em MQL5

Neste artigo, implementaremos um algoritmo que aplica o modelo integrado de autorregressão com média móvel (modelo Box-Jenkins) usando o método de minimização de função de Powell. Box e Jenkins afirmaram que a maioria das séries temporais pode ser modelada usando uma ou ambas das duas estruturas.
preview
Teoria das Categorias em MQL5 (Parte 23): uma nova perspectiva sobre a média móvel exponencial dupla

Teoria das Categorias em MQL5 (Parte 23): uma nova perspectiva sobre a média móvel exponencial dupla

Neste artigo, continuamos a explorar indicadores de negociação populares sob uma nova ótica. Vamos processar a composição horizontal de transformações naturais. O melhor indicador para isso é a média móvel exponencial dupla (Double Exponential Moving Average, DEMA).
Algoritmos de otimização populacional
Algoritmos de otimização populacional

Algoritmos de otimização populacional

Este é um artigo introdutório sobre a classificação do algoritmo de otimização (OA). O artigo tenta criar um banco de teste (um conjunto de funções), que deve ser usado para comparar os OAs e, talvez, identificar o algoritmo mais universal de todos os que são amplamente conhecidos.
preview
Como desenvolver um sistema de negociação baseado no indicador Bear's Power

Como desenvolver um sistema de negociação baseado no indicador Bear's Power

Bem-vindo a um novo artigo em nossa série sobre como desenvolver um sistema de negociação com base nos indicadores técnicos mais populares, aqui está um novo artigo sobre como aprender a desenvolver um sistema de negociação pelo indicador técnico Bear's Power.
preview
Como desenvolver um sistema de negociação baseado no indicador Bull's Power

Como desenvolver um sistema de negociação baseado no indicador Bull's Power

Bem-vindo a um novo artigo em nossa série sobre como desenvolver um sistema de negociação com base nos indicadores técnicos mais populares, aqui está um novo artigo sobre como aprender a desenvolver um sistema de negociação pelo indicador técnico Bull's Power.
preview
Alan Andrews e suas técnicas de análise de séries temporais

Alan Andrews e suas técnicas de análise de séries temporais

Alan Andrews é um dos mais renomados "educadores" do mundo do trading atual, no campo da análise de mercado. Suas "forquilhas" estão presentes em praticamente todos os programas modernos de análise de cotações. No entanto, a maioria dos traders utiliza apenas uma pequena fração das possibilidades oferecidas por essa ferramenta. O curso original de Andrews abrange não apenas a descrição das forquilhas (embora sejam o aspecto principal), mas também outras diretrizes úteis. Este artigo apresenta uma visão dessas incríveis técnicas de análise de gráficos que Andrews ensinou em seu curso original. Atenção: muitas imagens serão utilizadas.
preview
Redes neurais de maneira fácil (Parte 22): Aprendizado não supervisionado de modelos recorrentes

Redes neurais de maneira fácil (Parte 22): Aprendizado não supervisionado de modelos recorrentes

Continuamos a estudar algoritmos de aprendizado não supervisionado. E agora proponho discutir as particularidades por trás do uso de autocodificadores para treinar modelos recorrentes.
preview
Desenvolvendo um sistema de Replay (Parte 41): Iniciando a segunda fase (II)

Desenvolvendo um sistema de Replay (Parte 41): Iniciando a segunda fase (II)

Se tudo até aqui parecia adequado para você, significa que você de fato não está pensando no longo prazo. Onde você começa a desenvolver as aplicações e com o tempo, não precisará mais programar novas aplicações. Apenas terá que fazer com que elas trabalhem em conjunto. Vamos então ver como terminar de montar o indicador de mouse.
preview
Algoritmos populacionais de otimização: Evolução diferencial (Differential Evolution, DE)

Algoritmos populacionais de otimização: Evolução diferencial (Differential Evolution, DE)

Neste artigo, falaremos sobre o algoritmo que apresenta os resultados mais contraditórios de todos os examinados anteriormente, o de evolução diferencial (DE).
preview
Algoritmos de otimização populacionais: Enxame de partículas (PSO)

Algoritmos de otimização populacionais: Enxame de partículas (PSO)

Neste artigo vamos analisar o popular algoritmo de otimização por enxame de partículas (PSO). Anteriormente, discutimos características importantes de algoritmos de otimização, como convergência, velocidade de convergência, estabilidade, escalabilidade e desenvolvemos uma bancada de testes. Também analisamos um algoritmo simples baseado em geradores de números aleatórios (GNA).
preview
Redes neurais de maneira fácil (Parte 30): Algoritmos genéticos

Redes neurais de maneira fácil (Parte 30): Algoritmos genéticos

Hoje quero apresentar-lhes um método de aprendizado um pouco diferente. Pode-se dizer que é emprestado da teoria da evolução de Darwin. É provavelmente menos controlável do que os métodos discutidos anteriormente. Mas, mesmo assim, permite também treinar modelos indiferenciados.
preview
Redes neurais de maneira fácil (Parte 16): Uso prático do agrupamento

Redes neurais de maneira fácil (Parte 16): Uso prático do agrupamento

No artigo anterior, construímos uma classe para agrupamento de dados. Hoje eu gostaria de compartilhar com vocês as formas mediante as quais os resultados podem ser usados para resolver problemas práticos de negociação.
preview
Redes neurais de maneira fácil (Parte 32): Aprendizado Q distribuído

Redes neurais de maneira fácil (Parte 32): Aprendizado Q distribuído

Em um dos artigos desta série, já nos iniciamos no método aprendizado Q, que calcula a média da recompensa para cada ação. Em 2017, foram apresentados 2 trabalhos simultâneos, que tiveram sucesso quanto ao estudo da função de distribuição de recompensas. Vamos considerar a possibilidade de usar essa tecnologia para resolver nossos problemas.
preview
Teoria das Categorias em MQL5 (Parte 13): Eventos de calendário com esquemas de banco de dados

Teoria das Categorias em MQL5 (Parte 13): Eventos de calendário com esquemas de banco de dados

Neste artigo, discutimos como os esquemas de banco de dados podem ser incorporados para categorização em MQL5. Analisaremos brevemente como os conceitos de esquema de banco de dados podem ser combinados com a teoria da categoria na identificação de informações de texto (string) relevantes para a negociação. O foco será em eventos de calendário.
preview
Teste e otimização de estratégias para opções binárias no MetaTrader 5

Teste e otimização de estratégias para opções binárias no MetaTrader 5

Testamos e otimizamos estratégias de opções binárias no MetaTrader 5.
preview
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 07): Dendrogramas

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 07): Dendrogramas

A classificação de dados para análise e previsão é uma área muito diversificada do aprendizado de máquina, que compreende um grande número de abordagens e métodos. Neste artigo, examinaremos uma dessas abordagens, nomeadamente o agrupamento hierárquico aglomerativo (Agglomerative Hierarchical Clustering).
preview
DoEasy. Controles (Parte 22): SplitContainer. Alterando as propriedades do objeto criado

DoEasy. Controles (Parte 22): SplitContainer. Alterando as propriedades do objeto criado

Neste artigo, implementamos a alteração das propriedades e da aparência do controle SplitContainer após sua criação.
preview
Algoritmos de otimização populacionais: Colônia artificial de abelhas (Artificial Bee Colony, ABC)

Algoritmos de otimização populacionais: Colônia artificial de abelhas (Artificial Bee Colony, ABC)

Hoje estudaremos o algoritmo de colônia artificial de abelhas. Complementaremos nosso conhecimento com novos princípios para estudar espaços funcionais. E neste artigo falarei sobre minha interpretação da versão clássica do algoritmo.
preview
DoEasy. Controles (Parte 16): Objeto WinForms TabControl - múltiplas fileiras de cabeçalhos de guias, modo esticamento de cabeçalhos consoante o tamanho do contêiner

DoEasy. Controles (Parte 16): Objeto WinForms TabControl - múltiplas fileiras de cabeçalhos de guias, modo esticamento de cabeçalhos consoante o tamanho do contêiner

Neste artigo vamos continuar o desenvolvimento do controle TabControl, e trataremos da localização dos cabeçalhos das guias nos quatro lados do controle para todos os modos de tamanho de cabeçalho: "Normal", "Fixed" e "Fill To Right".
preview
Gráficos na biblioteca DoEasy (Parte 97): Processando o movimento dos objetos-forma independentemente

Gráficos na biblioteca DoEasy (Parte 97): Processando o movimento dos objetos-forma independentemente

No artigo de hoje, veremos como gerar o movimento independente de qualquer objeto-forma por meio do mouse, além disso, complementaremos a biblioteca com mensagens de erro e com as novas propriedades de negócios que foram introduzidas anteriormente no terminal e em MQL5.