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
Como criar um indicador de gráfico não padronizado no Mercado MetaTrader
Como criar um indicador de gráfico não padronizado no Mercado MetaTrader

Como criar um indicador de gráfico não padronizado no Mercado MetaTrader

Através de gráficos off-line, programação em MQL4 e uma disposição razoável, você pode obter uma variedade de tipos de gráficos: "Point & Figure", "Renko", "Kagi", "Range bars", gráficos equivolumes, etc. Neste artigo, vamos mostrar como isso pode ser alcançado sem o uso de DLL e como indicadores "dois-para-um" podem ser publicados e comprados no mercado.
Que testes deve passar o robô de negociação antes da publicação no Mercado
Que testes deve passar o robô de negociação antes da publicação no Mercado

Que testes deve passar o robô de negociação antes da publicação no Mercado

Todos os produtos do Mercado, antes de serem publicados, passam uma revisão preliminar obrigatória para garantir um único padrão de qualidade. Neste artigo, vamos falar sobre os erros mais comuns que os desenvolvedores cometem ao trabalhar com os seus indicadores técnicos e robôs de negociação. Além disso, mostraremos como testar por si mesmo o seu produto antes de enviá-lo para o Mercado.
Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)
Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)

Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)

Neste artigo, nós vamos criar o elemento linha de separação. Será possível usá-lo não só como um elemento de interface independentes, mas também como uma parte de diversos outros elementos. Depois disso, nós teremos todos os recursos necessários para o desenvolvimento da classe do menu de contexto, que também serão considerados neste artigo em detalhe. Acrescentando, nós vamos apresentar todos os incrementos necessários à classe, que é a base para armazenar os ponteiros para todos os elementos da interface gráfica da aplicação.
Interfaces Gráficas II: O Elemento de Menu (Capítulo 1)
Interfaces Gráficas II: O Elemento de Menu (Capítulo 1)

Interfaces Gráficas II: O Elemento de Menu (Capítulo 1)

Na segunda parte da série, nós vamos mostrar em detalhes o desenvolvimento de tais elementos de interface como o menu principal e o menu de contexto. Nós também vamos mencionar os elementos de desenho e criar uma classe especial para ele. Nós vamos discutir detalhadamente tais questões como a gestão de eventos do programa, incluindo aquelas que são personalizadas.
Lógica difusa na negociação via MQL4
Lógica difusa na negociação via MQL4

Lógica difusa na negociação via MQL4

Este artigo apresenta exemplos que tratam de como os recursos MQL4 aplicam a teoria de conjuntos difusos na negociação. Além disso, descreve o desenvolvimento de indicador e Expert Advisor, usando a biblioteca FuzzyNet para MQL4.
Expert Advisor Universal: Um Trailing Stop Customizado (Parte 6)
Expert Advisor Universal: Um Trailing Stop Customizado (Parte 6)

Expert Advisor Universal: Um Trailing Stop Customizado (Parte 6)

A sexta parte do artigo sobre o Expert Advisor universal descreve o uso do recurso "Trailing Stop". O artigo irá guiá-lo através de como criar um módulo "Trailing Stop" personalizado com regras unificadas, bem como adicioná-lo ao motor de negociação para gerir automaticamente as posições.
Interfaces gráficas I: Biblioteca de Testes em Programas de Diferentes Tipos e no Terminal MetaTrader 4 (Capítulo 5)
Interfaces gráficas I: Biblioteca de Testes em Programas de Diferentes Tipos e no Terminal MetaTrader 4 (Capítulo 5)

Interfaces gráficas I: Biblioteca de Testes em Programas de Diferentes Tipos e no Terminal MetaTrader 4 (Capítulo 5)

No capítulo anterior da primeira parte da série sobre interfaces gráficas, a classe de formulário foi enriquecida por métodos que permitiram gerir o formulário através dos cliques em seus controles. Neste artigo, nós vamos testar nosso trabalho em diferentes tipos de programa MQL, como indicadores e scripts. Já que a biblioteca foi concebida para ser multi-plataforma para que ela pudesse ser utilizada em todas as plataformas MetaTrader, nós também vamos testá-la no MetaTrader 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)

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.
Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)
Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)

Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)

Este artigo fornece uma descrição mais detalhada do mecanismo de negociação CStrategy. Por demanda popular dos usuários, nós adicionamos funções de apoio as ordem pendente no mecanismo de negociação. Além disso, a versão mais recente do MetaTrader 5 agora oferece suporte a contas com a opção de cobertura (hedge). O mesmo suporte foi adicionado ao CStrategy. O artigo fornece uma descrição detalhada de algoritmos para o uso de ordens pendentes, bem como dos princípios de funcionamento da classe CStrategy nas contas com a opção de cobertura (hedge) habilitada.
Expert Advisor Universal: Negociação em Grupo e Gestão de uma Carteira de Estratégias (Parte 4)
Expert Advisor Universal: Negociação em Grupo e Gestão de uma Carteira de Estratégias (Parte 4)

Expert Advisor Universal: Negociação em Grupo e Gestão de uma Carteira de Estratégias (Parte 4)

Na última parte da série de artigos sobre o mecanismo de negociação CStrategy, vamos considerar a operação simultânea de vários algoritmos de negociação, aprenderemos a carregar estratégias de arquivos XML, e apresentaremos um painel simples para selecionar Expert Advisors partir de um único módulo executável e gerenciar os seus modos de negociação.
Interfaces Gráficas I: Animação na Interface Gráfica (Capítulo 3)
Interfaces Gráficas I: Animação na Interface Gráfica (Capítulo 3)

Interfaces Gráficas I: Animação na Interface Gráfica (Capítulo 3)

No artigo anterior, nós começamos a desenvolver uma classe de formulário para os controles. Neste artigo, nós vamos continuar a desenvolver esta classe e preenchê-la com os métodos para mover um formulário sobre a área do gráfico. Em seguida, integraremos este componente da interface para o núcleo da biblioteca. Além disso, nós vamos garantir que os controles do formulário mudem de cor quando o cursor do mouse estiver pairando sobre eles.
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.
Expert Advisor Universal: O Modelo de Evento e o Protótipo da Estratégia de Negociação (Parte 2)
Expert Advisor Universal: O Modelo de Evento e o Protótipo da Estratégia de Negociação (Parte 2)

Expert Advisor Universal: O Modelo de Evento e o Protótipo da Estratégia de Negociação (Parte 2)

Este artigo continua a série de publicações do modelo universal de um Expert Advisor. Esta parte descreve em detalhes o modelo de eventos original, baseado no processamento de dados centralizado e considera a estrutura da classe base CStrategy.
Interfaces Gráficas I: Preparação da Estrutura da Biblioteca (Capítulo 1)
Interfaces Gráficas I: Preparação da Estrutura da Biblioteca (Capítulo 1)

Interfaces Gráficas I: Preparação da Estrutura da Biblioteca (Capítulo 1)

Este artigo é o começo de uma outra série sobre o desenvolvimento de interfaces gráficas. Atualmente, não há uma única biblioteca de código que permite a criação rápida e fácil de interfaces gráficas de alta qualidade dentro das aplicações em MQL. Me refiro as interfaces gráficas que estamos acostumados nos sistemas operacionais comuns.
Expert Advisor Universal: Modos de Negociação das Estratégias (Parte 1)
Expert Advisor Universal: Modos de Negociação das Estratégias (Parte 1)

Expert Advisor Universal: Modos de Negociação das Estratégias (Parte 1)

Qualquer desenvolvedor de Expert Advisor, independentemente de suas habilidades de programação, diariamente é confrontado com as mesmas tarefas de negociação e problemas algorítmicos, que devem ser resolvidos para organizar um processo de negociação confiável. O artigo descreve as possibilidades do motor de negociação CStrategy que possibilita a solução destas tarefas e fornece ao usuário um mecanismo eficaz para descrever uma idéia de negociação personalizada.
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).
Guia Prático MQL5 - Programando os Canais Móveis
Guia Prático MQL5 - Programando os Canais Móveis

Guia Prático MQL5 - Programando os Canais Móveis

Este artigo apresenta um método de programação de um sistema de canais equidistantes. Alguns detalhes da construção de tais canais estarão sendo considerados aqui. É fornecido a tipificação do canal, propondo um método de canais móveis do tipo universal. Para implementar o código, foi utilizado a Programação Orientada a Objetos (POO).
Criamos um auxiliar na negociação manual
Criamos um auxiliar na negociação manual

Criamos um auxiliar na negociação manual

O número de robôs de negociação para trabalhar nos mercados de moedas ultimamente está crescendo como uma bola de neve. Neles estão compilados diversos conceitos e estratégias, mas vale a pena referir que ainda ninguém conseguiu criar um modelo de inteligência artificial que não esteja submetido a ricos de perda. Por isso, muitos traders continuam empenhados em negociar manualmente. E para esses especialistas são criados assistentes robóticos, chamados de painéis de negociação. Esse artigo é outro exemplo de como criar um painel de negociação "do zero".
Exemplo de Expert Advisor
Exemplo de Expert Advisor

Exemplo de Expert Advisor

Este artigo exibe os princípios de desenvolvimento de programas em MQL4 mediante a criação de um sistema Expert Advisor simples de exemplo com base no indicador MACD padrão.
Como Lidar Com o Erro 146, ("Trade context busy")
Como Lidar Com o Erro 146, ("Trade context busy")

Como Lidar Com o Erro 146, ("Trade context busy")

O artigo trata sem conflito a negociação de vários Experts em um único Terminal Cliente МТ 4. Ele será útil para aqueles que possuem o básico dos comandos para se trabalhar com o terminal e a programação em MQL 4.
Características e Limites do Testador no MetaTrader 4
Características e Limites do Testador no MetaTrader 4

Características e Limites do Testador no MetaTrader 4

Este artigo permite um maior conhecimento sobre os recursos e os limites do Testador de Estratégia no MetaTrader 4.
Características do Desenvolvimento de Indicadores Personalizados
Características do Desenvolvimento de Indicadores Personalizados

Características do Desenvolvimento de Indicadores Personalizados

O Desenvolvimento de Indicadores Personalizados no sistema de negociação MetaTrader tem uma série de características.
Características dos Experts Advisors
Características dos Experts Advisors

Características dos Experts Advisors

O desenvolvimento de expert advisors no sistema de negociação MetaTrader tem uma série de características.
Indicador Rope por Erik Naymanf
Indicador Rope por Erik Naymanf

Indicador Rope por Erik Naymanf

O artigo revela como o indicador "Rope" foi criado com base na "The Small Encyclopedia of Trader" (Pequena Enciclopédia do Trader), por Erik L. Nayman. Este indicador mostra a direção da tendência, usando cálculos dos valores das tendências de alta e de baixa durante um período de tempo determinado. O artigo também conta com os princípios do desenvolvimento e cálculos do indicador, bem como exemplos do código. Outros temas abordados incluem o desenvolvimento de um Expert Advisor com base no indicador, e também, a otimização dos parâmetros externos.
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.
MQL5 Cookbook: Implementando seu próprio Depth of Market (Book de Ofertas)
MQL5 Cookbook: Implementando seu próprio Depth of Market (Book de Ofertas)

MQL5 Cookbook: Implementando seu próprio Depth of Market (Book de Ofertas)

Este artigo demonstra como utilizar o Depth of Market de forma programática e descreve o princípio de funcionamento da classe CMarketBook, que pode expandir a biblioteca padrão de classes de MQL5 e oferecer métodos convenientes para usar o Depth of Market (DOM). No Brasil o Livro de Ofertas faz o papel do DOM e registra todas as ordens por nível de preço.
Desenhando Resistência e Níveis de Suporte Com MQL5
Desenhando Resistência e Níveis de Suporte Com MQL5

Desenhando Resistência e Níveis de Suporte Com MQL5

Este artigo descreve um método para encontrar quatro pontos extremos, onde baseado neles, se desenha os níveis de suporte e de resistência. Para encontrar o extremos num gráfico de um par de moedas, foi usado o indicador RSI. Para dar um exemplo, nós fornecemos um código de indicador que exibe os níveis de suporte e resistência.
Indicador para Gráfico de Spindles
Indicador para Gráfico de Spindles

Indicador para Gráfico de Spindles

O artigo apresenta a plotagem do gráfico de spindles e seu uso em estratégias de negociação e experts. Primeiro vamos discutir a aparência do gráfico, plotagem e conexão com o gráfico de velas japonesas. Em seguida, analisaremos a implementação do indicador no código fonte na linguagem MQL5. Vamos testar o expert com base no indicador e formular uma estratégia de negociação.
Linguagem MQL4 para Iniciantes. Indicadores personalizados (Parte 2)
Linguagem MQL4 para Iniciantes. Indicadores personalizados (Parte 2)

Linguagem MQL4 para Iniciantes. Indicadores personalizados (Parte 2)

Este é o quinto artigo da série "Linguagem MQL4 para Iniciantes". Hoje vamos aprender a usar objetos gráficos - uma ferramenta de desenvolvimento muito poderosa que permite aumentar substancialmente as possibilidades de utilização de indicadores. Além disso, eles podem ser usados em scripts e Expert Advisors. Vamos aprender a criar objetos, alterar seus parâmetros e verificar erros. Claro que eu não posso descrever em detalhes todos os objetos, há um monte deles. Mas você terá todo o conhecimento necessário para estudá-los. Este artigo também contém um guia de exemplo passo-a-passo de criação de um indicador de sinal complexo. Lá, muitos parâmetros serão ajustáveis, o que tornará possível alterar com facilidade a aparência do indicador.
Exibição de um novo calendário
Exibição de um novo calendário

Exibição de um novo calendário

Este artigo contém a descrição para escrever um indicador simples e conveniente exibindo em uma área de trabalho os principais eventos econômicos a partir de recursos externos da Internet.
Linguagem MQL4 para Iniciantes. Indicadores personalizados (Parte 1)
Linguagem MQL4 para Iniciantes. Indicadores personalizados (Parte 1)

Linguagem MQL4 para Iniciantes. Indicadores personalizados (Parte 1)

Este é o quarto artigo da série "Linguagem MQL4 para Iniciantes". Hoje aprenderemos a escrever indicadores personalizados. Iremos nos familiarizar com a classificação das características indicadoras, veremos como essas características influenciam o indicador, aprenderemos sobre novas funções e otimização, e, finalmente, escreveremos nossos próprios indicadores. Além disso, no final do artigo você vai encontrará dicas sobre o estilo de programação. Se este é o primeiro artigo "para iniciantes" que você está lendo, talvez seja melhor você ler os anteriores. Além disso, certifique-se que você tenha entendido corretamente o material anterior pois este artigo não explica o básico.
Linguagem MQL4 para Iniciantes. Indicadores técnicos e funções integradas
Linguagem MQL4 para Iniciantes. Indicadores técnicos e funções integradas

Linguagem MQL4 para Iniciantes. Indicadores técnicos e funções integradas

Este é o terceiro artigo da série "Linguagem MQL4 para Iniciantes". Agora, vamos aprender a utilizar funções integradas e funções para trabalhar com indicadores técnicos. Estes últimas serão essenciais para o desenvolvimento futuro de seus próprios Advisors e indicadores. Além disso, veremos em um exemplo simples, como rastrear sinais de trading para entrar no mercado, assim, você entenderá como usar indicadores corretamente. E no final do artigo você aprenderá algo novo e interessante sobre a própria linguagem.
Interação entre o MetaTrader 4 e o Matlab através de arquivos CSV
Interação entre o MetaTrader 4 e o Matlab através de arquivos CSV

Interação entre o MetaTrader 4 e o Matlab através de arquivos CSV

Instruções detalhadas de como organizar o intercâmbio de dados das matrizes entre o MetaTrader 4 e o Matlab através de arquivos CSV.
MT4TerminalSync - Sistema para sincronização de terminais MetaTrader 4
MT4TerminalSync - Sistema para sincronização de terminais MetaTrader 4

MT4TerminalSync - Sistema para sincronização de terminais MetaTrader 4

Este artigo é dedicado ao tema "Ampliando as possibilidades de programas MQL4 utilizando funções de sistemas operacionais e outros meios de desenvolvimento do programa". O artigo descreve um exemplo de um sistema de programa que implementa a tarefa da sincronização de várias cópias de terminais com base num único molde de origem.
Linguagem MQL4 para Iniciantes. Perguntas difíceis em frases simples
Linguagem MQL4 para Iniciantes. Perguntas difíceis em frases simples

Linguagem MQL4 para Iniciantes. Perguntas difíceis em frases simples

Este é o segundo artigo da série "Linguagem MQL4 para Iniciantes". Agora vamos examinar mais construções complexas e avançadas da linguagem, aprender novas opções e ver, como elas podem ser aplicadas na prática diária. Você vai se familiarizar com um novo tipo de ciclo ''enquanto'', um novo tipo de condição ''troca'', operadores ''pausa'' e ''continuação". Além disso, você vai aprender a escrever suas próprias funções e trabalhar com matrizes multidimensionais. E de bônus, preparei uma explicação sobre um pré-processador.
O envio do sinal de trade via feed RSS
O envio do sinal de trade via feed RSS

O envio do sinal de trade via feed RSS

Essa é minha ideia sobre como enviar sinal de trade como FEEDS RSS, um modo famoso de se comunicar com os membros da sua comunidade agora mesmo.
O básico de codificação de um Expert Advisor de cobertura
O básico de codificação de um Expert Advisor de cobertura

O básico de codificação de um Expert Advisor de cobertura

Um exemplo de um Expert Advisor de cobertura é apresentado neste artigo. O autor escolherá o seu próprio par de cobertura favorito que é EURJPY e GBPJPY. Ele sempre se move da mesma maneira, sendo assim, mais fácil definir o tipo de ordem de cobertura.
O mercado Forex pode ser previsto? Como criar uma estratégia de trading própria para este mercado?
O mercado Forex pode ser previsto? Como criar uma estratégia de trading própria para este mercado?

O mercado Forex pode ser previsto? Como criar uma estratégia de trading própria para este mercado?

Todo mundo que começa a trabalhar no Forex tenta responder estas questões. Mas nem todos encontram a resposta, mesmo depois de muitos anos de trabalho duro e pesquisas. Eu, pessoalmente, respondi esta questão, assim como muitas outras questões deste artigo. Como resultado dessas respostas, uma maneira de criar uma estratégia eficiente de trading foi determinada.
Linguagem MQL4 para Iniciantes. Introdução
Linguagem MQL4 para Iniciantes. Introdução

Linguagem MQL4 para Iniciantes. Introdução

Esta sequência de artigos destina-se para operadores que não sabem nada sobre programação, mas desejam aprender a linguagem MQL4 o mais rápido possível em pouco tempo e sem dificuldades. Se você tem medo de frases como "orientação de objetos" ou "três matrizes dimensionais", este artigo é o que você precisa. As aulas são projetadas para fornecerem resultados rapidamente. Além disso, a informação é entregue de forma compreensível. Não iremos aprofundar na parte teórica, mas você vai ganhar o benefício prático já a partir da primeira aula.
Strings: Tabela de Símbolos ASCII e seus usos
Strings: Tabela de Símbolos ASCII e seus usos

Strings: Tabela de Símbolos ASCII e seus usos

Neste artigo iremos analisar a tabelo de símbolos ASCII e o modo de utilização. Também vamos lidar com algumas novas funções com o princípio de funcionamento baseado nas peculiaridades da tabela ASCII, e, em seguida, vamos criar uma nova biblioteca que incluirá essas funções. Elas são muito populares em outras linguagens de programação mas não são incluídos na lista de funções embutidas. Além disso, vamos examinar em detalhes os conceitos básicos do trabalho com strings. Acho que você certamente aprenderá algo novo sobre este tipo útil de dados.