Artigos com exemplos de como programar robôs de negociação na linguagem MQL5

icon

Os experts são o coração da negociação automatizada e o objetivo de toda pessoa que programa estratégias de trading. Você pode criar seu próprio robô de negociação com a ajuda dos artigos desta seção. Os principiantes podem seguir passo a passo todas as etapas dos sistemas de negociação automatizados: criação, depuração e teste.

Os artigos ensinam não apenas como programar em MQL5, mas também mostram como implementar quaisquer ideias e técnicas de negociação. Aprenda a programar um trailing stop, a aplicar o gerenciamento de dinheiro, a calcular o valor de um indicador e muito, muito mais.

Novo artigo
recentes | melhores
EA com interface gráfica: Criação do painel (Parte I)
EA com interface gráfica: Criação do painel (Parte I)

EA com interface gráfica: Criação do painel (Parte I)

Apesar de muitos traders ainda preferirem negociar manualmente, há poucas hipóteses de fazer o trabalho sem automatizar as operações de rotina. O artigo mostra um exemplo em que é criado um EA multissímbolo de sinal para negociação manual.
Como transferir a parte de cálculo de qualquer indicador para o código do EA
Como transferir a parte de cálculo de qualquer indicador para o código do EA

Como transferir a parte de cálculo de qualquer indicador para o código do EA

Existem vários motivos que justificam a transferência do código do indicador para o EA. Mas como avaliar os prós e contras desta abordagem? Este artigo propõe uma maneira de transferir o código do indicador para um EA. Além disso, são realizados vários experimentos para avaliar a velocidade de funcionamento do EA.
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.
Gráfico de saldo multissímbolo no MetaTrader 5
Gráfico de saldo multissímbolo no MetaTrader 5

Gráfico de saldo multissímbolo no MetaTrader 5

O artigo mostra um aplicativo MQL de exemplo com uma interface gráfica em que gráficos multissímbolos de saldo e rebaixamento do depósito são exibidos com base nos resultados do último teste.
Criando EAs multimódulo
Criando EAs multimódulo

Criando EAs multimódulo

A linguagem de programação MQL permite concretizar o conceito de design modular de estratégias de negociação. O artigo mostra um exemplo de criação de um Expert Advisor multimodular que consiste em módulos de arquivo compilados separadamente.
Criando um feed de notícias personalizado para o MetaTrader 5
Criando um feed de notícias personalizado para o MetaTrader 5

Criando um feed de notícias personalizado para o MetaTrader 5

O artigo examina a possibilidade de criar um feed de notícias flexível, que oferece muitas opções para escolher o tipo de notícias e sua fonte. Além disso, ele mostra como você pode integrar uma API da Web ao terminal MetaTrader 5.
Gerenciamento de capital de Vince. Realização como módulo de Assistente MQL5
Gerenciamento de capital de Vince. Realização como módulo de Assistente MQL5

Gerenciamento de capital de Vince. Realização como módulo de Assistente MQL5

O artigo foi escrito com base no livro de Ralph Vince, “The Mathematics of Money Management”. Nele, são discutidos os métodos empíricos e paramétricos, a fim de encontrar o tamanho ideal de lotes de negociação, em cuja base estão escritos os módulos de gerenciamento de capital para o assistente MLQ5.
O padrão Rompimento de Canal
O padrão Rompimento de Canal

O padrão Rompimento de Canal

As tendências de preços formam canais de preços que podem ser observados nos gráficos dos instrumentos financeiros. O rompimento do canal atual é um forte sinal de reversão de tendência. Neste artigo, eu sugiro uma maneira de automatizar o processo de encontrar esses sinais e ver se o padrão de rompimento de canal pode ser usado para criar uma estratégia de negociação.
Testador de estratégia personalizada com base em cálculos matemáticos rápido
Testador de estratégia personalizada com base em cálculos matemáticos rápido

Testador de estratégia personalizada com base em cálculos matemáticos rápido

O artigo descreve como criar um testador de estratégias personalizado e um analisador de corridas de otimização próprio. Depois de lê-lo, você vai entender como funciona o modo de cálculos matemáticos e o mecanismo de quadros, como preparar e fazer upload de seus próprios dados para cálculos e usar algoritmos eficientes para comprimi-los. Além disso, este artigo será de interesse para quem deseje saber maneiras de armazenar informações personalizadas num EA.
Negociação pelos níveis de DiNapoli
Negociação pelos níveis de DiNapoli

Negociação pelos níveis de DiNapoli

O artigo considera uma das variantes da implementação prática do Expert Advisor para negociar com os níveis de DiNapoli usando as ferramentas padrão da MQL5. São realizados o teste de desempenho e suas conclusões.
Decompondo as entradas em indicadores
Decompondo as entradas em indicadores

Decompondo as entradas em indicadores

Diferentes situações acontecem na vida do trader. Muitas vezes, tentamos restaurar uma estratégia por meio do histórico de trades bem-sucedidos, no entanto, ao observar o histórico de perdas procuramos aperfeiçoar e melhorá-la. E, de fato, em ambos os casos, comparamos as transações com indicadores conhecidos. Este artigo sugere métodos de comparação de lotes de trades com uma série de indicadores.
Expert Advisor Multiplataforma: As classes CExpertAdvisor e CExpertAdvisors
Expert Advisor Multiplataforma: As classes CExpertAdvisor e CExpertAdvisors

Expert Advisor Multiplataforma: As classes CExpertAdvisor e CExpertAdvisors

Este artigo aborda principalmente as classes CExpertAdvisor e CExpertAdvisors, que servem como contêiner para todos os outros componentes descritos nesta série de artigos sobre expert advisors multiplataforma.
Uso do filtro de Kalman na previsão da tendência
Uso do filtro de Kalman na previsão da tendência

Uso do filtro de Kalman na previsão da tendência

Para o sucesso na negociação, quase sempre são necessários indicadores, cujo objetivo é a separação entre o movimento principal do preço e as flutuações ruidosas. Neste artigo, é examinado um dos filtros digitais mais promissores, o filtro de Kalman. Além disso, são descritos tanto sua construção como uso na prática.
Lógica Difusa nas estratégias de negociação
Lógica Difusa nas estratégias de negociação

Lógica Difusa nas estratégias de negociação

O artigo considera um exemplo de aplicação da lógica difusa para construir um sistema de negociação simples, usando a biblioteca Fuzzy. São propostas melhorias ao sistema através da combinação da lógica difusa, algoritmos genéticos e redes neurais.
Expert Advisor Multiplataforma: Stops personalizados, Breakeven e Stop Móveis
Expert Advisor Multiplataforma: Stops personalizados, Breakeven e Stop Móveis

Expert Advisor Multiplataforma: Stops personalizados, Breakeven e Stop Móveis

Este artigo discute como os níveis de stop personalizados podem ser configurados em um expert advisor multiplataforma. Ele também discute um método fortemente relacionado ao assunto na qual envolve a possibilidade de definir a evolução do nível de stop ao longo do tempo.
Expert Advisor Multiplataforma: Stops
Expert Advisor Multiplataforma: Stops

Expert Advisor Multiplataforma: Stops

Este artigo discute uma implementação dos níveis de stop em um expert advisor para torná-lo compatível com as duas plataformas - MetaTrader 4 e MetaTrader 5.
Interfaces gráficas XI: Integração da Biblioteca Gráfica Padrão (build 16)
Interfaces gráficas XI: Integração da Biblioteca Gráfica Padrão (build 16)

Interfaces gráficas XI: Integração da Biblioteca Gráfica Padrão (build 16)

Uma nova versão da biblioteca gráfica para a criação de gráficos científicos (a classe CGraphic) foi apresentada recentemente. Esta atualização da biblioteca desenvolvida para criar interfaces gráficas irá introduzir uma versão com um novo controle para a criação de gráficos. Agora está ainda mais fácil de visualizar os dados de diferentes tipos.
Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15)
Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15)

Interfaces gráficas XI: Caixas de Edição de Texto e Caixas de Combinação nas células da tabela (build 15)

Nesta atualização da biblioteca, o controle da tabela (a classe CTable) será complementado com novas opções. A gama de controles nas células da tabela foi expandida, desta vez adicionando as caixas de edição de texto e as caixas de combinação. Além disso, esta atualização também apresenta a capacidade de redimensionar a janela de uma aplicação MQL em tempo de execução.
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.
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.
Expert Advisor Multiplataforma: Filtros de Tempo
Expert Advisor Multiplataforma: Filtros de Tempo

Expert Advisor Multiplataforma: Filtros de Tempo

Este artigo discute a implementação de vários métodos de filtragem de tempo de um Expert Advisor multiplataforma. As classes de filtro de tempo são responsáveis ​​por verificar se um determinado momento corresponde a uma determinada configuração de tempo definida.
Interfaces Gráficas XI: Controles renderizados (build 14.2)
Interfaces Gráficas XI: Controles renderizados (build 14.2)

Interfaces Gráficas XI: Controles renderizados (build 14.2)

Na nova versão da biblioteca, todos os controles serão desenhados em objetos gráficos separados do tipo OBJ_BITMAP_LABEL. Nós também vamos continuar a descrever a otimização do código: serão discutidas as mudanças nas principais classes da biblioteca.
Interfaces Gráficas XI: Refatoração do código da biblioteca (build 14.1)
Interfaces Gráficas XI: Refatoração do código da biblioteca (build 14.1)

Interfaces Gráficas XI: Refatoração do código da biblioteca (build 14.1)

À medida que a biblioteca cresce, seu código deve ser otimizado novamente para reduzir o seu tamanho. A versão da biblioteca descrita neste artigo tornou-se ainda mais orientada a objetos. Isso tornou o código mais amigável para o aprendizado. Uma descrição detalhada das últimas mudanças permitirá que os leitores desenvolvam a biblioteca de maneira independentemente de acordo com suas próprias necessidades.
Expert Advisor multiplataforma: Controle de capital
Expert Advisor multiplataforma: Controle de capital

Expert Advisor multiplataforma: Controle de capital

Neste artigo, falaremos sobre a implementação do controle de capital num EA multiplataforma. As classes de controle de capital são responsáveis ​​pelo cálculo do tamanho do lote, que o EA usa para entrar na próxima transação.
Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)
Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)

Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)

Este artigo implementará a possibilidade de selecionar o texto usando várias combinações de teclas e excluir o texto selecionado, da mesma maneira que é feito em outros editores de texto. Além disso, vamos continuar com a otimização do código e prepararemos as classes para avançar para o processo final do segundo estágio da evolução da biblioteca, onde todos os controles serão renderizados como imagens separadas (telas).
Ondas de Wolfe
Ondas de Wolfe

Ondas de Wolfe

Este método gráfico, proposto por Bill Wolfe, torna possível não só identificar a forma e, assim, determinar o tempo e a direção de entrada, mas também prever o alvo, que deve atingir o preço, e o tempo para alcançá-lo. Este artigo descreve como criar, com a base no indicador ZigZag, um indicador para procurar ondas de Wolfe e um Expert Advisor simples que opere de acordo com seus sinais.
Interfaces gráficas X: Algoritmo de quebra de linha na caixa de texto multilinha (build 12)
Interfaces gráficas X: Algoritmo de quebra de linha na caixa de texto multilinha (build 12)

Interfaces gráficas X: Algoritmo de quebra de linha na caixa de texto multilinha (build 12)

Nós continuamos com o desenvolvimento do controle da caixa de texto Multilinha. Desta vez, nossa tarefa é implementar um quebra automático de linha no caso da largura da caixa de texto ser excedida ou uma quebra automática de linha inversa do texto para a linha anterior se a oportunidade surgir.
Interfaces gráficas X: Ordenação, reconstrução da tabela e controles nas células (build 11)
Interfaces gráficas X: Ordenação, reconstrução da tabela e controles nas células (build 11)

Interfaces gráficas X: Ordenação, reconstrução da tabela e controles nas células (build 11)

Nós continuamos a adicionar novos recursos para a tabela renderizada: ordenação dos dados, gerenciamento do número de colunas e linhas, definição dos tipos de células da tabela para colocar os controles dentro delas.
Receitas MQL5 - sinais de negociação de pivô
Receitas MQL5 - sinais de negociação de pivô

Receitas MQL5 - sinais de negociação de pivô

No artigo, é apresentado o processo de desenvolvimento e implementação de uma classe-robô de sinais com base em pivôs, isto é, níveis de reversão. Com base nesta classe é construída uma estratégia usando a Biblioteca padrão. São consideradas as possibilidades de desenvolver uma estratégia de pivôs adicionando filtros.
Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)
Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)

Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)

Nós continuamos a complementar a tabela renderizada (CCanvasTable) com novas funcionalidades. A tabela terá agora: o realce das linhas quando o mouse estiver em cima; possibilidade de adicionar um array de ícones para cada célula e um método para trocá-los; possibilidade de definir ou modificar o texto da célula durante a execução do programa, e muito mais.
Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)
Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)

Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)

Até agora, o tipo mais avançado de tabelas já desenvolvido em nossa biblioteca foi a CTable. Esta tabela é montada a partir de caixas de edição do tipo OBJ_EDIT, e seu posterior desenvolvimento tornou-se problemático. Portanto, em termos de capacidades máximas, é melhor desenvolver tabelas renderizadas do tipo CCanvasTable mesmo no atual estágio de desenvolvimento da biblioteca. Sua versão atual está completamente inerte, mas a partir deste artigo, nós vamos tentar corrigir esta situação.
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.
Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)
Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)

Interfaces Gráficas X: Gestão avançada de listas e tabelas. Otimização do código (build 7)

O código da biblioteca precisa ser otimizado: ele deve ser mais regularizado, o que é - mais legível e compreensível para estudar. Além disso, nós vamos continuar a desenvolver os controles criados anteriormente: listas, tabelas e barras de rolagem.
Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6)
Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6)

Interfaces Gráficas X: Os Controles Horário, Lista de Caixas de Seleção e Tabela Ordenada (build 6)

O desenvolvimento da biblioteca para a criação de interfaces gráficas continua. Os controles Horário e a Lista de Caixas de Seleção serão discutidos neste momento. Além disso, agora a classe CTable fornece a capacidade de classificar os dados em ordem crescente ou decrescente.
Interfaces Gráficas X: Caixa de Edição de Texto, Slider de Imagens e Controles Simples (build 5)
Interfaces Gráficas X: Caixa de Edição de Texto, Slider de Imagens e Controles Simples (build 5)

Interfaces Gráficas X: Caixa de Edição de Texto, Slider de Imagens e Controles Simples (build 5)

Este artigo irá considerar novos controles: A Caixa de Edição de Texto, o Slider de Imagem, bem como os controles simples adicionais: Rótulo de Texto e Imagem. A biblioteca continua a crescer, e, além da introdução de novos controles, aqueles que foram criados anteriormente também estão sendo melhorados.
Fundamentos Básicos da Programação: Variáveis Globais do Terminal  MetaTrader 5
Fundamentos Básicos da Programação: Variáveis Globais do Terminal  MetaTrader 5

Fundamentos Básicos da Programação: Variáveis Globais do Terminal MetaTrader 5

As variáveis globais do terminal possibilitam uma ferramenta essencial para o desenvolvimento de Expert Advisors sofisticados e confiáveis. Se você dominar as variáveis globais, você nunca mais vai querer desenvolver EAs no MQL5 sem elas.
Interfaces Gráficas X: O Controle Gráfico Padrão (build 4)
Interfaces Gráficas X: O Controle Gráfico Padrão (build 4)

Interfaces Gráficas X: O Controle Gráfico Padrão (build 4)

Desta vez, nós vamos discutir o controle gráfico padrão. Ele permitirá criar arrays de objetos gráficos com a possibilidade de sincronizar o deslocamento horizontal. Além disso, nós continuaremos a otimizar o código da biblioteca para reduzir o consumo de recursos do CPU.
ZigZag universal
ZigZag universal

ZigZag universal

O Zigzag é um dos indicadores mais populares entre os usuários MetaTrader 5. No artigo, foram analisadas as possibilidades de criar diferentes variações do ZigZag. Como resultado, obtivemos um indicador universal com amplas possibilidades para estender recursos de fácil uso durante o desenvolvimento de Expert Advisor e outros indicadores.
Interfaces gráficas X: Atualizações para a Biblioteca Easy And Fast(Build 3)
Interfaces gráficas X: Atualizações para a Biblioteca Easy And Fast(Build 3)

Interfaces gráficas X: Atualizações para a Biblioteca Easy And Fast(Build 3)

Apresentamos neste artigo a próxima versão da biblioteca Easy And Fast (build 3). Foi corrigido certas falhas e adicionado novos recursos. Para maiores informações leia a continuação do artigo.
Interfaces gráficas X: Atualizações para a Biblioteca Easy And Fast (Build 2)
Interfaces gráficas X: Atualizações para a Biblioteca Easy And Fast (Build 2)

Interfaces gráficas X: Atualizações para a Biblioteca Easy And Fast (Build 2)

Desde a publicação do artigo anterior da série, a biblioteca Easy And Fast tem recebido algumas funcionalidades novas. A estrutura e o código da biblioteca foram parcialmente otimizados, reduzindo ligeiramente a carga da CPU. Alguns métodos recorrentes em muitas classes de controle foram transferidos para a classe base CElement.