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
Erros de iniciantes no trabalho com o terminal do cliente MetaTrader 4
Erros de iniciantes no trabalho com o terminal do cliente MetaTrader 4

Erros de iniciantes no trabalho com o terminal do cliente MetaTrader 4

Errar é humano. Todos cometem erros: com maior ou menor frequência, por ignorância ou acidente. Você perguntou e agora nós respondemos às suas perguntas sobre: horário do terminal, resultados de testes, impressão no diário, símbolos, histórico do provador, importação do histórico, alavancagem, tráfego, dicas, redimensionamento, cálculos errados, conta inválida, ausência de notícias, mudança de preço, falta de dinheiro, fechamento do mercado.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIII): classe básica de negociação, controle de parâmetros válidos
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIII): classe básica de negociação, controle de parâmetros válidos

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIII): classe básica de negociação, controle de parâmetros válidos

Neste artigo, continuaremos a acompanhar o desenvolvimento da classe de negociação, criaremos um controle que encontre valores incorretos nos parâmetros da ordem de negociação e sonorizaremos eventos de negociação.
Dicas para o trader: indicadores de saldo, drawdown, carregamento e ticks durante o teste
Dicas para o trader: indicadores de saldo, drawdown, carregamento e ticks durante o teste

Dicas para o trader: indicadores de saldo, drawdown, carregamento e ticks durante o teste

Como tornar o teste mais claro? A resposta é simples: no testador, você precisa usar um ou mais indicadores, a saber: os indicadores de ticks, saldo e eqüidade, drawdown e carga de depósito. Isso permitirá monitorar visualmente quer a natureza dos ticks, quer as alterações de saldo e eqüidade, quer o drawdown e a carga de depósito.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 38): coleção de séries temporais - atualização em tempo real e acesso aos dados do programa
Trabalhando com séries temporais na biblioteca DoEasy (Parte 38): coleção de séries temporais - atualização em tempo real e acesso aos dados do programa

Trabalhando com séries temporais na biblioteca DoEasy (Parte 38): coleção de séries temporais - atualização em tempo real e acesso aos dados do programa

No artigo, consideraremos a atualização em tempo real dos dados das séries temporais, bem como o envio de mensagens sobre o evento "Nova Barra" para o gráfico do programa de controle, a partir de todas as séries temporais de todos os símbolos, a fim de processar estes eventos nos programa. Para determinar se necessário atualizar séries temporais para símbolos e períodos inativos, usaremos a classe "Novo tick".
Transferência de um Código Indicador para um Código Expert Advisor. Esquemas da estrutura geral de um Expert Advisor e funções indicadoras
Transferência de um Código Indicador para um Código Expert Advisor. Esquemas da estrutura geral de um Expert Advisor e funções indicadoras

Transferência de um Código Indicador para um Código Expert Advisor. Esquemas da estrutura geral de um Expert Advisor e funções indicadoras

Este artigo trata sobre formas de transferência de um código indicador para um código Expert Advisor e sobre a escrita de Expert Advisors sem convocar indicadores personalizados, e com todo o código do programa para o cálculo dos valores dos indicadores necessários dentro do Expert Advisor. Este artigo fornece um esquema geral de mudança do Expert Advisor e a ideia de construir uma função indicadora baseada em um indicador personalizado. O artigo destina-se para leitores com experiência de programação na linguagem MQL4.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVI): eventos de coleção de símbolos
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVI): eventos de coleção de símbolos

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVI): eventos de coleção de símbolos

No artigo, criaremos uma nova classe base - para todos os objetos da biblioteca - que adicionará funcionalidade de evento a todos os seus herdeiros, bem como uma classe para rastrear eventos de uma coleção de símbolos com base numa classe base nova. Além disso, alteraremos as classes e os eventos de conta para operarem sob a nova funcionalidade do objeto base.
Encontrando erros e registrando
Encontrando erros e registrando

Encontrando erros e registrando

O MetaEditor 5 possui o recurso de depuração Mas, quando você escreve seus programas MQL5, geralmente você deseja exibir não apenas valores individuais, mas todas as mensagens que aparecem durante o trabalho online e teste. Quando o conteúdo do arquivo de registro tem um tamanho grande, é óbvio automatizar a recuperação rápida e fácil da mensagem requerida. Neste artigo consideraremos várias maneiras de encontrar erros em programas do MQL5 e métodos de registro. Além disso, simplificaremos o logging em arquivos e conheceremos um programa simples LogMon para visualizações confortáveis dos registros.
Por que é importante Atualizar o MetaTrader 4 na Versão Mais Recente?
Por que é importante Atualizar o MetaTrader 4 na Versão Mais Recente?

Por que é importante Atualizar o MetaTrader 4 na Versão Mais Recente?

A partir de 01 de agosto de 2014, os terminais MetaTrader 4 de computadores anteriores a Versão 600 não têm mais suporte. No entanto, muitos traders ainda trabalham com versões desatualizadas e não têm conhecimento das características da atualização da plataforma. Tivemos de fazer um grande esforço para este desenvolvimento, queremos seguir em frente com os traders e abandonarmos em definitivo as versões mais antigas. Neste artigo, iremos descrever as vantagens do novo terminal MetaTrader 4.
preview
OpenCL: Da programação ingênua até a mais perceptível

OpenCL: Da programação ingênua até a mais perceptível

Este artigo foca em alguns recursos de otimização que se abrem quando pelo menos alguma consideração é dada ao hardware subjacente em que kernel OpenCL é executado. Os valores obtidos estão longe de serem os valores de teto, mas eles mesmos sugerem que tendo os recursos existentes disponíveis aqui e agora (OpenCL API como implementado pelos desenvolvedores do terminal não permite controlar alguns parâmetros importantes para otimização - particularmente, o tamanho do grupo de trabalho), o ganho de desempenho ao longo da execução do programa anfitrião é muito importante.
Visualização dos resultados de otimização pelo critério selecionado
Visualização dos resultados de otimização pelo critério selecionado

Visualização dos resultados de otimização pelo critério selecionado

No artigo, continuamos a desenvolver o aplicativo MQL para trabalhar com resultados de otimização que foi iniciado em artigos anteriores. Desta vez, veremos um exemplo em que podemos gerar uma tabela de melhores resultados após a otimização de parâmetros, especificando através da interface gráfica outro critério.
Interfaces Gráficas X: O controle Caixa de Texto Multilinha (build 8)
Interfaces Gráficas X: O controle Caixa de Texto Multilinha (build 8)

Interfaces Gráficas X: O controle Caixa de Texto Multilinha (build 8)

Neste artigo, nós vamos discutir o controle Caixa de Texto Multilinha. Ao contrário dos objetos gráficos do tipo OBJ_EDIT, a versão apresentada não terá restrições quanto ao número de caracteres de entrada. Ele também adiciona o modo para transformar a caixa de texto em um editor de texto simples, onde o cursor pode ser movido usando o mouse ou as teclas.
Crie seu próprio Market Watch usando as classes da biblioteca padrão
Crie seu próprio Market Watch usando as classes da biblioteca padrão

Crie seu próprio Market Watch usando as classes da biblioteca padrão

O novo terminal do cliente do MetaTrader 5 e a linguagem MQL5 fornece novas oportunidades para apresentar informações visuais para o negociante. Neste artigo, propomos um conjunto de classes extensível e universal, que lida com todo o trabalho de organização de exibição da informação de texto arbitrária no gráfico. é apresentado o exemplo do indicador Maket Watch.
Sistema de negociação 'Turtle Soup' e sua modificação 'Turtle Soup Plus One'
Sistema de negociação 'Turtle Soup' e sua modificação 'Turtle Soup Plus One'

Sistema de negociação 'Turtle Soup' e sua modificação 'Turtle Soup Plus One'

No artigo regras de estratégias de negociação formalizadas e programadas Turtle Soup e Turtle Soup Plus One a partir do livro de Linda Raschke e Laurence Connors Street Smarts: High Probability Short-Term Trading Strategies. As estratégias descritas no livro receberam uma ampla acolhida, no entanto é importante entender que os autores conceberam suas ideias com base no comportamento do mercado de há 15-20 anos.
preview
Indicadores múltiplos em um gráfico (Parte 01): Entendendo os conceitos

Indicadores múltiplos em um gráfico (Parte 01): Entendendo os conceitos

Entenda como é possível adicionar vários indicadores ao mesmo tempo sem ocupar muda área do seu gráfico. Muita gente gosta e se sente mais segura operando quando observa diversos indicadores ao mesmo tempo, por exemplo RSI, ESTOCÁSTICO, MACD, ADX entre outros, e em alguns casos até mesmo ativos distintos que compõem um determinado índice.
Carteira de Investimentos no MetaTrader 4
Carteira de Investimentos no MetaTrader 4

Carteira de Investimentos no MetaTrader 4

O artigo revela a origem da Carteira de Investimentos e sua aplicação no mercado Forex. São considerados alguns modelos de carteiras de acordo com a matemática simples. O artigo contém exemplos da implementaçao prática da Carteira de Investimentos no MetaTrader 4: indicador de carteiras e um Expert Advisor para negociação semi-automatizada. São descritos tanto os elementos de estratégia de negociação, quanto as suas vantagens e desvantagens.
preview
Explorando as possibilidades de criar gráficos de velas multicoloridas

Explorando as possibilidades de criar gráficos de velas multicoloridas

Neste artigo, veremos as possibilidades de criação de indicadores de velas personalizados, e falaremos sobre suas vantagens e desvantagens.
Um exemplo de uma estratégia de negociação baseada na diferença de fuso horário em diferentes continentes
Um exemplo de uma estratégia de negociação baseada na diferença de fuso horário em diferentes continentes

Um exemplo de uma estratégia de negociação baseada na diferença de fuso horário em diferentes continentes

Navegando na internet é fácil encontrar muitas estratégias que darão a você uma série de recomendações. Vamos pegar uma abordagem interna e ver o processo de criação de estratégia, com base nas diferenças de fusos horários em diferentes continentes.
Aplicação Prática dos Indicadores de Cluster no FOREX
Aplicação Prática dos Indicadores de Cluster no FOREX

Aplicação Prática dos Indicadores de Cluster no FOREX

Indicadores de cluster são conjuntos de indicadores que dividem pares de moedas correntes em moedas distintas. Os indicadores permitem traçar a flutuação da moeda corrente, determinar o potencial de formação de novas tendências de moeda, receber sinais do mercado e seguir posições de médio e longo prazo.
Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte I). Preparação - Descrição da Estrutura e Classe Auxiliar
Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte I). Preparação - Descrição da Estrutura e Classe Auxiliar

Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte I). Preparação - Descrição da Estrutura e Classe Auxiliar

Neste artigo, começaremos a ver um conjunto de ferramentas para marcação gráfica usando atalhos de teclado. É bastante conveniente: clicaremos num botão e aparecerá uma linha de tendência, clicaremos noutro e aparecerá um leque de Fibonacci com os parâmetros desejados. Também poderemos alternar timeframes, mudar a ordem das "camadas" de objetos ou remover todos os objetos do gráfico.
Como preparar cotações do MetaTrader 5 para outros aplicativos
Como preparar cotações do MetaTrader 5 para outros aplicativos

Como preparar cotações do MetaTrader 5 para outros aplicativos

O artigo descreve os exemplos de criação de diretórios, cópia de dados, arquivamento, trabalho com símbolos no Market Watch ou a lista comum, bem como os exemplos de tratamento de erros, etc. Todos estes elementos podem eventualmente ser reúnidos em um simples script para arquivamento de dados em um formato definido pelo usuário.
Expert Advisor Universal: Estratégias Personalizadas e Classes Auxiliares de Negociação (Parte 3)
Expert Advisor Universal: Estratégias Personalizadas e Classes Auxiliares de Negociação (Parte 3)

Expert Advisor Universal: Estratégias Personalizadas e Classes Auxiliares de Negociação (Parte 3)

Neste artigo, vamos continuar a análise dos algoritmos do motor de negociação CStrategy. A terceira parte da série contém uma análise detalhada com exemplos de como desenvolver estratégias de negociação específicas usando esta abordagem. É dada uma atenção especial aos algoritmos auxiliares - sistema de registro Expert Advisor e acesso a dados usando um indexador convencional (Close[1], Open[0], etc).
preview
Análise de Cluster (Parte I): usando a inclinação das linhas indicadoras

Análise de Cluster (Parte I): usando a inclinação das linhas indicadoras

A análise de cluster é um dos elementos mais importantes da inteligência artificial. Neste artigo, tento usar uma análise de cluster aplicada na inclinação de um indicador para obter patamares que determinarão se o mercado está lateralizado ou mantém uma tendência.
Examinemos na prática o método adaptativo de acompanhamento do mercado
Examinemos na prática o método adaptativo de acompanhamento do mercado

Examinemos na prática o método adaptativo de acompanhamento do mercado

A principal diferença entre ele e o sistema de negociação proposto no artigo é o uso de ferramentas matemáticas para analisar as cotações da bolsa de valores. O sistema implementa filtragem digital e estimativa espectral de séries temporais discretas. Descrevem-se os aspectos teóricos da estratégia e constrói-se o Expert Advisor para testá-la.
preview
Construindo uma rede neural profunda do zero em linguagem MQL

Construindo uma rede neural profunda do zero em linguagem MQL

Neste artigo, vou apresentar a vocês uma rede neural profunda implementada em linguagem MQL com suas diferentes funções de ativação, entre elas estão a função tangente hiperbólica para as camadas ocultas e a função Softmax para a camada de saída. Avançaremos do primeiro passo até o final para formar completamente a rede neural profunda.
Usar WinInet em MQL5.  Parte 2:  Solicitações POST e Arquivos
Usar WinInet em MQL5.  Parte 2:  Solicitações POST e Arquivos

Usar WinInet em MQL5. Parte 2: Solicitações POST e Arquivos

Neste artigo, continuaremos a estudar os princípios de funcionamento com a Internet usando requisições HTTP e troca de informações com o servidor. Ele descreve as novas funções da classe CMqlNet, métodos de envio de informação de formulários e envio de arquivos usando requisições POST, bem como a autorização em websites sob seu login, usando Cookies.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XIII): Eventos do objeto Conta
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XIII): Eventos do objeto Conta

Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XIII): Eventos do objeto Conta

O artigo considera trabalhar com os eventos da conta para monitorar alterações importantes nas propriedades da conta que afetam a negociação automatizada. Nós já implementamos algumas funcionalidades para monitorar os eventos da conta no artigo anterior ao desenvolver a coleção de objetos da conta.
Programando os Modos do EA Usando a Abordagem Orientada a Objetos
Programando os Modos do EA Usando a Abordagem Orientada a Objetos

Programando os Modos do EA Usando a Abordagem Orientada a Objetos

Este artigo explica a idéia da programação multi-modo de um robô de negociação em MQL5. Cada modalidade é implementada com a abordagem orientada a objetos. São fornecidos as instâncias de ambos os modos de hierarquias de classe e das classes para testes. A programação multi-modo de robôs de negociação presumi-se levar em conta todas as peculiaridades de cada modo operacional de um EA escrito em MQL5. Funções e enumerações são criadas para identificar o modo.
Usando os Ponteiros de Objeto no MQL5
Usando os Ponteiros de Objeto no MQL5

Usando os Ponteiros de Objeto no MQL5

Predefinidamente, todos os objetos no MQL5 são passados por referência, mas há a possibilidade de usar os ponteiros de objeto. Porém, é necessário realizar a verificação do ponteiro, porque o objeto pode não ser inicializado. Neste caso, o programa MQL5 será finalizado com o erro crítico e descarregado. Os objetos, criados automaticamente, não causam tal erro, então, neste sentido, são bastante seguros. Neste artigo, tentaremos entender a diferença entre a referência do objeto e o ponteiro do objeto, e considere como escrever o código seguro, que usa os ponteiros.
Expert Advisor Universal: Integração com os Módulos de Sinais Padrão do MetaTrader (parte 7)
Expert Advisor Universal: Integração com os Módulos de Sinais Padrão do MetaTrader (parte 7)

Expert Advisor Universal: Integração com os Módulos de Sinais Padrão do MetaTrader (parte 7)

Esta parte do artigo descreve as possibilidades de integração do motor CStrategy com os módulos de sinais incluídos na biblioteca padrão no MetaTrader. O artigo descreve como trabalhar com sinais, assim como demonstra uma forma de criar estratégias personalizadas com base nas mesmas.
Como exportar cotações do MetaTrader5 para aplicações .NET usando serviços WCF
Como exportar cotações do MetaTrader5 para aplicações .NET usando serviços WCF

Como exportar cotações do MetaTrader5 para aplicações .NET usando serviços WCF

Quer organizar a exportação de cotas do MetaTrader 5 para sua própria aplicação? A junção MQL5-DLL permite criar essas soluções! Este artigo mostrará a você um dos meios de exportação de cotas do MetaTrader 5 para aplicações escritas no .NET. Para mim, é mais interessante, racional e fácil implementar a exportação de cotas usando esta mesma plataforma. Infelizmente, a versão 5 ainda não suporta .NET, então, como antigamente, usaremos o win32 dll com suporte .NET como intercamada.
Interfaces gráficas I: Funções para os Botões do Formulário e Remoção dos Elementos da Interface (Capítulo 4)
Interfaces gráficas I: Funções para os Botões do Formulário e Remoção dos Elementos da Interface (Capítulo 4)

Interfaces gráficas I: Funções para os Botões do Formulário e Remoção dos Elementos da Interface (Capítulo 4)

Neste artigo, nós vamos continuar desenvolvendo esta classe, adicionando os métodos que permitem gerir o formulário mediante os cliques em seus controles. Nós habilitaremos o fechamento do programa por um botão do formulário, bem como implementar a funcionalidade de minimização e maximização do mesmo.
preview
WebSocket para MetaTrader 5

WebSocket para MetaTrader 5

Antes do aparecimento das funções de rede na API MQL5 atualizada, os aplicativos MetaTrader eram limitados em sua capacidade de se conectar e interagir com serviços baseados no protocolo WebSocket. Agora a situação mudou. Neste artigo, veremos a implementação da biblioteca WebSocket em MQL5 puro. Uma breve descrição do protocolo WebSocket e um guia passo a passo sobre como usar a biblioteca resultante serão apresentados.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte V): Classes e coleções de eventos de negociação, envio de eventos para o programa
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte V): Classes e coleções de eventos de negociação, envio de eventos para o programa

Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte V): Classes e coleções de eventos de negociação, envio de eventos para o programa

Nos artigos anteriores, nós começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Na quarta parte, nós testamos o monitoramento de eventos de negociação na conta. Neste artigo, nós vamos desenvolver classes de eventos de negociação e colocá-los nas coleções de eventos. A partir daí, eles serão enviados ao objeto base da biblioteca Engine e ao gráfico do programa de controle.
Guia para escrever uma DLL para MQL5 em Delphi
Guia para escrever uma DLL para MQL5 em Delphi

Guia para escrever uma DLL para MQL5 em Delphi

O artigo examina o mecanismo de criação de um módulo DLL, usando a linguagem de programação popular de ObjectPascal, dentro de um ambiente de programação Delphi. Os materiais, fornecidos neste artigo, são designados a focar principalmente em programadores iniciantes, que estejam trabalhando com problemas que rompem os limites da linguagem de programação embutidos do MQL5, conectando os módulos DLL externos.
Interfaces Gráficas I: Formulário para os Controles (Capítulo 2)
Interfaces Gráficas I: Formulário para os Controles (Capítulo 2)

Interfaces Gráficas I: Formulário para os Controles (Capítulo 2)

Neste artigo, nós vamos criar o primeiro e o principal elemento da interface gráfica - o formulário para os controles. Vários controles podem ser anexados a este formulário, podendo ser de qualquer lugar e qualquer combinação.
Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid
Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid

Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid

Este artigo apresenta um método alternativo de criação da Interface Gráfica do Usuário (GUI) com base em layouts e containers, usando um gerenciador de layout - a classe CGrid. A classe CGrid é um comando auxiliar, atua como um container para outros containers e faz o controle usando um layout de grade.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XIX): classe de mensagens de biblioteca
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XIX): classe de mensagens de biblioteca

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XIX): classe de mensagens de biblioteca

No artigo, veremos uma classe para exibir mensagens de texto. Agora, vamos supor que temos suficientes mensagens de texto e devemos pensar em comoarmazená-las, exibi-las, editá-las em outro idioma e adicionar novos idiomas à biblioteca e alterná-los rapidamente.
Expert Advisor Universal: Acessando as Propriedades do Símbolo (Parte 8)
Expert Advisor Universal: Acessando as Propriedades do Símbolo (Parte 8)

Expert Advisor Universal: Acessando as Propriedades do Símbolo (Parte 8)

A oitava parte do artigo apresenta a descrição da classe CSymbol, que é um objeto especial que fornece acesso a qualquer instrumento de negociação. Quando usada dentro de um Expert Advisor, a classe fornece um amplo conjunto de propriedades do símbolo, permitindo simplificar a programação do Expert Advisor e expandir a sua funcionalidade.
Modelo de continuação de movimento - estatísticas de desempenho e pesquisa em gráficos
Modelo de continuação de movimento - estatísticas de desempenho e pesquisa em gráficos

Modelo de continuação de movimento - estatísticas de desempenho e pesquisa em gráficos

Nesse artigo, quero descrever como funciona um dos modelos de continuação de movimento. O trabalho é baseado na definição de duas ondas — uma principal e outra corretiva. Como extremos serão usados fractais e, como eu os chamo, potenciais fractais - extremos que ainda não se formaram como fractais.
Outra classe OOP do MQL5
Outra classe OOP do MQL5

Outra classe OOP do MQL5

Este artigo mostra como construir um Expert Advisor orientado a objeto desde o começo, desde conceber a ideia da negociação teórica até a programação de um MQL EA que torne esta ideia real no mundo empírico. Aprender fazendo é, na minha opinião, uma abordagem sólida para o sucesso, então, mostro em um exemplo prático para que você veja como pode organizar suas ideias para finalmente codificar seus robôs Forex. Meu objetivo é convidá-lo a aderir aos princípios de OO.