Artigos com exemplos de como programar na linguagem MQL5

icon

Inúmeros artigos com exemplos sobre como criar indicadores e robôs de negociação para a plataforma MetaTrader na linguagem MQL5 esperam por você. Cada artigo é acompanhado de códigos-fonte, que você pode abrir no MetaEditor e executar por conta própria.

Esses artigos serão úteis tanto para quem está se iniciando na negociação automatizada, bem como traders capacitados com experiência em programação e negociação. Aqui você encontrará não apenas exemplos, mas também novas ideias.

Novo artigo
recentes | melhores
preview
Desenvolvimento de sistemas de trading avançados ICT: Implementação de sinais no indicador Order Blocks

Desenvolvimento de sistemas de trading avançados ICT: Implementação de sinais no indicador Order Blocks

Neste artigo você vai aprender como desenvolver um indicador Order Blocks baseado no volume do livro de ofertas (profundidade de mercado) e otimizá-lo usando buffers para melhorar a precisão. Com isso, concluímos a etapa atual do projeto e nos preparamos para as próximas, nas quais será implementada uma classe de gerenciamento de risco e um robô de negociação que utilizará os sinais gerados pelo indicador.
preview
Migrando para o MQL5 Algo Forge (Parte 4): Trabalhando com versões e lançamentos

Migrando para o MQL5 Algo Forge (Parte 4): Trabalhando com versões e lançamentos

Vamos continuar o desenvolvimento dos projetos Simple Candles e Adwizard, detalhando os aspectos do uso do sistema de controle de versão e do repositório MQL5 Algo Forge.
preview
Integração do MQL5 com pacotes de processamento de dados (Parte 3): Visualização de dados aprimorada

Integração do MQL5 com pacotes de processamento de dados (Parte 3): Visualização de dados aprimorada

Neste artigo, vamos explorar a visualização de dados avançada, incluindo recursos como interatividade, dados em camadas e elementos dinâmicos, que permitem aos traders examinar tendências, padrões e correlações com mais eficácia.
preview
Algoritmo de otimização da sociedade anárquica — Anarchic society optimization (ASO)

Algoritmo de otimização da sociedade anárquica — Anarchic society optimization (ASO)

No próximo artigo, conheceremos o algoritmo Anarchic Society Optimization (ASO) e discutiremos como um algoritmo baseado no comportamento irracional e aventureiro dos participantes de uma sociedade anárquica — um sistema anômalo de interação social, livre de autoridade centralizada e de qualquer tipo de hierarquia — é capaz de explorar o espaço de soluções e evitar armadilhas de ótimos locais. O artigo apresentará uma estrutura unificada do ASO, aplicável tanto a problemas contínuos quanto a problemas discretos.
preview
Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Evolução em duas fases

Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Evolução em duas fases

Este artigo dá continuidade ao tema do comportamento social dos organismos vivos e ao seu impacto no desenvolvimento de um novo modelo matemático, o ASBO (Adaptive Social Behavior Optimization). Exploraremos a evolução em duas fases, realizaremos testes no algoritmo e apresentaremos as conclusões. Assim como na natureza, onde grupos de organismos vivos se unem para sobreviver, o ASBO utiliza princípios de comportamento coletivo para resolver problemas complexos de otimização.
preview
Do básico ao intermediário: Eventos de mouse

Do básico ao intermediário: Eventos de mouse

Este artigo, é uns dos que definitivamente, é necessário não apenas ver o código e o estudar para compreender o que estará acontecendo. É de fato, necessário, criar uma aplicação executável e a utilizar em um gráfico qualquer. Isto maneira a conseguir entender pequenos detalhes, que de outra forma são muito complicados de serem compreendidos. Como por exemplo, a combinação de teclado com o mouse, a fim de construir certos tipos de coisas.
preview
Mecanismos de gating em aprendizado por ensemble

Mecanismos de gating em aprendizado por ensemble

Neste artigo, continuamos nossa exploração de modelos ensemble discutindo o conceito de gates, especificamente como eles podem ser úteis na combinação das saídas dos modelos para aprimorar a precisão das previsões ou a generalização do modelo.
preview
O Método de Agrupamento de Manipulação de Dados: Implementando o Algoritmo Combinatório em MQL5

O Método de Agrupamento de Manipulação de Dados: Implementando o Algoritmo Combinatório em MQL5

Neste artigo, continuamos nossa exploração da família de algoritmos do Método de Agrupamento de Manipulação de Dados, com a implementação do Algoritmo Combinatório, juntamente com sua versão refinada, o Algoritmo Combinatório Seletivo em MQL5.
preview
Gerenciamento de riscos (Parte 2): Implementação do cálculo de lotes na interface gráfica

Gerenciamento de riscos (Parte 2): Implementação do cálculo de lotes na interface gráfica

Neste artigo, analisaremos como aprimorar e aplicar de forma mais eficiente os conceitos apresentados no artigo anterior, utilizando as poderosas bibliotecas de elementos gráficos de controle do MQL5. Conduzirei você passo a passo pelo processo de criação de uma interface gráfica totalmente funcional, explicando o plano de projeto subjacente, bem como o propósito e o princípio de funcionamento de cada método empregado. Além disso, ao final do artigo testaremos o painel criado, a fim de confirmar seu correto funcionamento e sua aderência aos objetivos estabelecidos.
preview
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 1): Projetor de Gráficos

Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 1): Projetor de Gráficos

Este projeto tem como objetivo aproveitar o algoritmo MQL5 para desenvolver um conjunto abrangente de ferramentas de análise para o MetaTrader 5. Essas ferramentas — que vão desde scripts e indicadores até modelos de IA e expert advisors — irão automatizar o processo de análise de mercado. Em alguns momentos, esse desenvolvimento gerará ferramentas capazes de realizar análises avançadas sem intervenção humana e prever resultados em plataformas apropriadas. Nenhuma oportunidade será perdida. Junte-se a mim enquanto exploramos o processo de construção de um conjunto robusto de ferramentas personalizadas de análise de mercado. Começaremos desenvolvendo um programa simples em MQL5 que chamei de Projetor de Gráficos.
preview
Do básico ao intermediário: Objetos (IV)

Do básico ao intermediário: Objetos (IV)

Este talvez venha a ser o artigo mais divertido até este momento. Isto porque, aqui iremos implementar uma modificação de um objeto presente no MetaTrader 5, a fim de conseguir criar um outro objeto, que não existe originalmente na plataforma. Claro que o que será visto aqui, pode parecer meio que doideira. Mas funciona e tem um objetivo bastante interessante.
preview
De Iniciante a Especialista: Depuração Colaborativa em MQL5

De Iniciante a Especialista: Depuração Colaborativa em MQL5

A resolução de problemas pode estabelecer uma rotina concisa para dominar habilidades complexas, como programar em MQL5. Essa abordagem permite que você se concentre na resolução de problemas enquanto desenvolve suas habilidades ao mesmo tempo. Quanto mais problemas você resolver, mais conhecimento avançado será transferido para o seu cérebro. Pessoalmente, acredito que a depuração é a forma mais eficaz de dominar a programação. Hoje, vamos percorrer o processo de limpeza de código e discutir as melhores técnicas para transformar um programa desorganizado em um funcional e limpo. Leia este artigo e descubra insights valiosos.
preview
Do básico ao intermediário: Acesso aleatório (I)

Do básico ao intermediário: Acesso aleatório (I)

Neste artigo teremos a nossa primeira experiência no que se refere ao acesso aleatório ao conteúdo de um arquivo. Isto visando tanto a escrita quanto também a leitura de informações e dados presentes em um arquivo. No entanto, como este tema é um tanto quanto longo para ser explicado em um único artigo. Aqui iremos apenas fazer uma introdução sobre esta questão do acesso aleatório.
preview
Ganhe uma Vantagem Sobre Qualquer Mercado (Parte III): Índice de Gastos com Cartões Visa

Ganhe uma Vantagem Sobre Qualquer Mercado (Parte III): Índice de Gastos com Cartões Visa

No mundo dos big data, existem milhões de conjuntos de dados alternativos que têm o potencial de aprimorar nossas estratégias de negociação. Nesta série de artigos, vamos ajudá-lo a identificar os conjuntos de dados públicos mais informativos.
preview
Reimaginando Estratégias Clássicas (Parte 12): Estratégia de Breakout EURUSD

Reimaginando Estratégias Clássicas (Parte 12): Estratégia de Breakout EURUSD

Junte-se a nós hoje enquanto nos desafiamos a construir uma estratégia de negociação de rompimento lucrativa em MQL5. Selecionamos o par EURUSD e tentamos negociar rompimentos de preço no período de uma hora. Nosso sistema teve dificuldade em distinguir entre falsos rompimentos e o início de tendências reais. Camadas de filtros foram adicionadas ao sistema para minimizar perdas e aumentar ganhos. No final, conseguimos tornar nosso sistema lucrativo e menos propenso a falsos rompimentos.
preview
Algoritmo do Campo Elétrico Artificial — Artificial Electric Field Algorithm (AEFA)

Algoritmo do Campo Elétrico Artificial — Artificial Electric Field Algorithm (AEFA)

Este artigo apresenta o Algoritmo do Campo Elétrico Artificial (AEFA), inspirado na lei de Coulomb da força eletrostática. Por meio de partículas carregadas e suas interações, o algoritmo simula fenômenos elétricos para resolver tarefas complexas de otimização. O AEFA demonstra propriedades únicas em relação a outros algoritmos baseados em leis da natureza.
preview
Expert Advisor Auto-Otimizável com MQL5 e Python (Parte VI): Aproveitando o Deep Double Descent

Expert Advisor Auto-Otimizável com MQL5 e Python (Parte VI): Aproveitando o Deep Double Descent

O aprendizado de máquina tradicional ensina os praticantes a serem vigilantes para não superajustar (overfitting) seus modelos. No entanto, essa ideologia está sendo desafiada por novas descobertas publicadas por pesquisadores diligentes de Harvard, que identificaram que o que parece ser overfitting pode, em certas circunstâncias, ser resultado de encerrar prematuramente os procedimentos de treinamento. Demonstramos como podemos usar as ideias publicadas no artigo de pesquisa para melhorar nosso uso de IA na previsão de retornos de mercado.
preview
Dominando Registros de Log (Parte 1): Conceitos Fundamentais e Primeiros Passos em MQL5

Dominando Registros de Log (Parte 1): Conceitos Fundamentais e Primeiros Passos em MQL5

Bem-vindo ao início de mais uma jornada! Este artigo abre uma série especial onde criaremos, passo a passo, uma biblioteca para manipulação de logs, feita sob medida para quem desenvolve na linguagem MQL5.
preview
Implementação do mecanismo de breakeven em MQL5 (Parte 1): Classe base e modo de breakeven por pontos fixos

Implementação do mecanismo de breakeven em MQL5 (Parte 1): Classe base e modo de breakeven por pontos fixos

Neste artigo, analisamos a aplicação do mecanismo de breakeven (ponto de equilíbrio) em estratégias automatizadas na linguagem MQL5. Começaremos com uma explicação simples do que é o modo de breakeven, como ele é implementado e quais são suas possíveis variações. Em seguida, essa funcionalidade será integrada ao EA Order Blocks, criado por nós no último artigo sobre gerenciamento de riscos. Para avaliar a eficácia, faremos dois backtests sob determinadas condições: um com a aplicação do mecanismo de breakeven e outro, sem.
preview
Do básico ao intermediário: Filas, Listas e Árvores (I)

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

Neste artigo começaremos a explorar uma pequena série de conceitos, que é de suma importância para quem realmente deseja aprender a programar da maneira correta. Com se trata de algo que a principio pode ser muito complicado. Apesar de usar coisas simples. Iremos ver isto aos poucos. Então aqui iremos começar a ver o que seria filas de dados.
preview
MQL5 Trading Toolkit (Parte 5): Expansão da biblioteca EX5 para gerenciamento do histórico com funções do último ordem pendente executada

MQL5 Trading Toolkit (Parte 5): Expansão da biblioteca EX5 para gerenciamento do histórico com funções do último ordem pendente executada

Aprenda a criar um módulo EX5 com funções exportáveis que permite consultar e armazenar facilmente os dados da última ordem pendente executada. Neste guia passo a passo, aprimoraremos a biblioteca EX5 de gerenciamento de histórico (History Management) desenvolvendo funções especializadas e independentes para extrair as principais propriedades da última ordem pendente executada. Entre essas propriedades estão o tipo de ordem, o horário de colocação, o horário de execução, o tipo de execução e outros dados importantes necessários para o gerenciamento e análise eficaz do histórico de operações com ordens pendentes.
preview
Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, Box-Muller

Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, Box-Muller

Este artigo apresenta uma imersão fascinante no mundo do comportamento social de organismos vivos e sua influência na criação de um novo modelo matemático — ASBO (Adaptive Social Behavior Optimization). Exploramos como os princípios de liderança, vizinhança e cooperação, observados em sociedades de seres vivos, inspiram o desenvolvimento de algoritmos de otimização inovadores.
preview
Do básico ao intermediário: Eventos em Objetos (IV)

Do básico ao intermediário: Eventos em Objetos (IV)

Neste artigo iremos terminar o que foi começado no artigo anterior. Ou seja, uma forma total e completamente interativa de redimensionar os objetos diretamente no gráfico. Apesar do fato de muitos imaginarem que para fazer tal coisa, seria necessário muito mais conhecimento sobre MQL5. Você irá notar que usando conceitos simples e um conhecimento muito básico, podemos implementar uma forma de trabalhar com os objetos diretamente no gráfico. Algo que terá um resultado bem divertido e bastante interessante.
preview
Do básico ao intermediário: Classes (I)

Do básico ao intermediário: Classes (I)

Neste artigo, começaremos a ver o que seria de fato uma classe, e por que elas foram criadas. Apesar deste ser um assunto bastante interessante, aqui iremos focar, nas questões relacionadas ao que rege e tange a programação em MQL5. Sendo este artigo, apenas uma introdução ao assunto.
preview
Visualização de estratégias em MQL5: distribuindo os resultados da otimização em gráficos de critérios

Visualização de estratégias em MQL5: distribuindo os resultados da otimização em gráficos de critérios

Neste artigo, escreveremos um exemplo de visualização do processo de otimização e exibiremos os três melhores passes para quatro critérios de otimização. Além disso, implementaremos a possibilidade de selecionar um dos três melhores passes para exibir seus dados em tabelas e no gráfico.
preview
Criação de um painel de administração de trading no MQL5 (Parte IV): Segurança no login

Criação de um painel de administração de trading no MQL5 (Parte IV): Segurança no login

Imagine que um invasor tenha conseguido entrar no sistema de gerenciamento de trading e obtido acesso aos computadores e ao painel de administração usados para transmitir informações valiosas a milhões de traders em todo o mundo. Isso pode resultar em consequências catastróficas, como o envio não autorizado de mensagens enganosas ou cliques acidentais em botões que disparam ações indesejadas. Neste artigo, analisaremos as medidas de segurança do MQL5 e os novos recursos de proteção implementados em nosso painel de administração para evitar tais ameaças. Ao aprimorar nossos protocolos de segurança, buscamos proteger nossos canais de comunicação e manter a confiança dos membros de nossa comunidade de trading.
preview
Do básico ao intermediário: Filas, Listas e Árvores (VI)

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

Neste artigo iremos retomar a implementação do que seria uma árvore. Agora que temos os conceitos básicos sobre como um constructor e destructor funcionam. Poderemos finalmente corrigir o código visto no último artigo. Mas se prepare para uma verdadeira aventura dentro da programação MQL5.
preview
Analisando o código binário dos preços no mercado (Parte II): Convertendo para BIP39 e criando um modelo GPT

Analisando o código binário dos preços no mercado (Parte II): Convertendo para BIP39 e criando um modelo GPT

Seguimos com as tentativas de decifrar os movimentos dos preços... Que tal uma análise linguística do "vocabulário do mercado", que obtemos ao converter o código binário do preço para BIP39? Neste artigo, vamos nos aprofundar em uma abordagem inovadora para a análise de dados de mercado e explorar como os métodos modernos de processamento de linguagem natural podem ser aplicados ao idioma do mercado.
preview
Do básico ao intermediário: Eventos em Objetos (III)

Do básico ao intermediário: Eventos em Objetos (III)

Neste artigo iremos preparar o terreno para algo que será visto no próximo artigo. Mas também iremos ver como permitir que um objeto do tipo OBJ_LABEL possa ser editado e movido de forma completamente interativa. Ou seja, poderemos mudar tanto o texto quanto a posição de um objeto do tipo OBJ_LABEL, sem abrir a janela de propriedades do objeto.
preview
Do básico ao intermediário: FileSave e FileLoad

Do básico ao intermediário: FileSave e FileLoad

Neste artigo será explicado e explorado algumas formas de lidar com as funções de biblioteca FileSave e FileLoad. Apesar de muita gente, as considerar pouco promissoras, devido a algumas limitações ou dificuldades que as mesmas nos gera em alguns tipos de cenários. Entender da forma correta como estas duas funções trabalham, podem lhe poupar muito trabalho em certos momento. Além é claro, das mesmas, serem uma ótima forma de promover arquivos de log.
preview
Construa EAs auto-otimizáveis em MQL5 (Parte 3): Acompanhamento dinâmico de tendência e retorno à média

Construa EAs auto-otimizáveis em MQL5 (Parte 3): Acompanhamento dinâmico de tendência e retorno à média

Os mercados financeiros geralmente são classificados como estando em consolidação (movimento lateral) ou em tendência. Essa visão estática do mercado pode facilitar o trading no curto prazo. No entanto, ela está desconectada da realidade do mercado. Neste artigo, vamos tentar compreender melhor como exatamente os mercados financeiros transitam entre esses dois possíveis regimes e vamos tentar compreender melhor como exatamente os mercados financeiros transitam entre esses dois possíveis regimes e como podemos utilizar esse novo entendimento do comportamento do mercado para ganhar confiança em nossas estratégias de trading algorítmico.
preview
MQL5 Trading Toolkit (Parte 7): Expandindo a Biblioteca EX5 de Gerenciamento de Histórico com as Funções da Última Ordem Pendente Cancelada

MQL5 Trading Toolkit (Parte 7): Expandindo a Biblioteca EX5 de Gerenciamento de Histórico com as Funções da Última Ordem Pendente Cancelada

Aprenda como concluir a criação do módulo final na biblioteca History Manager EX5, com foco nas funções responsáveis por lidar com a ordem pendente cancelada mais recente. Isso fornecerá a você as ferramentas para recuperar e armazenar de forma eficiente os principais detalhes relacionados às ordens pendentes canceladas com MQL5.
preview
Construa Expert Advisors Auto-Otimizáveis em MQL5 (Parte 2): Estratégia de Scalping USDJPY

Construa Expert Advisors Auto-Otimizáveis em MQL5 (Parte 2): Estratégia de Scalping USDJPY

Junte-se a nós hoje enquanto nos desafiamos a construir uma estratégia de trading para o par USDJPY. Vamos negociar padrões de candles que são formados no gráfico diário, pois eles potencialmente têm mais força por trás deles. Nossa estratégia inicial foi lucrativa, o que nos encorajou a continuar refinando a estratégia e adicionando camadas extras de segurança, para proteger o capital obtido.
preview
Do básico ao intermediário: Classes (II)

Do básico ao intermediário: Classes (II)

Este artigo foi pensado para ser o mais didático possível. Isto porque o tema que será abordado aqui, por si só já gera muita confusão na cabeça de muita gente. Então meu caro leitor, procure experimentar na prática o que estará sendo visto aqui em forma de texto. E qualquer dúvida, não deixe de comentar. Pois de fato entender destructores não é uma das tarefas mais simples.
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
Consultor Especialista Auto-Otimizável com MQL5 e Python (Parte V): Modelos de Markov Profundos

Consultor Especialista Auto-Otimizável com MQL5 e Python (Parte V): Modelos de Markov Profundos

Nesta discussão, aplicaremos uma Cadeia de Markov simples sobre um indicador RSI, para observar como o preço se comporta após o indicador atravessar níveis-chave. Concluímos que os sinais de compra e venda mais fortes no par NZDJPY são gerados quando o RSI está nas faixas de 11-20 e 71-80, respectivamente. Vamos demonstrar como você pode manipular seus dados para criar estratégias de trading ideais aprendidas diretamente a partir dos dados que possui. Além disso, mostraremos como treinar uma rede neural profunda para aprender a utilizar a matriz de transição de forma otimizada.
preview
Do básico ao intermediário: Navegando na SandBox

Do básico ao intermediário: Navegando na SandBox

Neste artigo veremos duas formas de observar e até mesmo ter alguma interação com o conteúdo presente em uma SandBox. Isto usando a plataforma MetaTrader 5 como ponto de apoio. Entender o conteúdo mostrado neste artigo, será primordial para entender o que será visto nos próximos artigos.
preview
Do básico ao intermediário: Eventos em Objetos (II)

Do básico ao intermediário: Eventos em Objetos (II)

Neste artigo iremos ver como funciona os três últimos tipos de eventos que podem ser disparados por um objeto. Entender isto será algo muito divertido. Já que no final faremos algo que para muitos pode parecer um tanto quanto insanidade. Porém que é perfeitamente possível de ser feito, e tem um resultado bastante surpreendente.
preview
Do básico ao intermediário: Filas, Listas e Árvores (II)

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

Este é um artigo do qual você meu caro leitor, deverá estudar com muita calma. Isto devido ao tipo de coisa que será explicado nele. Apesar de termos procurando manter as coisas o mais simples e didáticas quanto foi possível ser feito. O conteúdo apresentado aqui, é sem sobra de dúvida algo muito complicado para quem está iniciando na programação. Mas isto não é motivo para que você venha a desanimar ou ignorar o que está sendo explicado aqui. Já que este artigo fará um elo, entre dois assuntos completamente diferentes, porém intimamente ligados.
preview
Observador Connexus (Parte 8): Adicionando Request Observer (Observador de requisições)

Observador Connexus (Parte 8): Adicionando Request Observer (Observador de requisições)

Nesta parte final da nossa série sobre a biblioteca Connexus, analisamos a implementação do padrão Observador, além dos principais refatoramentos nos caminhos dos arquivos e nomes dos métodos. Esta série apresenta todo o desenvolvimento do Connexus, criado para simplificar a interação HTTP em aplicativos complexos.