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
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
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
Do básico ao intermediário: Objetos (III)

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

Neste artigo iremos ver como podemos implementar um sistema de interação muito bacana e bastante interessante. Ainda mais para quem esteja começando a praticar programação MQL5. Não se trata de algo realmente novo. Porém a forma como irei abordar o assunto, de fato, tornará tudo muito mais simples de entender. Já que iremos ver na prática uma programação estrutural sendo feita com um objetivo bastante divertido.
preview
Como Implementar Otimização Automática em Expert Advisors MQL5

Como Implementar Otimização Automática em Expert Advisors MQL5

Guia passo a passo para otimização automática em MQL5 para Expert Advisors. Vamos abordar uma lógica de otimização robusta, boas práticas para seleção de parâmetros e como reconstruir estratégias com backtesting. Além disso, métodos mais avançados como a otimização walk-forward serão discutidos para aprimorar sua abordagem de trading.
preview
Do básico ao intermediário: Template e Typename (V)

Do básico ao intermediário: Template e Typename (V)

Neste artigo iremos ver um último caso simples de utilização de templates. Mas também iremos ver qual o utilidade e por que a necessidade de se utilizar typename em seus códigos. Apesar deste artigo possa vir a parecer um tanto quanto complicado no inicio. O mesmo precisa ser compreendido de maneira adequada, para que futuras aplicações que utilizem template e typename, sejam de fato compreendidas.
preview
Criando um Painel Administrativo de Negociação em MQL5 (Parte III): Aprimorando a Interface com Estilo Visual (I)

Criando um Painel Administrativo de Negociação em MQL5 (Parte III): Aprimorando a Interface com Estilo Visual (I)

Neste artigo, focaremos no estilo visual da interface gráfica do usuário (GUI) do nosso Painel Administrativo de Negociação usando MQL5. Exploraremos várias técnicas e recursos disponíveis no MQL5 que permitem a personalização e otimização da interface, garantindo que ela atenda às necessidades dos traders enquanto mantém uma estética atraente.
preview
Usando PSAR, Heiken Ashi e Aprendizado Profundo Juntos para Operações de Trading

Usando PSAR, Heiken Ashi e Aprendizado Profundo Juntos para Operações de Trading

Este projeto explora a fusão entre aprendizado profundo e análise técnica para testar estratégias de trading no mercado de câmbio (forex). Um script em Python é usado para experimentação rápida, utilizando um modelo ONNX juntamente com indicadores tradicionais como PSAR, SMA e RSI para prever movimentos do par EUR/USD. Um script em MetaTrader 5 então leva essa estratégia para um ambiente ao vivo, usando dados históricos e análise técnica para tomar decisões de trading mais informadas. Os resultados do backtesting indicam uma abordagem cautelosa, porém consistente, com foco em gestão de risco e crescimento estável em vez da busca agressiva por lucros.
preview
Reimaginando Estratégias Clássicas (Parte VIII): Mercados de Câmbio e Metais Preciosos no USDCAD

Reimaginando Estratégias Clássicas (Parte VIII): Mercados de Câmbio e Metais Preciosos no USDCAD

Nesta série de artigos, revisitamos estratégias de negociação bem conhecidas para ver se podemos melhorá-las utilizando IA. Na discussão de hoje, junte-se a nós enquanto testamos se existe uma relação confiável entre metais preciosos e moedas.
preview
Dados de mercado sem intermediários: conectando MetaTrader 5 à MOEX via ISS API

Dados de mercado sem intermediários: conectando MetaTrader 5 à MOEX via ISS API

Este artigo propõe uma solução para integrar o MetaTrader 5 com o serviço web ISS da MOEX. São fornecidas utilidades para geração automática de códigos-fonte com base no diretório da API e no índice dos principais elementos do serviço.
preview
Análise pós-fato da negociação: ajustando TrailingStop e novos stops no testador de estratégias

Análise pós-fato da negociação: ajustando TrailingStop e novos stops no testador de estratégias

Seguimos com o tema da análise de negociações realizadas no testador de estratégias para melhorar a qualidade da negociação. Vamos verificar como o uso de diferentes métodos de trailing pode alterar os resultados de negociação já obtidos.
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: SandBox e o MetaTrader

Do básico ao intermediário: SandBox e o MetaTrader

Você sabe o que é uma SandBox? Sabe como trabalhar com ela? Se a resposta para qualquer uma destas questões for um não. Veja este artigo, para entender o principio básico por trás de uma SandBox. E entenda por que o MetaTrader 5 faz uso de uma SandBox a fim de garantir a integridade de alguns de seus dados. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.
preview
Simulação de mercado (Parte 05): Iniciando a classe C_Orders (II)

Simulação de mercado (Parte 05): Iniciando a classe C_Orders (II)

Neste artigo, explicarei como o Chart Trade conseguirá lidar, junto com o Expert Advisor, a um pedido do usuário para encerrar todas as posições que se encontram em aberto. Parece ser algo simples. Porém existem alguns agravantes que você precisa saber como lidar com eles.
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 (I)

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

Neste artigo irei ver três dos seis eventos que podem ser disparado pelo MetaTrader 5, quando algo acontece a um objeto presente no gráfico. Estes evento são muito uteis quando o assunto é interação com o usuário. Isto por que sem entender estes eventos, você irá ter muito mais trabalho para manter uma certa configuração no gráfico. Tentando controlar objetos com finalidades específicas.
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 da viagem evolutiva no tempo — Time Evolution Travel Algorithm (TETA)

Algoritmo da viagem evolutiva no tempo — Time Evolution Travel Algorithm (TETA)

Meu algoritmo original. Neste artigo é apresentado o Algoritmo da Viagem Evolutiva no Tempo (TETA), inspirado no conceito de universos paralelos e fluxos temporais. A ideia central do algoritmo é que, embora a viagem no tempo no sentido convencional seja impossível, podemos escolher uma sequência de eventos que leva a diferentes realidades.
preview
Do básico ao intermediário: Ponteiro para função

Do básico ao intermediário: Ponteiro para função

Você provavelmente já deve ter ouvido falar em ponteiro. Isto quando o assunto é programação. Mas você sabia que podemos fazer uso deste tipo de dado aqui no MQL5? Isto claro, de uma forma a não perder o controle ou gerar coisas bizarras durante a execução do código. Porém, sendo um recurso com uso muito específico e voltado para certos tipos de atividade. É difícil ver alguém falando sobre o que seria de fato um ponteiro e como usar eles no MQL5.
preview
Do básico ao intermediário: Estruturas (V)

Do básico ao intermediário: Estruturas (V)

Neste artigo veremos como é feita a sobrecarga de um código estrutural. Sei que isto, é um tanto quanto difícil de entender no começo. Principalmente se você está vendo isto pela primeira vez. Porém, é muito importante que você procure assimilar estes conceitos e entender muito bem o que se passa aqui, antes de procurar se aventurar em coisas ainda mais complicadas e elaboradas.
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
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
Exemplo de CNA (Análise de Rede de Causalidade), SMOC (Controle Otimizado com Modelo Estocástico) e Teoria dos Jogos de Nash com Aprendizado Profundo

Exemplo de CNA (Análise de Rede de Causalidade), SMOC (Controle Otimizado com Modelo Estocástico) e Teoria dos Jogos de Nash com Aprendizado Profundo

Adicionaremos Aprendizado Profundo a esses três exemplos que foram publicados em artigos anteriores e compararemos os resultados com os anteriores. O objetivo é aprender como adicionar Deep Learning a outros EAs.
preview
Criando um painel administrativo de negociação em MQL5 (Parte III): Expansão das classes incorporadas para gerenciamento de temas (II)

Criando um painel administrativo de negociação em MQL5 (Parte III): Expansão das classes incorporadas para gerenciamento de temas (II)

Vamos expandir a biblioteca existente Dialog, incorporando nela a lógica de gerenciamento de temas. Além disso, vamos integrar os métodos de troca de temas nas classes CDialog, CEdit e CButton, utilizadas no nosso projeto de painel administrativo.
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
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
Exemplo de novo Indicador e LSTM Condicional

Exemplo de novo Indicador e LSTM Condicional

Este artigo explora o desenvolvimento de um Expert Advisor (EA) para trading automatizado que combina análise técnica com previsões de deep learning.
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
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
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: 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: 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
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
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
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
Ganhe Vantagem em Qualquer Mercado (Parte V): Dados Alternativos FRED EURUSD

Ganhe Vantagem em Qualquer Mercado (Parte V): Dados Alternativos FRED EURUSD

Na discussão de hoje, utilizamos dados alternativos diários do Federal Reserve de St. Louis sobre o Índice Amplo do Dólar dos EUA e um conjunto de outros indicadores macroeconômicos para prever a taxa de câmbio futura do EURUSD. Infelizmente, embora os dados aparentem ter uma correlação quase perfeita, não conseguimos obter ganhos materiais em nossa acurácia de modelo, o que pode nos indicar que os investidores talvez estejam melhores usando apenas as cotações normais do mercado.
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.