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
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
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
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
Rede neural na prática: Lendo PNG do MNIST

Rede neural na prática: Lendo PNG do MNIST

Aqui veremos como implementar um algorítimo simples de leitura de imagens no formato PNG. Conseguir efetuar a leitura do conteúdo destas imagens será importante para podermos avançar no desenvolvimento de uma topologia de rede perceptron. Isto por conta de que começaremos a fazer uso do banco de dados MNIST no treinamento da rede que será implementada.
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
Do básico ao intermediário: Objetos e sub janelas (II)

Do básico ao intermediário: Objetos e sub janelas (II)

Este artigo explica como capturar e tratar a remoção de objetos do gráfico em MQL5 usando eventos do MetaTrader 5. Ao detectar a exclusão de um objeto criado pelo indicador, o código remove a instância correspondente para evitar inconsistências e sub janelas remanescentes. A abordagem adota nomes únicos e um arquivo de cabeçalho, priorizando simplicidade e previsibilidade do comportamento.
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.
preview
Sistema de autoaprendizado por reforço para trading algorítmico em MQL5

Sistema de autoaprendizado por reforço para trading algorítmico em MQL5

Neste artigo, desenvolvemos um sistema multiagente de aprendizado de máquina para trading algorítmico no MetaTrader 5 com base em aprendizado por reforço. O sistema possui uma arquitetura de três níveis: os neurônios de memória armazenam a experiência, os agentes tomam decisões de forma independente e a inteligência coletiva combina essas decisões por meio de votação ponderada. O sistema se aperfeiçoa continuamente por meio de Q-learning, pruning de neurônios ineficientes e redução evolutiva do nível de exploração.
preview
Do básico ao intermediário: Arquivo template (II)

Do básico ao intermediário: Arquivo template (II)

O artigo mostra como aplicar indicadores a gráficos criados por OBJ_CHART usando templates, quando ChartIndicatorAdd não funciona nesse contexto. Explicamos como salvar um template com o indicador, recuperar o ID do gráfico e aplicar ChartApplyTemplate ao destino correto. Você aprenderá a integrar indicadores como recurso, automatizar a configuração do gráfico embutido e entender limitações práticas, como a não listagem de indicadores na janela padrão.
preview
Transferência de dados de ticks do MetaTrader para Python via sockets usando serviços MQL5

Transferência de dados de ticks do MetaTrader para Python via sockets usando serviços MQL5

Às vezes, nem tudo pode ser implementado em MQL5. Mesmo que seja possível converter bibliotecas modernas já disponíveis para MQL5, isso levará muito tempo. Neste artigo, tentaremos contornar a dependência do Windows com o uso de serviços MQL5, transmitindo dados de ticks (bid, ask e time) para uma aplicação Python por meio de sockets.
preview
Do básico ao intermediário: Arquivo template (I)

Do básico ao intermediário: Arquivo template (I)

O artigo explica como transferir configurações do gráfico principal para um gráfico embutido em OBJCHART, considerando que apenas parte do template é herdada. Mostramos como sincronizar cores e propriedades, reagir a mudanças de tamanho e aplicar ajustes ao gráfico interno usando seu chart ID e chamadas explícitas de atualização. O leitor aprende a reproduzir a aparência e o comportamento do gráfico principal no OBJCHART de forma previsível.
preview
Superando as limitações do aprendizado de máquina (Parte 1): carência de métricas compatíveis

Superando as limitações do aprendizado de máquina (Parte 1): carência de métricas compatíveis

Neste artigo, mostramos que parte dos problemas que enfrentamos está enraizada em seguir cegamente as "melhores práticas". Ao apresentar ao leitor evidências simples, baseadas no mercado real, explicaremos por que devemos evitar esse comportamento e, em vez disso, adotar boas práticas baseadas em domínios específicos, caso nossa comunidade queira ter alguma chance de recuperar o potencial oculto da IA.
preview
Análise da variação por hora dos símbolos de negociação e de seus spreads no MetaTrader 5

Análise da variação por hora dos símbolos de negociação e de seus spreads no MetaTrader 5

O indicador de índice de sazonalidade ProSpread com média móvel é uma ferramenta de análise técnica que identifica padrões sazonais de movimento dos preços, analisa o comportamento dos preços em horários específicos de negociação, pode trabalhar tanto com um único instrumento quanto com o spread entre dois ativos e também representa visualmente a probabilidade estatística de movimentos direcionados.
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
Do iniciante ao especialista: Reporting EA - Configuração do fluxo de trabalho

Do iniciante ao especialista: Reporting EA - Configuração do fluxo de trabalho

As corretoras frequentemente fornecem relatórios de contas de negociação em intervalos regulares, com base em uma programação predefinida. Essas empresas, por meio de suas APIs, têm acesso à atividade da sua conta e ao histórico de negociação, o que permite que elas criem relatórios de desempenho para você. De modo semelhante, o terminal MetaTrader 5 armazena registros detalhados da sua atividade de negociação, que podem ser aproveitados com MQL5 para criar relatórios totalmente personalizáveis e configurar formas de envio personalizadas.
preview
Previsão da distribuição condicional com uma MLP

Previsão da distribuição condicional com uma MLP

Neste artigo, analisaremos um modelo de regressão baseado em MLP que prevê não apenas a esperança matemática condicional, mas também a variância condicional. Em outras palavras, treinaremos nossa rede para prever toda a distribuição dos preços futuros com base em um vetor de atributos de entrada. Para isso, porém, precisaremos implementar nossa própria função de perda.
preview
Do iniciante ao especialista: Criando um EA animado de notícias em MQL5 (III): Análise de indicadores

Do iniciante ao especialista: Criando um EA animado de notícias em MQL5 (III): Análise de indicadores

Neste artigo, daremos continuidade à apresentação do EA "manchetes", apresentando uma faixa especial de "Análise de indicadores" (indicator insights): uma exibição compacta, no gráfico, dos principais sinais técnicos gerados por indicadores populares, como RSI, MACD, Stochastic e CCI. Essa abordagem elimina a necessidade de várias subjanelas de indicadores no terminal MetaTrader 5, mantendo sua área de trabalho limpa e eficiente. Usando a API MQL5 para acessar dados dos indicadores em segundo plano, podemos processar e visualizar informações de mercado em tempo real com lógica personalizada.
preview
Desenvolvendo uma Estratégia de Pullback: Validação

Desenvolvendo uma Estratégia de Pullback: Validação

A etapa de validação de um pullback avança com inclinação das EMAs, limites mínimo e máximo de distância por ATR, janela flexível do gatilho ATR e Walk-Forward Efficiency. As baterias comparam componentes e medem continuidade fora da amostra, dependência exclusiva da gestão. O resultado destaca plataformas paramétricas e critérios práticos para selecionar candidatos e evitar sobreajuste.
preview
Rede neural na prática: Retro propagação manual

Rede neural na prática: Retro propagação manual

Neste artigo, começaremos a ter uma base de como a retro propagação funciona. Entender esta base, é necessária para se conseguir compreender, como diversos perceptrons conseguem ajustar seus parâmetros individualmente, mesmo quando temos uma quantidade arbitrária deles presentes em uma rede. O objetivo aqui, não será implementar a retro propagação, mas criar um mecanismo simples para que você consiga entender como ela funciona.
preview
Redes neurais em trading: modelo de difusão adaptativa em grafos (módulo de atenção)

Redes neurais em trading: modelo de difusão adaptativa em grafos (módulo de atenção)

Neste artigo, examinaremos em detalhes a implementação prática dos componentes-chave do framework SAGDFN. Mostraremos como são estruturadas a atenção esparsa e a seleção de vizinhos significativos para a previsão de séries temporais. As abordagens apresentadas demonstram um equilíbrio entre a precisão das previsões e a eficiência computacional.
preview
Engenharia de Atributos com Python e MQL5 (Parte IV): Reconhecimento de Padrões de Candlestick com Regressão UMAP

Engenharia de Atributos com Python e MQL5 (Parte IV): Reconhecimento de Padrões de Candlestick com Regressão UMAP

Técnicas de redução de dimensionalidade são amplamente utilizadas para melhorar o desempenho de modelos de machine learning. Vamos discutir uma técnica relativamente nova conhecida como Uniform Manifold Approximation and Projection (UMAP). Essa nova técnica oi desenvolvida explicitamente para superar as limitações de métodos tradicionais que criam artefatos e distorções nos dados. UMAP é uma poderosa técnica de redução de dimensionalidade e nos ajuda a agrupar candlesticks semelhantes de uma maneira nova e eficaz, reduzindo nossas taxas de erro em dados out-of-sample e melhorando nosso desempenho de trading.
preview
Redes neurais em trading: Desvendando os componentes estruturais (Encoder)

Redes neurais em trading: Desvendando os componentes estruturais (Encoder)

Propomos dar continuação à implementação do framework SCNN, que combina flexibilidade e interpretabilidade, permitindo isolar com precisão os componentes estruturais da série temporal. O artigo detalha os mecanismos de normalização adaptativa e de atenção, o que confere ao modelo maior robustez diante de condições de mercado em constante mudança.
preview
Redes neurais em trading: Modelo de consultas temporais (Final)

Redes neurais em trading: Modelo de consultas temporais (Final)

Apresentamos a etapa final de implementação e teste do framework TQNet, na qual a teoria se encontra com a prática real de trading. Percorreremos o caminho do treinamento histórico até o teste de estresse em dados recentes de mercado, avaliando a robustez e a precisão do modelo. Os resultados finais não são apenas números frios, mas também uma demonstração clara do valor prático da abordagem proposta.
preview
Redes neurais em trading: uma visão unificada do espaço e do tempo (final)

Redes neurais em trading: uma visão unificada do espaço e do tempo (final)

O framework Extralonger demonstra uma capacidade única de integrar fatores espaciais e temporais em um único modelo, favorecendo previsões de alta precisão. Sua arquitetura permite adaptar-se a diferentes horizontes de previsão e instrumentos financeiros, mantendo a transparência e a capacidade de controle do sistema.
preview
Equação simbólica para prever o preço com SymPy

Equação simbólica para prever o preço com SymPy

O artigo apresenta uma abordagem interessante para o trading algorítmico, baseada em equações matemáticas simbólicas, em vez das tradicionais "caixas-pretas" do machine learning. O autor mostra como transformar redes neurais pouco transparentes em fórmulas matemáticas legíveis usando a biblioteca SymPy e regressão polinomial, o que permite compreender por completo a lógica por trás das decisões de trading. A abordagem combina o poder computacional do ML com a transparência dos métodos clássicos, permitindo que o trader analise, ajuste e adapte os modelos em tempo real.
preview
Construindo Expert Advisors Autootimizáveis em MQL5 (Parte 6): Regras de Trading Autoajustáveis (II)

Construindo Expert Advisors Autootimizáveis em MQL5 (Parte 6): Regras de Trading Autoajustáveis (II)

Este artigo explora a otimização dos níveis e períodos do RSI para obter melhores sinais de trading. Introduzimos métodos para estimar valores ótimos do RSI e automatizar a seleção de períodos usando busca em grade e modelos estatísticos. Por fim, implementamos a solução em MQL5 enquanto utilizamos Python para análise. Nossa abordagem busca ser pragmática e direta para ajudá-lo a resolver problemas potencialmente complicados, com simplicidade.
preview
Redes neurais em trading: Desvendando os componentes estruturais da série (SCNN)

Redes neurais em trading: Desvendando os componentes estruturais da série (SCNN)

Vamos conhecer o framework inovador SCNN, que leva a análise de séries temporais a um novo nível ao separar claramente os dados em componentes de longo prazo, sazonais, de curto prazo e residuais. Essa abordagem aumenta significativamente a precisão da previsão, permitindo que o modelo se adapte a uma dinâmica de mercado complexa e em constante mudança.
preview
Redes neurais no trading: Integração da teoria do caos à previsão de séries temporais (Conclusão)

Redes neurais no trading: Integração da teoria do caos à previsão de séries temporais (Conclusão)

Continuamos integrando aos modelos de trading os métodos propostos pelos autores do framework Attraos. Vale lembrar que esse framework utiliza conceitos da teoria do caos para resolver tarefas de previsão de séries temporais, interpretando-as como projeções de sistemas dinâmicos caóticos multidimensionais.
preview
Machine Learning e Data Science (Parte 41): YOLOv8v para detectar padrões nos mercados Forex e de ações

Machine Learning e Data Science (Parte 41): YOLOv8v para detectar padrões nos mercados Forex e de ações

A identificação de padrões gráficos nos mercados financeiros é uma tarefa complexa, pois exige a análise dos dados exibidos no gráfico, algo difícil de realizar em MQL5 devido às limitações relacionadas ao processamento de imagens. Neste artigo, veremos um modelo bastante interessante em Python que permite detectar padrões no gráfico com o mínimo de esforço.
preview
Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Prática

Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Prática

Continuação do tema de otimização por comunidade científica. O CoSO não deve ser tratado como uma solução pronta, mas como uma plataforma de pesquisa promissora. Com o refinamento adequado, o CoSO pode encontrar seu nicho em tarefas em que a adaptabilidade e a robustez a mudanças sejam importantes, e quando o tempo de processamento não for crítico.
preview
Algoritmo de sistema artificial de circulação coronariana (Artificial Coronary Circulation System, ACCS)

Algoritmo de sistema artificial de circulação coronariana (Artificial Coronary Circulation System, ACCS)

Algoritmo meta-heurístico que simula o crescimento das artérias coronárias do coração humano para resolver problemas de otimização. Utiliza os princípios da angiogênese (crescimento de novos vasos), da bifurcação (ramificação) e da poda de ramos fracos para buscar soluções ótimas em um espaço multidimensional. Os testes de sua eficiência em uma ampla variedade de problemas produziram resultados inesperados.
preview
Técnicas de reamostragem para avaliação de previsão e classificação em MQL5

Técnicas de reamostragem para avaliação de previsão e classificação em MQL5

Neste artigo, exploraremos e implementaremos métodos para avaliar a qualidade de modelos que utilizam um único conjunto de dados tanto para treinamento quanto para validação.
preview
Do básico ao intermediário: Arquivo template (III)

Do básico ao intermediário: Arquivo template (III)

No passado, publiquei um artigo que gerou muita confusão e proporcionou pouco entendimento por parte de muitos que o leram. Pois bem, neste artigo, vamos rever de forma muito mais bem explicada, exatamente aquele conceito que outrora não fazia nenhum sentido. Ou seja, vamos ver como colocar mais de um indicador em uma única sub janela de forma que eles sejam facilmente lidos e compreendidos.
preview
Desenvolvendo um EA Dinâmico para Múltiplos Pares (Parte 2): Diversificação e Otimização de Portfólio

Desenvolvendo um EA Dinâmico para Múltiplos Pares (Parte 2): Diversificação e Otimização de Portfólio

A Diversificação e Otimização de Portfólio distribui estrategicamente os investimentos entre múltiplos ativos para minimizar o risco, ao mesmo tempo em que seleciona a combinação ideal de ativos para maximizar os retornos com base em métricas de desempenho ajustadas ao risco.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 58): Aprendizado por Reforço (DDPG) com Padrões de Média Móvel e Oscilador Estocástico

Técnicas do MQL5 Wizard que você deve conhecer (Parte 58): Aprendizado por Reforço (DDPG) com Padrões de Média Móvel e Oscilador Estocástico

A Média Móvel e o Oscilador Estocástico são indicadores muito comuns cujos padrões coletivos exploramos no artigo anterior, por meio de uma rede de aprendizado supervisionado, para verificar quais “padrões permaneceriam consistentes”. Levamos nossas análises daquele artigo um passo adiante ao considerar os efeitos que o aprendizado por reforço, quando utilizado com essa rede treinada, teria sobre o desempenho. Os leitores devem observar que nossos testes foram realizados em uma janela de tempo muito limitada. Ainda assim, continuamos a aproveitar os requisitos mínimos de codificação proporcionados pelo MQL5 Wizard para demonstrar isso.
preview
Técnicas do Assistente MQL5 que você deve conhecer (Parte 62): Utilizando padrões de ADX e CCI com aprendizado por reforço via TRPO

Técnicas do Assistente MQL5 que você deve conhecer (Parte 62): Utilizando padrões de ADX e CCI com aprendizado por reforço via TRPO

Os osciladores ADX e CCI são indicadores de acompanhamento de tendência e momentum que podem ser combinados no desenvolvimento de um Expert Advisor. Damos continuidade ao ponto em que paramos no último artigo, analisando como o treinamento durante o uso e a atualização do modelo desenvolvido podem ser realizados por meio do aprendizado por reforço. Utilizaremos um algoritmo que ainda não abordamos nesta série, conhecido como Trust Region Policy Optimization (TRPO). E, como sempre, a montagem de Expert Advisors por meio do Assistente MQL5 nos permite preparar nossos modelos para testes de forma muito mais rápida, além de possibilitar sua distribuição e avaliação com diferentes tipos de sinais.
preview
Redes neurais em trading: Treinamento de modelos spiking profundos (Integração de spikes)

Redes neurais em trading: Treinamento de modelos spiking profundos (Integração de spikes)

O artigo apresenta uma implementação prática, em MQL5, dos principais componentes do framework SEW-ResNet. O uso de arrays dinâmicos e mecanismos spiking permite construir a arquitetura do modelo de forma flexível e processar séries temporais financeiras com eficiência. As soluções propostas mostram como o SEW-ResNet pode otimizar os cálculos e melhorar a extração de atributos relevantes.
preview
Do básico ao intermediário: Objetos e sub janelas (III)

Do básico ao intermediário: Objetos e sub janelas (III)

Este artigo descreve um fluxo seguro para lidar com a remoção de objetos gráficos: interceptar eventos, recriar o objeto e recuperar suas propriedades mínimas. Mostramos como evitar armadilhas com ponteiros, prevenir recriações indevidas durante o encerramento e salvar posição/dimensões com atualização via DRAG/CHANGE. Assim, o indicador permanece íntegro e o usuário mantém parte das personalizações.
preview
Machine Learning e Data Science (Parte 39): Testando a combinação de notícias com IA

Machine Learning e Data Science (Parte 39): Testando a combinação de notícias com IA

As notícias exercem uma influência significativa sobre os mercados financeiros, principalmente quando se trata de divulgações importantes, como os dados de emprego no setor não agrícola (Non-Farm Payrolls, NFP). Já vimos várias vezes como uma única manchete pode provocar oscilações bruscas nos preços. Neste artigo, analisaremos em detalhes a combinação entre notícias e os recursos da inteligência artificial.