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
Filtragem e extração de características no domínio da frequência

Filtragem e extração de características no domínio da frequência

Neste artigo, vamos explorar a aplicação de filtros digitais em séries temporais representadas no domínio da frequência, com o objetivo de extrair características únicas que podem ser úteis para modelos de previsão.
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
Do básico ao intermediário: Array (I)

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

Este é um artigo de transição entre o que foi visto até agora, para uma nova etapa de estudos. O pré-requisito para conseguir entender este artigo é ter compreendido os artigos anteriores. 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
Do básico ao intermediário: Indicador (V)

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

Neste artigo, iremos ver como podemos lidar com requerimentos do usuário a fim de mudar o modo de plotagem do gráfico. Isto para que consigamos fazer com que um indicador, voltado a utilizar o modo de plotagem gráfica atual, não fique estranho ou diferente do que seria esperado pelo usuário do MetaTrader 5.
preview
Recursos do SQLite em MQL5: Exemplo de painel interativo com estatísticas de trading por símbolo e magic

Recursos do SQLite em MQL5: Exemplo de painel interativo com estatísticas de trading por símbolo e magic

Neste artigo, vamos criar um indicador que exibe, em um painel interativo, estatísticas de trading da conta divididas por símbolos e estratégias de negociação. Escreveremos o código com base em exemplos da Documentação e do artigo sobre trabalho com bancos de dados.
preview
Avaliação visual e ajuste da negociação no MetaTrader 5

Avaliação visual e ajuste da negociação no MetaTrader 5

No testador de estratégias, é possível não apenas otimizar os parâmetros do robô de negociação. Vamos mostrar como avaliar, após o fato, o histórico de negociação de sua conta e fazer ajustes na negociação dentro do testador, alterando os tamanhos dos stop orders das posições abertas.
preview
Desenvolvendo um sistema de Replay (Parte 75): Um novo Chart Trade (II)

Desenvolvendo um sistema de Replay (Parte 75): Um novo Chart Trade (II)

Neste artigo explicarei grande parte da classe C_ChartFloatingRAD. Esta é responsável por fazer com que o Chart Trade funcione. Porém aqui não irei de fato terminar a explicação. A mesma será finalizada no próximo artigo. Já que o conteúdo neste artigo é bastante denso e precisa ser compreendido a fundo. 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
Otimização por Quimiotaxia Bacteriana (BCO)

Otimização por Quimiotaxia Bacteriana (BCO)

Este artigo apresenta a versão original do algoritmo de otimização por quimiotaxia bacteriana (Bacterial Chemotaxis Optimization, BCO) e sua variante modificada. Examinaremos detalhadamente todas as diferenças, com foco especial na nova versão BCOm, que simplifica o mecanismo de movimento das bactérias, reduz a dependência do histórico de mudanças de posição e emprega operações matemáticas mais simples em comparação com a versão original, que possui um alto custo computacional. Além disso, serão realizados testes e apresentadas conclusões.
preview
Do básico ao intermediário: Herança

Do básico ao intermediário: Herança

Este com toda a certeza, é um artigo, que você deverá dedicar um bom tempo a fim de entender como, por que as coisas mostradas aqui funcionam. Isto pelo simples fato de que, tudo que será visto e mostrado aqui, é originalmente direcionado ao que seria uma programação orientada em objetos. Mas que na verdade, tem como base e princípios uma programação estrutural.
preview
Desenvolvendo um sistema de Replay (Parte 57): Dissecando o serviço de testagem

Desenvolvendo um sistema de Replay (Parte 57): Dissecando o serviço de testagem

Neste artigo iremos dissecar o serviço de teste que foi visto no artigo anterior. Mas por conta que lá já havia muita informação, e não queria complicar a coisa toda com mais informações. Vamos fazer isto neste artigo daqui. Então se você não tem ideia de como o serviço que foi visto no artigo anterior, permitia que as coisas funcionassem daquela forma. Venha comigo neste artigo para compreender o que será base para os próximos artigos.
preview
Anotação de dados na análise de série temporal (Parte 6): Aplicação e teste de EA com ONNX

Anotação de dados na análise de série temporal (Parte 6): Aplicação e teste de EA com ONNX

Nesta série de artigos, apresentamos vários métodos de anotação de séries temporais, que podem criar dados adequados à maioria dos modelos de inteligência artificial (IA). A anotação de dados direcionada pode tornar o modelo de IA treinado mais alinhado aos objetivos e tarefas do usuário, aumentar a precisão do modelo e até ajudar o modelo a alcançar um salto qualitativo!
preview
Integre seu próprio LLM no EA (Parte 3): Treinando seu próprio LLM com CPU

Integre seu próprio LLM no EA (Parte 3): Treinando seu próprio LLM com CPU

Com o rápido desenvolvimento da inteligência artificial hoje em dia, os modelos de linguagem (LLMs) são uma parte importante da IA, então devemos pensar em como integrar LLMs poderosos ao nosso trading algorítmico. Para a maioria das pessoas, é difícil ajustar esses modelos poderosos de acordo com suas necessidades, implantá-los localmente e depois aplicá-los ao trading algorítmico. Esta série de artigos adotará uma abordagem passo a passo para alcançar esse objetivo.
preview
Aprendendo MQL5 do iniciante ao profissional (Parte VI):  Fundamentos da criação de EAs

Aprendendo MQL5 do iniciante ao profissional (Parte VI): Fundamentos da criação de EAs

O artigo dá continuidade à série para iniciantes. Aqui serão abordados os princípios básicos da construção de EAs. Primeiro, criaremos um EA que operará sem indicadores, usando ordens pendentes, depois, criaremos um segundo EA, baseado no indicador padrão MA, operando com ordens a preço atual. Parto do princípio de que você já não é totalmente iniciante e domina o material dos artigos anteriores.
preview
Algoritmo do Big Bang e do Grande Colapso — BBBC (Big Bang - Big Crunch)

Algoritmo do Big Bang e do Grande Colapso — BBBC (Big Bang - Big Crunch)

Este artigo apresenta o método Big Bang - Big Crunch, que possui duas fases principais: a criação cíclica de pontos aleatórios e sua compressão em direção à solução ótima. Essa abordagem combina diversificação e intensificação, permitindo encontrar gradualmente soluções melhores e abrindo novas possibilidades na área de otimização.
preview
Simulação de mercado (Parte 08): Sockets (II)

Simulação de mercado (Parte 08): Sockets (II)

Que tal criar algo prático usando soquetes? Bem, neste artigo, vamos iniciar a criação de um mini chat. Acompanhe como isto será feito, pois será algo bastante interessante. Lembre-se que o que será mostrado aqui tem como objetivo ser um código puramente didático. Você de fato não deve usar este código de forma comercial ou em uma aplicação finalizada. Pois o mesmo não conta com nenhum tipo de segurança no transporte dos dados. Sendo possível ver o conteúdo do que está sendo transportado pelo soquete.
preview
Do básico ao intermediário: Eventos (I)

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

Com base em tudo que já foi mostrado e visto até este ponto. Acredito que já podemos começar a implementar algum tipo de aplicação para ser executada diretamente no gráfico de algum ativo. Mas antes mesmo de podermos fazer isto, precisamos falar de uma coisa que para iniciantes é bastante confusa. Que é justamente o fato de que o aplicações desenvolvidas em MQL5, e voltadas para serem vistas em um gráfico, não são criadas da mesma forma que vimos até este momento. Neste artigo começaremos a entender um pouco melhor sobre isto.
preview
Criando um Painel Administrativo de Negociação em MQL5 (Parte II): Aprimorando a Responsividade e Mensagens Rápidas

Criando um Painel Administrativo de Negociação em MQL5 (Parte II): Aprimorando a Responsividade e Mensagens Rápidas

Neste artigo, vamos aprimorar a responsividade do Painel Administrativo que criamos anteriormente. Além disso, vamos explorar a importância das mensagens rápidas no contexto de sinais de negociação.
preview
Reimaginando Estratégias Clássicas (Parte V): Análise de Múltiplos Símbolos no USDZAR

Reimaginando Estratégias Clássicas (Parte V): Análise de Múltiplos Símbolos no USDZAR

Nesta série de artigos, revisitamos estratégias clássicas para verificar se podemos melhorá-las usando IA. No artigo de hoje, examinaremos uma estratégia popular de análise de múltiplos símbolos utilizando uma cesta de ativos correlacionados. Focaremos no par de moedas exótico USDZAR.
preview
Do básico ao intermediário: Indicador (III)

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

Neste artigo iremos ver como declarar diversos indicadores de plotagem, como DRAW_COLOR_LINE e DRAW_FILLING. Além é claro, aprender como plotar indicadores múltiplos de uma forma muito simples, prática e pouco trabalhosa. Agora que realmente pode mudar a sua forma de enxergar o MetaTrader 5 e o mercado em geral.
preview
Informações detalhadas sobre trading baseado em volume: Indo além dos gráficos OHLC

Informações detalhadas sobre trading baseado em volume: Indo além dos gráficos OHLC

Um sistema de trading algorítmico que combina análise de volume com métodos de machine learning, em especial com redes neurais LSTM. Diferente das abordagens tradicionais de trading, que se concentram principalmente no movimento dos preços, este sistema enfatiza os padrões de volume e suas derivadas para prever os movimentos do mercado. A metodologia inclui três componentes principais: análise das derivadas do volume (primeira e segunda derivada), previsões LSTM para padrões de volume e indicadores técnicos tradicionais.
preview
Desenvolvendo um sistema de Replay (Parte 51): Complicando as coisas (III)

Desenvolvendo um sistema de Replay (Parte 51): Complicando as coisas (III)

Neste artigo você irá compreender uma das coisas mais complexas que existe na programação MQL5. A forma correta de adquirir a ID de gráfico, e por que algumas vezes objetos não são plotados no gráfico. 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
Monitoramento de Trading com Notificações-Push — Exemplo de Serviço no MetaTrader 5

Monitoramento de Trading com Notificações-Push — Exemplo de Serviço no MetaTrader 5

Neste artigo, analisaremos a criação de um programa de serviço para enviar notificações para um smartphone sobre os resultados do trading. No decorrer do artigo, aprenderemos a trabalhar com listas de objetos da Biblioteca Padrão para facilitar a seleção de objetos com as propriedades necessárias.
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
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
Do básico ao intermediário: Array (III)

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

Neste artigo iremos ver como trabalhar com arrays no MQL5, a ponto de transferir informações entre funções e procedimentos, utilizando arrays para isto. O objetivo aqui é lhe preparar para o que será visto e explicado em artigos futuros. No entanto, é extremamente recomendado que você estude muito bem o que será mostrado neste artigo. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como uma aplicação final, onde o objetivo não seja o estudo dos conceitos aqui mostrados.
preview
Desenvolvimento de ferramentas para análise do movimento de preços (Parte 2): Script de comentários analíticos

Desenvolvimento de ferramentas para análise do movimento de preços (Parte 2): Script de comentários analíticos

Dando continuidade ao nosso trabalho para simplificar a interação com o comportamento do preço, temos o prazer de apresentar mais uma ferramenta que pode melhorar significativamente sua análise de mercado e ajudar na tomada de decisões bem fundamentadas. Esta ferramenta exibe indicadores técnicos importantes, como os preços do dia anterior, níveis significativos de suporte e resistência, além do volume de negociação, gerando automaticamente dicas visuais no gráfico.
preview
Desenvolvendo um sistema de Replay (Parte 52): Complicando as coisas (IV)

Desenvolvendo um sistema de Replay (Parte 52): Complicando as coisas (IV)

Neste artigo vamos fazer uma mudança no indicador de mouse a fim de poder efetuar a interação com o indicador de controle, já que a interação está sendo feita de forma errática.
preview
Do básico ao intermediário: União (II)

Do básico ao intermediário: União (II)

Este será um artigo muito divertido e bastante curioso em diversos aspectos. Ele abordará a união para resolver um problema discutido anteriormente. Além disso, exploraremos algumas situações inusitadas que podem surgir ao usar uma união em aplicativos. O conteúdo exposto aqui visa pura e simplesmente a didática. De modo algum deve ser encarado como uma aplicação cuja finalidade não seja o aprendizado e estudo dos conceitos mostrados.
preview
Redes neurais de maneira fácil (Parte 91): previsão na área de frequência (FreDF)

Redes neurais de maneira fácil (Parte 91): previsão na área de frequência (FreDF)

Continuamos a explorar a análise e previsão de séries temporais na área de frequência. E nesta matéria, apresentaremos um novo método de previsão nessa área, que pode ser adicionado a muitos dos algoritmos que já estudamos anteriormente.
preview
DoEasy. Controles (Parte 25): Objeto WinForms Tooltip

DoEasy. Controles (Parte 25): Objeto WinForms Tooltip

Neste artigo, começaremos a desenvolver o controle Tooltip (dica de ferramenta) e começaremos a criar novas primitivas gráficas para a biblioteca. Naturalmente, nem todo elemento tem uma dica de ferramenta, mas todo objeto gráfico pode ter uma.
preview
Hibridização de algoritmos populacionais. Estruturas sequenciais e paralelas

Hibridização de algoritmos populacionais. Estruturas sequenciais e paralelas

Aqui, vamos mergulhar no mundo da hibridização de algoritmos de otimização, analisando três tipos principais: mistura de estratégias, hibridização sequencial e paralela. Realizaremos uma série de experimentos combinando e testando algoritmos de otimização relevantes.
preview
Migrando para o MQL5 Algo Forge (Parte 1): Criando o repositório principal

Migrando para o MQL5 Algo Forge (Parte 1): Criando o repositório principal

Ao trabalharem em projetos no MetaEditor, os desenvolvedores se deparam com a necessidade de gerenciar versões do código. Apesar dos planos de migração para o Git e do lançamento do MQL5 Algo Forge, a integração ainda não foi concluída. Este artigo discute maneiras de tornar o trabalho com as ferramentas atuais mais prático.
preview
Desenvolvendo um sistema de Replay (Parte 62): Dando play no serviço (III)

Desenvolvendo um sistema de Replay (Parte 62): Dando play no serviço (III)

Neste artigo começaremos a resolver, o detalhe sobre o excesso de ticks, que pode acometer a aplicação, quando usamos dados reais. Tal excesso faz com que o serviço muitas das vezes dificulta a correta temporização a fim de conseguir construir a barra de um minuto dentro da janela adequada.
preview
Reimaginando Estratégias Clássicas em MQL5 (Parte II): FTSE100 e Títulos Públicos do Reino Unido

Reimaginando Estratégias Clássicas em MQL5 (Parte II): FTSE100 e Títulos Públicos do Reino Unido

Nesta série de artigos, exploramos estratégias de negociação populares e tentamos melhorá-las usando IA. No artigo de hoje, revisitamos a estratégia clássica de negociação baseada na relação entre o mercado de ações e o mercado de títulos.
preview
Algoritmo de Busca Cooperativa Artificial (Artificial Cooperative Search, ACS)

Algoritmo de Busca Cooperativa Artificial (Artificial Cooperative Search, ACS)

Apresentamos o algoritmo Artificial Cooperative Search (ACS). Este método inovador utiliza uma matriz binária e várias populações dinâmicas, baseadas em relações mutualísticas e cooperação, para encontrar rapidamente e com precisão soluções ótimas. A abordagem única do ACS em relação a "predadores" e "presas" permite alcançar excelentes resultados em problemas de otimização numérica.
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
Formulando um EA Dinâmico de Múltiplos Pares (Parte 1): Correlação e Correlação Inversa entre Moedas

Formulando um EA Dinâmico de Múltiplos Pares (Parte 1): Correlação e Correlação Inversa entre Moedas

O Expert Advisor dinâmico de múltiplos pares utiliza estratégias de correlação e correlação inversa para otimizar o desempenho nas negociações. Ao analisar dados de mercado em tempo real, ele identifica e explora as relações entre os pares de moedas.
preview
Do básico ao intermediário: Array (IV)

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

Neste artigo iremos ver como podemos fazer algo muito parecido com o encontrado em linguagens como C, C++ e Java. Onde podemos enviar um número quase infinito de parâmetros para dentro de uma função ou procedimento. Apesar de aparentemente ser um tópico avançado. Na minha visão, o que será visto aqui, pode muito bem ser implementado por qualquer iniciante. Desde que ele tenha compreendido os conceitos vistos arteriormente. 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
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
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.