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
Redes neurais em trading: Treinamento de modelos spiking profundos (SEW-ResNet)

Redes neurais em trading: Treinamento de modelos spiking profundos (SEW-ResNet)

Convidamos você a conhecer o framework SEW-ResNet, que permite construir modelos spiking profundos sem problemas de degradação e com controle eficiente dos gradientes. Neste artigo, demonstramos como implementar um neurônio spiking básico e seus algoritmos com MQL5.
preview
Dominando JSON: Crie Seu Próprio Leitor JSON do Zero em MQL5

Dominando JSON: Crie Seu Próprio Leitor JSON do Zero em MQL5

Experimente um guia passo a passo sobre como criar um parser JSON personalizado em MQL5, completo com manipulação de objetos e arrays, verificação de erros e serialização. Obtenha insights práticos para conectar sua lógica de trading e dados estruturados com esta solução flexível para lidar com JSON no MetaTrader 5.
preview
Implementação do modelo de tabela em MQL5: Aplicação do conto MVC

Implementação do modelo de tabela em MQL5: Aplicação do conto MVC

Neste artigo, analisaremos o desenvolvimento do modelo de tabela na linguagem MQL5, usando o conceito arquitetônico MVC (Model-View-Controller), que separa a lógica dos dados, a apresentação e o controle, o que ajuda a criar um código estruturado, flexível e escalável. Examinaremos a implementação das classes para construir o modelo de tabela, incluindo o uso de listas ligadas para armazenar dados.
preview
Técnicas do MQL5 Wizard que você deve conhecer (Parte 32): Regularização

Técnicas do MQL5 Wizard que você deve conhecer (Parte 32): Regularização

A regularização é uma forma de penalizar a função de perda em proporção ao peso discreto aplicado ao longo das várias camadas de uma rede neural. Vamos observar a importância de algumas formas de regularização e o impacto que isso pode ter em testes realizados com um Expert Advisor montado por um assistente.
preview
Redes neurais em trading: Framework de previsão cross-domain de séries temporais (Conclusão)

Redes neurais em trading: Framework de previsão cross-domain de séries temporais (Conclusão)

Este artigo é dedicado à construção prática do modelo TimeFound para previsão de séries temporais. São abordadas as principais etapas de implementação das abordagens centrais do framework utilizando os recursos do MQL5.
preview
Simulação de mercado: A união faz a força (II)

Simulação de mercado: A união faz a força (II)

Até o momento, a aplicação que estava sendo desenvolvida nesta sequência de artigos. Visava apenas e tão somente simular a parte gráfica. Mas para um sistema mais completo, onde temos a possibilidade de experimentar um Expert Advisor dentro do serviço de replay/simulador. Precisamos também fazer a simulação do servidor de negociação. Você notará, que a simulação usará o mínimo do mínimo possível. Mas se você, meu caro leitor, desejar, poderá completar as partes que faltam. Mas como isto não fará diferença para o que estou disposto a mostrar. Já temos mais do que o suficiente para desenvolver o que foi planejado.
preview
Título no Connexus (Parte 3): dominando o uso de cabeçalhos HTTP em requisições

Título no Connexus (Parte 3): dominando o uso de cabeçalhos HTTP em requisições

Continuamos o desenvolvimento da biblioteca Connexus. Neste capítulo, exploraremos o conceito de cabeçalhos no protocolo HTTP, explicando o que são, para que servem e como utilizá-los nas requisições. Analisaremos os principais cabeçalhos utilizados ao interagir com APIs e apresentaremos exemplos práticos de como configurá-los na biblioteca.
preview
Classes de tabela e cabeçalho baseadas no modelo de tabela em MQL5: Aplicação do conceito MVC

Classes de tabela e cabeçalho baseadas no modelo de tabela em MQL5: Aplicação do conceito MVC

Esta é a segunda parte do artigo dedicada à implementação de um modelo de tabela em MQL5, utilizando o paradigma arquitetural MVC (Model-View-Controller). O artigo aborda o desenvolvimento das classes da tabela e de seu cabeçalho, com base no modelo de tabela criado anteriormente. As classes desenvolvidas servirão como base para a futura implementação dos componentes de visualização (View) e controle (Controller), que serão abordados nos próximos artigos.
preview
Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Teoria

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

Os segredos da otimização eficiente de estratégias de trading em abordagens metaheurísticas. Community of Scientist Optimization é um novo algoritmo populacional inspirado nos mecanismos de funcionamento da comunidade de cientistas. Diferentemente das metáforas naturais tradicionais, o CoSO modela aspectos únicos da atividade científica humana: a publicação de resultados em periódicos, a competição por financiamentos de pesquisa e a formação de grupos de pesquisa.
preview
EA baseado em rede neural com PatchTST

EA baseado em rede neural com PatchTST

Este artigo apresenta a revolucionária arquitetura PatchTST, um transformer adaptado à análise de séries temporais financeiras que divide os dados de mercado em patches de 16 barras para um processamento mais eficiente. O texto examina detalhadamente a implementação completa de um robô de negociação em MQL5, abordando desde os fundamentos matemáticos e as estruturas de dados até a criação de um Expert Advisor pronto para uso, incluindo sistemas de gestão de risco e treinamento contínuo.
preview
Corpo em Connexus (Parte 4): Adicionando suporte ao corpo de requisições HTTP

Corpo em Connexus (Parte 4): Adicionando suporte ao corpo de requisições HTTP

Neste artigo, abordamos o conceito de corpo nas requisições HTTP, que é necessário para o envio de dados como JSON e texto simples. Discutimos e explicamos como usá-lo corretamente junto com os cabeçalhos apropriados. Também introduzimos a classe ChttpBody, que faz parte da biblioteca Connexus e que irá simplificar o trabalho com o corpo das requisições.
preview
Redes neurais em trading: Extração eficiente de características para classificação precisa (Construção de objetos)

Redes neurais em trading: Extração eficiente de características para classificação precisa (Construção de objetos)

Mantis é uma ferramenta universal para análise profunda de séries temporais, escalável de forma flexível para quaisquer cenários financeiros. Saiba como a combinação de patching, convoluções locais e atenção cruzada permite obter uma interpretação de alta precisão dos padrões de mercado.
preview
Do básico ao intermediário: Objetos e sub janelas (I)

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

O artigo detalha a criação e o posicionamento do objeto OBJ_CHART dentro de sub janelas, destacando nuances entre janela principal e subjanelas. Mostra como integrar indicadores com recursos (#resource, ChartIndicatorAdd) e identificar a sub janela correta por meio do nome curto do indicador. O resultado é um código mais estável, portátil e fácil de reutilizar.
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
EA baseado em rede neural com PatchTST

EA baseado em rede neural com PatchTST

Este artigo apresenta a revolucionária arquitetura PatchTST, um transformer adaptado à análise de séries temporais financeiras que divide os dados de mercado em patches de 16 barras para um processamento mais eficiente. O texto examina detalhadamente a implementação completa de um robô de negociação em MQL5, abordando desde os fundamentos matemáticos e as estruturas de dados até a criação de um Expert Advisor pronto para uso, incluindo sistemas de gestão de risco e treinamento contínuo.
preview
Redes neurais em trading: Segmentação periódica adaptativa (Conclusão)

Redes neurais em trading: Segmentação periódica adaptativa (Conclusão)

Propomos mergulhar no fascinante mundo do LightGTS, um framework leve, porém poderoso, para previsão de séries temporais, no qual a convolução adaptativa e a codificação RoPE se combinam com métodos inovadores de atenção. Em nosso artigo você encontrará uma descrição detalhada de todos os componentes, desde a criação de patches até a complexa mistura de especialistas no decodificador, prontos para integração em projetos MQL5. Descubra como o LightGTS leva o trading automatizado a um novo nível.
preview
Implementação do algoritmo criptográfico SHA-256 do zero em MQL5

Implementação do algoritmo criptográfico SHA-256 do zero em MQL5

Criar integrações com bolsas de criptomoedas sem arquivos DLL foi, por muito tempo, uma tarefa complexa, mas esta solução fornece uma base completa para conexão direta ao mercado.
preview
Do básico ao intermediário: Sobrecarga de operadores (I)

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

Neste artigo começaremos a ver como seria a implementação da chamada sobrecarga de operadores. Iremos começar vendo a motivação por detrás de tal implementação. Assim como também veremos que nem sempre as coisas são tão complicadas como parecem.
preview
Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 5): Regras de Negociação Auto Adaptativas

Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 5): Regras de Negociação Auto Adaptativas

As melhores práticas, que definem como usar um indicador com segurança, nem sempre são fáceis de seguir. Condições de mercado calmas podem, surpreendentemente, produzir leituras no indicador que não se qualificam como um sinal de negociação, levando à perda de oportunidades para traders algorítmicos. Este artigo irá sugerir uma solução potencial para esse problema, à medida que discutimos como construir aplicações de negociação capazes de adaptar suas regras de negociação aos dados de mercado disponíveis.
preview
Do iniciante ao especialista: Sistema de análise autogeométrica

Do iniciante ao especialista: Sistema de análise autogeométrica

Os padrões geométricos oferecem aos traders uma forma concisa de interpretar o movimento dos preços. Muitos analistas desenham linhas de tendência, retângulos e outras figuras manualmente e, em seguida, baseiam suas decisões de negociação nas formações que enxergam. Neste artigo, examinaremos uma alternativa automatizada: o uso de MQL5 para detectar e analisar os padrões geométricos mais populares. Vamos detalhar a metodologia, discutir os detalhes da implementação e mostrar como o reconhecimento automático de padrões pode aprimorar a compreensão do mercado pelo trader.
preview
Do básico ao intermediário: Sobrecarga de operadores (VI)

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

Aqui iremos implementar a exclusão via sobrecarga de operador. E este com toda a certeza será um artigo, no qual muitos precisaram estudar por um longo período. Isto a fim de conseguir assimilar tudo o que será mostrado aqui. Mas quero lembrar a você, que o que veremos aqui, será apenas uma pequena e insignificante parte de tudo aquilo que é chamado programação.
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
Do básico ao intermediário: Sobrecarga de operadores (IV)

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

Neste artigo faremos uma primeira abordagem a fim de trabalhar e demonstrar como podemos implementar a sobrecarga do operador subscrito e também do operador de atribuição. Tentando com isto trazer uma abordagem prática e que fosse interessante para todos. Porém o que será visto aqui, é apenas uma parte daquilo que pretendo ainda mostrar e que está diretamente ligado a sobrecarga de tais operadores.
preview
Envio de mensagens de MQL5 para o Discord, criação de um bot Discord-MetaTrader 5

Envio de mensagens de MQL5 para o Discord, criação de um bot Discord-MetaTrader 5

Assim como o Telegram, o Discord é capaz de receber informações e mensagens em formato JSON usando suas APIs de comunicação. Neste artigo, veremos como usar a API do Discord para enviar sinais de trading e atualizações do MetaTrader 5 para sua comunidade de trading no Discord.
preview
Redes neurais em trading: Dos transformers aos neurônios spiking (Conclusão)

Redes neurais em trading: Dos transformers aos neurônios spiking (Conclusão)

As redes neurais já estão transformando a forma como analisamos os mercados, e novas arquiteturas abrem possibilidades ainda maiores. Neste artigo, concluímos nosso desenvolvimento com o framework SpikingBrain, que nos apresenta novas perspectivas.
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
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
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
Equipe de agentes de IA com rotação baseada no lucro: a evolução de um sistema de trading vivo em MQL5

Equipe de agentes de IA com rotação baseada no lucro: a evolução de um sistema de trading vivo em MQL5

Gestão financeira como ecossistema: sete traders de IA, cada um com personalidade e estratégia próprias, em vez de um único algoritmo. Eles competem pelo capital, aprendem com os erros e tomam decisões em conjunto. O artigo apresenta os princípios de funcionamento do sistema Modern RL Trader, no qual o código é dotado de consciência e emoções, dando origem a uma inteligência de trading viva e em constante evolução.
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
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
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
Aplicando Seleção de Recursos Localizada em Python e MQL5

Aplicando Seleção de Recursos Localizada em Python e MQL5

Este artigo explora um algoritmo de seleção de recursos introduzido no artigo 'Local Feature Selection for Data Classification' de Narges Armanfard et al. O algoritmo é implementado em Python para construir modelos de classificação binária que podem ser integrados com aplicativos MetaTrader 5 para inferência.
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
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
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
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
Criação de EAs que se auto-otimizam em MQL5 (Parte 9): Cruzamento duplo de médias móveis

Criação de EAs que se auto-otimizam em MQL5 (Parte 9): Cruzamento duplo de médias móveis

Este artigo apresenta o desenvolvimento de uma estratégia de cruzamento duplo de médias móveis que utiliza sinais de um timeframe superior (D1) para determinar as entradas em um timeframe inferior (M15), enquanto os níveis de stop-loss são calculados com base em um timeframe intermediário (H4), utilizado para a gestão de risco. São introduzidas constantes do sistema, enumerações personalizadas e a lógica dos modos de seguimento de tendência e reversão à média, com ênfase na modularidade e na futura otimização por meio de um algoritmo genético. Essa abordagem oferece condições flexíveis de entrada e saída, buscando reduzir o atraso dos sinais e melhorar o timing das operações ao alinhar as entradas nos timeframes inferiores às tendências dos timeframes superiores.