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
Implementando Take Profit na forma de ordens limitadas sem alterar o código original do EA
Implementando Take Profit na forma de ordens limitadas sem alterar o código original do EA

Implementando Take Profit na forma de ordens limitadas sem alterar o código original do EA

No fórum já foi amplamente discutido o uso de ordens limitadas, em vez de colocar take-profit padrão. Qual é a vantagem dessa abordagem e como ela pode ser implementada em nossa negociação? Nesse artigo, quero contar a vocês minha opinião sobre as respostas a essas perguntas.
Métodos de controle remoto de EAs
Métodos de controle remoto de EAs

Métodos de controle remoto de EAs

A principal vantagem dos robôs de negociação é o fato de poderem trabalhar 24 horas por dia em servidores VPS remotos. Ás vezes, é necessário intervir em seu trabalho manualmente, porém, pode não haver acesso direto ao servidor. Será que é possível gerenciar o trabalho de EAs remotamente? Esse artigo propõe uma das maneiras para controlar robôs por meio de comandos externos.
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.
Usando indicadores para otimização RealTime de EAs
Usando indicadores para otimização RealTime de EAs

Usando indicadores para otimização RealTime de EAs

Não é segredo que o sucesso de qualquer robô de negociação depende da seleção correta de parâmetros (otimização). Mas os parâmetros que são ótimos para um intervalo de tempo nem sempre são os melhores em outros períodos. Muitas vezes, os EAs que são lucrativos nos testes se revelam não lucrativos em tempo real. Nesse momento, surge a necessidade de estar otimizando continuamente, o que se torna uma rotina, porém, sempre há alguém que procura maneiras de automatizar o trabalho. Nesse artigo, proponho uma abordagem não padrão para resolver esse problema.
Raios Elder (Bulls Power e Bears Power)
Raios Elder (Bulls Power e Bears Power)

Raios Elder (Bulls Power e Bears Power)

Sistema de negociação Raios Elder (em inglês, 'Elder-ray') baseado nos indicadores Bulls Power, Bears Power e Moving Average (EMA — MME, média móvel exponencial). Este sistema foi descrito por Alexander Elder em seu livro "Como se transformar em um operador e investidor de sucesso" (na versão original em inglês, 'Trading for a Living').
Combinando uma estratégia de tendência com outra de fase de correção
Combinando uma estratégia de tendência com outra de fase de correção

Combinando uma estratégia de tendência com outra de fase de correção

Existem diversas estratégias de negociação - algumas procuram movimentos direcionais e operam com a tendência, já outras identificam faixas de preço e negociam dentro desses corredores. Neste ponto, surge a pergunta: é possível combinar as duas abordagens para aumentar a rentabilidade da negociação?
Integração de um EA em MQL e bancos de dados (SQL Server, .NET e C#)
Integração de um EA em MQL e bancos de dados (SQL Server, .NET e C#)

Integração de um EA em MQL e bancos de dados (SQL Server, .NET e C#)

Este artigo descreve como adicionar a um EA um recurso para trabalhar com o servidor de banco de dados Microsoft SQL Server. São importadas funções de uma DLL. Para criar a DLL, é implementada a plataforma Microsoft .NET e a linguagem C#. Com pequenas alterações, os métodos usados no artigo também são adequados para EAs escritos em MQL4.
Redes Neurais Profundas (Parte VI). Ensemble de classificadores de redes neurais: bagging
Redes Neurais Profundas (Parte VI). Ensemble de classificadores de redes neurais: bagging

Redes Neurais Profundas (Parte VI). Ensemble de classificadores de redes neurais: bagging

O artigo discute os métodos de construção e treinamento de ensembles de redes neurais com estrutura de bagging. Ele também determina as peculiaridades da otimização de hiperparâmetros para classificadores de redes neurais individuais que compõem o ensemble. A qualidade da rede neural otimizada obtida no artigo anterior da série é comparada com a qualidade do ensemble de redes neurais criado. São consideradas as possibilidades de melhorar ainda mais a qualidade da classificação do ensemble.
EA com interface gráfica: Fornecendo funcionalidade (Parte II)
EA com interface gráfica: Fornecendo funcionalidade (Parte II)

EA com interface gráfica: Fornecendo funcionalidade (Parte II)

Esta é a segunda parte do artigo sobre criação de um EA multissímbolo de sinal para negociação manual. Nós já criamos uma interface gráfica. Neste artigo, vamos falar sobre como vinculá-la à funcionalidade do programa.
Floresta de Decisão Aleatória na Aprendizagem por Reforço
Floresta de Decisão Aleatória na Aprendizagem por Reforço

Floresta de Decisão Aleatória na Aprendizagem por Reforço

A Floresta Aleatória (RF), com o uso de bagging, é um dos métodos mais poderosos de aprendizado de máquina, o que é ligeiramente inferior ao gradient boosting. Este artigo tenta desenvolver um sistema de negociação de autoaprendizagem que toma decisões com base na experiência adquirida com a interação com o mercado.
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.