Artigos sobre programação na linguagem 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
Redes neurais em trading: Previsão probabilística de série temporal (K2VAE)

Redes neurais em trading: Previsão probabilística de série temporal (K2VAE)

Apresentamos a implementação original do framework K²VAE, um modelo flexível capaz de aproximar linearmente dinâmicas complexas no espaço latente. Este artigo mostra como implementar os componentes principais na linguagem MQL5, incluindo matrizes parametrizadas e seu gerenciamento fora das camadas padrão de redes neurais. Este material será útil para todos os que procuram uma abordagem prática para criar modelos interpretáveis de séries temporais.
preview
Codificação ordinal de variáveis nominais

Codificação ordinal de variáveis nominais

Neste artigo, discutiremos e demonstraremos como transformar variáveis nominais em formatos numéricos adequados para algoritmos de aprendizado de máquina, utilizando tanto Python quanto MQL5.
preview
Introdução às curvas ROC (Receiver Operating Characteristic)

Introdução às curvas ROC (Receiver Operating Characteristic)

As curvas ROC são representações gráficas utilizadas para avaliar o desempenho de classificadores. Apesar de os gráficos ROC serem relativamente simples, existem equívocos e armadilhas comuns ao utilizá-los na prática. Este artigo tem como objetivo fornecer uma introdução aos gráficos ROC como uma ferramenta para profissionais que buscam compreender a avaliação de desempenho de classificadores.
preview
Redes neurais em trading: generalização de séries temporais sem vinculação a dados (Mamba4Cast)

Redes neurais em trading: generalização de séries temporais sem vinculação a dados (Mamba4Cast)

Neste artigo, conhecemos o framework Mamba4Cast e analisamos em detalhe um de seus componentes-chave, a codificação posicional baseada em marcas temporais. É mostrado como é formada a incorporação temporal levando em conta a estrutura de calendário dos dados.
preview
Simplificando a negociação com base em notícias (Parte 6): Executando trades (III)

Simplificando a negociação com base em notícias (Parte 6): Executando trades (III)

Neste artigo será implementada a ordenação de notícias para eventos econômicos individuais com base em seus identificadores. Além disso, as consultas SQL anteriores serão aprimoradas para fornecer informações adicionais ou reduzir o tempo de execução da consulta. O código criado nos artigos anteriores se tornará funcional.
preview
Reimaginando Estratégias Clássicas em MQL5 (Parte III): Previsão do FTSE 100

Reimaginando Estratégias Clássicas em MQL5 (Parte III): Previsão do FTSE 100

Nesta série de artigos, vamos revisitar estratégias de negociação já conhecidas para investigar se podemos aprimorá-las utilizando IA. No artigo de hoje, exploraremos o FTSE 100 e tentaremos prever o índice utilizando uma parte das ações individuais que compõem esse índice.
preview
Ciência de Dados e ML (Parte 33): Dataframe do Pandas em MQL5, Coleta de Dados para Uso em ML facilitada

Ciência de Dados e ML (Parte 33): Dataframe do Pandas em MQL5, Coleta de Dados para Uso em ML facilitada

Ao trabalhar com modelos de aprendizado de máquina, é essencial garantir consistência nos dados usados para treinamento, validação e testes. Neste artigo, criaremos nossa própria versão da biblioteca Pandas em MQL5 para garantir uma abordagem unificada para o tratamento de dados de aprendizado de máquina, assegurando que os mesmos dados sejam aplicados dentro e fora do MQL5, onde ocorre a maior parte do treinamento.
preview
Processos gaussianos em machine learning (Parte 1): modelo de classificação em MQL5

Processos gaussianos em machine learning (Parte 1): modelo de classificação em MQL5

Neste artigo, analisaremos o modelo de classificação com processos gaussianos. Iniciaremos com o estudo de seus princípios teóricos e, posteriormente, desenvolveremos uma biblioteca de PG em MQL5.
preview
Ciência de Dados e ML (Parte 34): Decomposição de séries temporais, desmembrando o mercado de ações até o núcleo

Ciência de Dados e ML (Parte 34): Decomposição de séries temporais, desmembrando o mercado de ações até o núcleo

Em um mundo repleto de dados ruidosos e imprevisíveis, identificar padrões significativos pode ser desafiador. Neste artigo, exploraremos a decomposição sazonal, uma poderosa técnica analítica que ajuda a separar os dados em seus principais componentes: tendência, padrões sazonais e ruído. Ao decompor os dados dessa forma, podemos revelar insights ocultos e trabalhar com informações mais limpas e interpretáveis.
preview
Redes neurais em trading: Pipeline inteligente de previsões (Conclusão)

Redes neurais em trading: Pipeline inteligente de previsões (Conclusão)

Este artigo mostrará de forma envolvente como o embedding SwiGLU revela padrões ocultos do mercado, e como a mistura esparsa de especialistas dentro do Decoder-Only Transformer torna as previsões mais precisas com custos computacionais razoáveis. Analisamos detalhadamente a integração do Time-MoE em MQL5 e OpenCL, descrevendo passo a passo a configuração e o treinamento do modelo.
preview
Redes neurais em trading: Previsão probabilística de séries temporais (Codificador)

Redes neurais em trading: Previsão probabilística de séries temporais (Codificador)

Apresentamos uma nova abordagem que combina métodos clássicos e redes neurais modernas para a análise de séries temporais. O artigo descreve detalhadamente a arquitetura e os princípios de funcionamento do modelo K²VAE.
preview
Do básico ao intermediário: Filas, Listas e Árvores (VIII)

Do básico ao intermediário: Filas, Listas e Árvores (VIII)

Neste artigo veremos como implementar um algoritmo de balanceamento da árvore. O que será visto aqui, é a minha proposta para este tipo de mecanismo. Existem diversos outros mecanismos com o mesmo tipo de objetivo. Porém cada um tem seus problemas e suas vantagens. Depende de você, meu caro leitor, estudar e procurar encontrar o que melhor irá lhe atender.
preview
Componentes View e Controller para tabelas no paradigma MVC em MQL5: Elementos de controle simples

Componentes View e Controller para tabelas no paradigma MVC em MQL5: Elementos de controle simples

No artigo são analisados elementos de controle simples como partes constituintes de elementos gráficos mais complexos do componente View no contexto da implementação de tabelas no paradigma MVC (Model-View-Controller). Foi implementado o funcional básico do componente Controller para a interação interativa dos elementos com o usuário e entre si. Este é o segundo artigo dedicado ao componente View e o quarto da série de artigos sobre a criação de tabelas para o terminal cliente MetaTrader 5.
preview
Gerenciador de riscos para robôs de trading (Parte I): include para controle de riscos em EAs

Gerenciador de riscos para robôs de trading (Parte I): include para controle de riscos em EAs

O trading impõe altas exigências à disciplina de gestão de risco. Este artigo analisa as principais causas do insucesso dos traders e propõe uma solução técnica na forma da classe CEnhancedRiskManager para a plataforma MQL5. Inclui também testes práticos em um EA de grade agressivo.
preview
Algoritmo de Otimização por Sonhos: Dream Optimization Algorithm (DOA)

Algoritmo de Otimização por Sonhos: Dream Optimization Algorithm (DOA)

Algoritmo populacional de otimização inspirado em um fenômeno controverso e pouco estudado: o mecanismo dos sonhos humanos. Grupos de agentes com diferentes níveis de "memória", modulação cossenoidal do movimento e uma distribuição incomum entre fases na proporção 99/1: descubra como essas características influenciam a eficiência da otimização das suas estratégias de trading.
preview
Rede neural na prática: Perceptron

Rede neural na prática: Perceptron

Este artigo apresenta o perceptron como base de uma rede neural e detalha sua implementação em MQL5. Explicamos funções de ativação e suas derivadas, a distinção entre forward e backpropagation e o uso de custo por mínimo quadrado e por gradiente. Você aprenderá a treinar pesos e viés, validar com scripts de teste e ajustar a taxa de aprendizagem para obter convergência estável.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 34): Embedding de Preços com um RBM Não Convencional

Técnicas do MQL5 Wizard que você deve conhecer (Parte 34): Embedding de Preços com um RBM Não Convencional

Máquinas de Boltzmann Restritas são uma forma de rede neural que foi desenvolvida no meio da década de 1980, numa época em que os recursos computacionais eram extremamente caros. No início, ela dependia de Gibbs Sampling e Divergência Contrastiva para reduzir a dimensionalidade ou capturar as probabilidades/propriedades ocultas sobre os conjuntos de dados de treinamento de entrada. Examinamos como o Backpropagation pode realizar de forma similar quando o RBM 'embebe' os preços para um Multi-Layer-Perceptron de previsão.
preview
Algoritmo de otimização do dingo - Dingo Optimization Algorithm (DOA)

Algoritmo de otimização do dingo - Dingo Optimization Algorithm (DOA)

O artigo apresenta um novo método metaheurístico baseado nas estratégias de caça dos dingos australianos: ataque em grupo, perseguição e busca de carniça. Vamos ver como o algoritmo de otimização do dingo (DOA) se sai em termos algorítmicos.
preview
Criando sistemas de trading com IA em MQL5 (Parte 3): Evoluindo para uma interface rolável voltada para um único chat

Criando sistemas de trading com IA em MQL5 (Parte 3): Evoluindo para uma interface rolável voltada para um único chat

Neste artigo, aprimoramos o programa integrado ao ChatGPT em MQL5, adotando uma interface rolável voltada para um único chat e melhorando a exibição do histórico das conversas com marcas de tempo e rolagem dinâmica. O sistema utiliza parsing de JSON para gerenciar mensagens em conversas com múltiplos turnos e oferece modos configuráveis para a barra de rolagem, além de efeitos ao passar o mouse, melhorando a interação do usuário com o sistema.
preview
Criando um Painel de Administração de Trading em MQL5 (Parte IX): Organização de Código (III): Módulo de Comunicação

Criando um Painel de Administração de Trading em MQL5 (Parte IX): Organização de Código (III): Módulo de Comunicação

Junte-se a nós para uma discussão aprofundada sobre os mais recentes avanços no design de interfaces em MQL5 enquanto apresentamos o Painel de Comunicações redesenhado e continuamos nossa série sobre a construção do Novo Painel de Administração utilizando princípios de modularização. Desenvolveremos a classe CommunicationsDialog passo a passo, explicando detalhadamente como herdá-la da classe Dialog. Além disso, utilizaremos arrays e a classe ListView em nosso desenvolvimento. Obtenha insights práticos para elevar suas habilidades em desenvolvimento MQL5 — leia o artigo e participe da discussão na seção de comentários!
preview
WebSocket para MetaTrader 5: conexões assíncronas no lado do cliente usando a API do Windows

WebSocket para MetaTrader 5: conexões assíncronas no lado do cliente usando a API do Windows

Neste artigo, descreve-se em detalhe o desenvolvimento de uma biblioteca DLL personalizada, destinada a simplificar conexões assíncronas no lado do cliente pelo protocolo WebSocket para programas MetaTrader.
preview
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): Estratégia de trading pós-notícia

Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): Estratégia de trading pós-notícia

Durante o primeiro minuto após a divulgação de notícias econômicas importantes, o risco de erro de avaliação é extremamente alto. Nesse curto intervalo, o movimento do preço pode ser errático e volátil, frequentemente levando ao acionamento de ordens pendentes dos dois lados do mercado. Pouco depois da publicação, geralmente dentro de um minuto, o mercado tende a se estabilizar, retomando ou corrigindo a tendência predominante em patamares mais normais de volatilidade. Nesta seção, examinaremos uma abordagem alternativa para o trading baseado em notícias, a fim de avaliar sua eficácia como um complemento valioso ao conjunto de ferramentas do trader. Continue lendo para acompanhar mais detalhes desta discussão.
preview
Redes neurais em trading: dos Transformers aos neurônios de disparo (SpikingBrain)

Redes neurais em trading: dos Transformers aos neurônios de disparo (SpikingBrain)

O framework SpikingBrain apresenta uma abordagem singular para o processamento de dados: seus neurônios reagem apenas a eventos relevantes, filtrando o ruído com eficiência. Sua arquitetura orientada a eventos reduz os custos computacionais sem perder informações essenciais sobre os movimentos do mercado. Os limiares adaptativos e a possibilidade de utilizar módulos pré-treinados conferem flexibilidade e escalabilidade ao modelo.
preview
Do básico ao intermediário: Sobrecarga de operadores (V)

Do básico ao intermediário: Sobrecarga de operadores (V)

Neste artigo iremos ver como podemos manipular um código a fim de implementar algo completamente diferente daquilo que muitos acreditam ser possível ser feito no MQL5. Uma observação importante: Para entender de maneira adequada o que será visto aqui, é necessário que os conceitos vistos nos artigos anteriores tenham sido devidamente compreendidos.
preview
Arbitragem Estatística via Reversão à Média no Trading de Pares: Superando o Mercado com Matemática

Arbitragem Estatística via Reversão à Média no Trading de Pares: Superando o Mercado com Matemática

Este artigo descreve os fundamentos da arbitragem estatística em nível de portfólio. Seu objetivo é facilitar a compreensão dos princípios da arbitragem estatística para leitores sem conhecimentos aprofundados em matemática e propor uma estrutura conceitual inicial. O artigo inclui um Expert Advisor funcional, algumas observações sobre seu backtest de um ano e as respectivas configurações do backtest (arquivo .ini) para a reprodução do experimento.
preview
Critério de Independência de Hilbert-Schmidt (HSIC)

Critério de Independência de Hilbert-Schmidt (HSIC)

O artigo examina o teste estatístico não paramétrico HSIC (Hilbert-Schmidt Independence Criterion) destinado a identificar dependências lineares e não lineares nos dados. São propostas implementações de dois algoritmos para o cálculo do HSIC na linguagem MQL5: o teste exato por permutação e a aproximação gama. A eficácia do método é demonstrada em dados sintéticos que modelam uma relação não linear entre os atributos e a variável-alvo.
preview
Busca oscilatória determinística — Deterministic Oscillatory Search (DOS)

Busca oscilatória determinística — Deterministic Oscillatory Search (DOS)

O algoritmo Deterministic Oscillatory Search (DOS) é um método inovador de otimização global que combina as vantagens dos algoritmos de gradiente e dos algoritmos de enxame sem o uso de números aleatórios. O mecanismo de oscilações e de inclinações de fitness permite ao DOS explorar espaços de busca complexos por meio de um método determinístico.
preview
Tabelas no paradigma MVC em MQL5: Integramos o componente Model ao componente View

Tabelas no paradigma MVC em MQL5: Integramos o componente Model ao componente View

Neste artigo, criaremos a primeira versão do elemento de controle TableControl (TableView). Será uma tabela estática simples, criada com base nos dados de entrada definidos por dois arrays: um array de dados e um array de cabeçalhos de coluna.
preview
EA Forex baseado em rede neural N-BEATS Network

EA Forex baseado em rede neural N-BEATS Network

Implementação da arquitetura N-BEATS para trading Forex no MetaTrader 5 com previsão quantílica e gestão de risco adaptativa. A arquitetura foi adaptada por meio de normalização bilinear e funções de perda especializadas para dados financeiros. Testes com dados de 2025 mostraram sua incapacidade de gerar lucro, confirmando a distância entre os avanços teóricos e a eficiência prática na negociação.
preview
Aplicação de métodos de ensemble para tarefas de classificação em MQL5

Aplicação de métodos de ensemble para tarefas de classificação em MQL5

Neste artigo, apresentamos a implementação de vários classificadores em ensemble na linguagem MQL5 e analisamos sua eficiência em diferentes situações.
preview
Uma Nova Abordagem para Critérios Personalizados em Otimizações (Parte 1): Exemplos de Funções de Ativação

Uma Nova Abordagem para Critérios Personalizados em Otimizações (Parte 1): Exemplos de Funções de Ativação

O primeiro de uma série de artigos que analisam a matemática dos Critérios Personalizados com foco específico em funções não lineares usadas em Redes Neurais, código MQL5 para implementação e o uso de offsets direcionados e corretivos.
preview
Do iniciante ao especialista: Criação de um EA de notícias animado em MQL5 (II)

Do iniciante ao especialista: Criação de um EA de notícias animado em MQL5 (II)

Hoje damos mais um passo à frente, integrando uma API externa de notícias como fonte de manchetes para o nosso EA "Manchetes de notícias". Nesta etapa, vamos explorar diferentes fontes de notícias, tanto já existentes quanto novas, e aprender como usar suas APIs de forma eficiente. Também veremos métodos para fazer o parsing dos dados recebidos em um formato otimizado para exibição no nosso EA. Acompanhe a discussão enquanto analisamos as vantagens de usar manchetes de notícias e o calendário econômico diretamente no gráfico. Tudo isso em uma interface compacta e discreta.
preview
Solicitação no Connexus (Parte 6): Criando uma Requisição e Resposta HTTP

Solicitação no Connexus (Parte 6): Criando uma Requisição e Resposta HTTP

Neste sexto artigo da série da biblioteca Connexus, focamos em uma requisição HTTP completa, cobrindo cada componente que compõe uma requisição. Criamos uma classe que representa a requisição como um todo, o que nos ajudou a reunir as classes criadas anteriormente.
preview
Redes neurais em trading: modelo de difusão adaptativa em grafos (Conclusão)

Redes neurais em trading: modelo de difusão adaptativa em grafos (Conclusão)

Neste artigo, concluímos a construção do framework SAGDFN em MQL5, apresentando um balanço do desenvolvimento e demonstrando os resultados de seu teste prático. Vamos reunir os módulos implementados anteriormente em um único sistema, mostrar os pontos fortes da abordagem, apontar suas vulnerabilidades e discutir possíveis caminhos de aprimoramento.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 35): Regressão por Vetores de Suporte

Técnicas do MQL5 Wizard que você deve conhecer (Parte 35): Regressão por Vetores de Suporte

A Regressão por Vetores de Suporte é uma maneira idealista de encontrar uma função ou 'hiperplano' que melhor descreva a relação entre dois conjuntos de dados. Tentamos explorar isso na previsão de séries temporais dentro das classes personalizadas do MQL5 wizard.
preview
Machine Learning e Data Science (Parte 40): Uso dos níveis de Fibonacci em dados para machine learning

Machine Learning e Data Science (Parte 40): Uso dos níveis de Fibonacci em dados para machine learning

Os níveis de retração de Fibonacci são uma ferramenta popular na análise técnica. Eles são usados para identificar possíveis zonas de reversão. Neste artigo, veremos como esses níveis de retração podem ser transformados em variáveis-alvo para modelos de machine learning, ajudando-os a compreender melhor o mercado.
preview
Do básico ao intermediário: Filas, Listas e Árvores (VII)

Do básico ao intermediário: Filas, Listas e Árvores (VII)

Neste artigo, iremos demonstrar e explicar de uma maneira bastante lucida, como ocorre a remoção de um node de uma árvore. Algo que na maior parte das vezes, mais gera dúvidas e confusão na mente de iniciantes do que necessariamente os ajuda a entender como todo o processo acontece. E por que ele precisa ser feito desta ou daquela maneira.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 55): SAC com Prioritized Experience Replay

Técnicas do MQL5 Wizard que você deve conhecer (Parte 55): SAC com Prioritized Experience Replay

Buffers de replay em Aprendizado por Reforço são particularmente importantes com algoritmos off-policy como DQN ou SAC. Isso coloca em destaque o processo de amostragem desse buffer de memória. Enquanto as opções padrão com SAC, por exemplo, utilizam seleção aleatória desse buffer, o Prioritized Experience Replay ajusta esse processo ao realizar amostragem com base em um score TD. Revisamos a importância do Aprendizado por Reforço e, como sempre, examinamos apenas essa hipótese (não a validação cruzada) em um Expert Advisor montado com o wizard.
preview
Componente View para tabelas no paradigma MVC em MQL5: elemento gráfico básico

Componente View para tabelas no paradigma MVC em MQL5: elemento gráfico básico

O artigo analisa o processo de desenvolvimento de um elemento gráfico básico para o componente View no contexto da implementação de tabelas no paradigma MVC (Model-View-Controller) na linguagem MQL5. Este é o primeiro artigo dedicado ao componente View e o terceiro da série de artigos sobre a criação de tabelas para o terminal cliente MetaTrader 5.
preview
Redes neurais em trading: decomposição em vez de escalonamento (Conclusão)

Redes neurais em trading: decomposição em vez de escalonamento (Conclusão)

Apresentamos um algoritmo que decompõe séries temporais em camadas semânticas e constrói, a partir delas, um modelo enxuto. Mostramos, passo a passo, a arquitetura, a implementação prática em MQL5/OpenCL e os resultados de testes reais com dados históricos de mercado.