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
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
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
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
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
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
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
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
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
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
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
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 19): Analisador ZigZag

Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 19): Analisador ZigZag

Todo trader de avaliação da ação do preço utiliza manualmente linhas de tendência para confirmar tendências e identificar possíveis pontos de reversão ou de continuação. Nesta série sobre o desenvolvimento de um kit de ferramentas de avaliação da ação do preço, apresentamos uma ferramenta focada no desenho de linhas de tendência inclinadas para facilitar a análise do mercado. Essa ferramenta simplifica o processo para os traders ao destacar claramente as principais tendências e níveis essenciais para uma avaliação da ação do preço.
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
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
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 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
Do básico ao intermediário: Sobrecarga de operadores (II)

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

Este será um artigo que a principio irá parecer bem confuso devido ao que será mostrado nele. Porém tentei deixar as coisas o mais simples e didáticas quanto foi possível ser feito. Espero que você consiga compreender o que estará sendo demonstrando neste artigo. E que isto venha a lhe ser útil em algum momento.
preview
Redes neurais em trading: decomposição em vez de escalonamento: construção dos módulos

Redes neurais em trading: decomposição em vez de escalonamento: construção dos módulos

Neste artigo, continuamos nossa apresentação prática da SSCNN, uma solução arquitetural de nova geração capaz de trabalhar com séries temporais fragmentadas. Em vez de escalonamento cego, adotamos modularidade inteligente, atenção aos detalhes e normalização seletiva. Passo a passo, criamos blocos computacionais no ambiente MQL5 e estabelecemos a base para uma análise preditiva confiável.
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.
preview
Dominando registros de log (Parte 2): Formatação dos logs

Dominando registros de log (Parte 2): Formatação dos logs

Neste artigo, estudaremos a criação e aplicação de programas de formatação para bibliotecas de logs. Examinaremos todas as etapas, desde a estrutura básica de um programa de formatação até exemplos práticos de implementação. Ao final do artigo, você terá todo o conhecimento necessário para realizar a formatação de logs dentro de uma biblioteca e entenderá como tudo funciona nos bastidores.
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
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
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
Do básico ao intermediário: Sobrecarga de operadores (III)

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

Neste artigo será demonstrado como podemos implementar a sobrecarga tanto de operadores lógicos como também de operadores relacionais. Fazer isto demanda um certo cuidado e uma boa dose de atenção. Já que um simples deslize durante a implementação do que será a sobrecarga de tais operadores, pode vir a pôr todo um código em condição de ser totalmente jogado no lixo. Já que se a sobrecarga vier a ter problemas. Toda uma base de dados criada em cima dos resultados gerados pelo seu código deverá ser completamente descartada, ou no mínimo totalmente revisada.
preview
Desenvolvimento de um conjunto de ferramentas de Análise de Price Action (Parte 18): Introduzindo a Teoria dos Quarters (III) — Quarters Board

Desenvolvimento de um conjunto de ferramentas de Análise de Price Action (Parte 18): Introduzindo a Teoria dos Quarters (III) — Quarters Board

Neste artigo, aprimoramos o Script Quarters original ao introduzir o Quarters Board, uma ferramenta que permite alternar os níveis de quarter diretamente no gráfico sem a precisar voltar ao código. Você pode facilmente ativar ou desativar níveis específicos, e o EA também fornece comentários sobre a direção da tendência para ajudar você a entender melhor os movimentos do mercado.
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
Ciência de Dados e ML (Parte 35): NumPy em MQL5 – A Arte de Desenvolver Algoritmos Complexos com Menos Código

Ciência de Dados e ML (Parte 35): NumPy em MQL5 – A Arte de Desenvolver Algoritmos Complexos com Menos Código

A biblioteca NumPy está impulsionando praticamente todos os algoritmos de aprendizado de máquina (machine learning) em sua essência na linguagem de programação Python, neste artigo vamos implementar um módulo semelhante que possui uma coleção de todo o código complexo para nos auxiliar na construção de modelos e algoritmos sofisticados de qualquer tipo.
preview
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): estratégia de ordens pendentes para trading baseado em notícias

Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): estratégia de ordens pendentes para trading baseado em notícias

Neste artigo, vamos nos concentrar na integração da lógica de execução de ordens baseada em notícias, permitindo que o EA atue, e não apenas informe. Acompanhe-nos enquanto examinamos como implementar a execução automática de operações em MQL5 e transformar o EA "Manchetes de notícias" em um sistema de trading totalmente adaptativo. Os EAs oferecem vantagens significativas aos desenvolvedores de sistemas algorítmicos graças ao amplo conjunto de funções às quais dão suporte. Até agora, nos concentramos na criação de uma ferramenta para apresentar notícias e eventos do calendário, equipada com faixas analíticas integradas usando IA e indicadores técnicos.
preview
Dominando Registros de Log (Parte 4): Salvando logs em arquivos

Dominando Registros de Log (Parte 4): Salvando logs em arquivos

Neste artigo, ensinarei operações básicas com arquivos e como configurar um handler flexível para personalização. Atualizaremos a classe CLogifyHandlerFile para gravar logs diretamente no arquivo. Realizaremos um teste de desempenho simulando uma estratégia no EURUSD por uma semana, gerando logs a cada tick, com um tempo total de 5 minutos e 11 segundos. O resultado será comparado em um artigo futuro, onde implementaremos um sistema de cache para melhorar o desempenho.
preview
Operando opções sem opções (Parte 2): Uso em operações reais

Operando opções sem opções (Parte 2): Uso em operações reais

O artigo aborda estratégias simples com opções e sua implementação em MQL5. Escrevemos um EA básico que será modernizado e gradualmente ampliado.
preview
Componentes View e Controller para tabelas no paradigma MVC em MQL5: dimensões ajustáveis dos elementos

Componentes View e Controller para tabelas no paradigma MVC em MQL5: dimensões ajustáveis dos elementos

No artigo, adicionaremos a funcionalidade de redimensionamento dos elementos de controle por meio do arrasto das bordas e dos cantos do elemento com o mouse.
preview
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

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

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.
preview
Introdução ao MQL5 (Parte 15): Criando Indicadores Personalizados com MQL5 — Guia para Iniciantes (IV)

Introdução ao MQL5 (Parte 15): Criando Indicadores Personalizados com MQL5 — Guia para Iniciantes (IV)

Neste artigo, você aprenderá a criar um indicador de Price Action em MQL5, com foco em pontos-chave como mínima (L), máxima (H), mínima mais alta (HL), máxima mais alta (HH), mínima mais baixa (LL) e máxima mais baixa (LH) para análise de tendências. Você também aprenderá a identificar as zonas de prêmio e desconto, marcar o nível de retração de 50% e utilizar a relação risco-retorno para calcular metas de lucro. O artigo aborda a determinação dos pontos de entrada, stop loss (SL) e take profit (TP) com base na estrutura da tendência.
preview
Redes neurais em trading: sinais de negociação robustos em qualquer regime de mercado (módulos de atenção)

Redes neurais em trading: sinais de negociação robustos em qualquer regime de mercado (módulos de atenção)

Neste artigo, damos continuidade à implementação das abordagens do framework ST-Expert, concentrando-nos nos aspectos práticos de sua aplicação com os recursos do MQL5. Anteriormente, analisamos os fundamentos teóricos e os principais componentes do modelo. Agora, passamos a trabalhar diretamente com os algoritmos de atenção em grafos e de distribuição local e global da atenção. O principal objetivo desta etapa é mostrar como as ideias conceituais do ST-Expert se transformam em soluções funcionais para a análise e a previsão de séries financeiras.
preview
Dominando Registros de Log (Parte 5): Otimizando o Handler com Cache e Rotação

Dominando Registros de Log (Parte 5): Otimizando o Handler com Cache e Rotação

Este artigo aprimora a biblioteca de logging adicionando formatadores nos handlers, a classe CIntervalWatcher para gerenciar ciclos de execução, otimização com cache e rotação de arquivos, testes de desempenho e exemplos práticos. Com essas melhorias, garantimos um sistema de logging eficiente, escalável e adaptável a diferentes cenários de desenvolvimento.
preview
Redes neurais em trading: Segmentação periódica adaptativa (Criação de tokens)

Redes neurais em trading: Segmentação periódica adaptativa (Criação de tokens)

Propomos que você embarque em uma jornada fascinante pelo mundo da análise adaptativa de séries temporais financeiras e descubra como transformar uma complexa análise espectral e uma convolução flexível em sinais reais de trading. Você verá como o LightGTS escuta o ritmo do mercado, ajustando-se às suas mudanças por meio de um passo de janela variável, e como a aceleração com OpenCL permite transformar cálculos no caminho mais curto para decisões lucrativas.
preview
Introdução ao MQL5 (Parte 14): Guia para Iniciantes na Criação de Indicadores Personalizados (III)

Introdução ao MQL5 (Parte 14): Guia para Iniciantes na Criação de Indicadores Personalizados (III)

Aprenda a construir um indicador de Padrões Harmônicos em MQL5 usando objetos de gráfico. Descubra como detectar pontos de swing, aplicar retrações de Fibonacci e automatizar o reconhecimento de padrões.
preview
MQL5 Wizard: Técnicas que Você Deve Conhecer (Parte 57): Aprendizado Supervisionado com Média Móvel e Oscilador Estocástico

MQL5 Wizard: Técnicas que Você Deve Conhecer (Parte 57): Aprendizado Supervisionado com Média Móvel e Oscilador Estocástico

A Média Móvel e o Oscilador Estocástico são indicadores muito comuns que alguns traders podem não usar com frequência devido devido à sua natureza defasada. Em uma “minissérie” de 3 partes que considera as 3 principais formas de aprendizado de máquina, buscamos verificar se esse viés contra esses indicadores é justificado ou se eles podem estar mantendo alguma vantagem. Realizamos nossa análise em Expert Advisors montados pelo wizard.
preview
A Arte de Registrar Logs (Parte 3): Explorando os handlers para armazenamento de logs

A Arte de Registrar Logs (Parte 3): Explorando os handlers para armazenamento de logs

Neste artigo, vamos analisar a concepção dos handlers na biblioteca de registro, compreender seu funcionamento e criar três implementações iniciais: console, banco de dados e arquivo. Analisaremos tudo, desde a estrutura básica dos handlers até testes práticos, lançando assim a base para uma implementação completa no futuro.