Artigos sobre como programar e utilizar robôs de negociação na linguagem MQL5

icon

Os experts que os desenvolvedores criam para o MetaTrader realizam uma grande variedade de tarefas. Entre elas estão o monitoramento de muitos instrumentos financeiros 24h por dia, a cópia de operações, a criação e o envio de relatórios, a análise de notícias e até mesmo o acesso dos traders à sua própria interface gráfica personalizada.

Os artigos podem abordar técnicas de programação, ideias matemáticas para processamento de dados, dicas para criar e encomendar robôs de negociação.

Novo artigo
recentes | melhores
Redes Neurais Profundas (Parte VII). Ensemble de redes neurais: stacking
Redes Neurais Profundas (Parte VII). Ensemble de redes neurais: stacking

Redes Neurais Profundas (Parte VII). Ensemble de redes neurais: stacking

Nós continuamos a construir os ensembles. Desta vez, o bagging de ensemble criado anteriormente será complementado com um combinador treinável — uma rede neural profunda. Uma rede neural combina as 7 melhores saídas ensemble após a poda. A segunda obtém todas as 500 saídas do ensemble como entrada, realizando a poda e combinando elas. As redes neurais serão construídas usando o pacote keras/TensorFlow para Python. Os recursos do pacote serão brevemente considerados. Serão realizados os testes e a comparação da qualidade de classificação do bagging e stacking de ensembles.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVIII): interatividade de objetos-conta e de outros objetos da biblioteca
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVIII): interatividade de objetos-conta e de outros objetos da biblioteca

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVIII): interatividade de objetos-conta e de outros objetos da biblioteca

Neste artigo, veremos o funcionamento do objeto-conta no novo objeto base de todos os objetos da biblioteca, o aprimoramento do objeto base CBaseObj, o teste da configuração de parâmetros monitorados, bem como a obtenção de eventos para qualquer objeto da biblioteca.
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.
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.
Previsão de séries temporais (parte 1): decomposição do modo empírico (EMD)
Previsão de séries temporais (parte 1): decomposição do modo empírico (EMD)

Previsão de séries temporais (parte 1): decomposição do modo empírico (EMD)

O artigo estuda a teoria e a aplicação prática de um algoritmo de previsão de séries temporais com base na decomposição em modos empíricos, além disso, propõe sua implementação em MQL5 e fornece indicadores de teste e EAs.
Expert Advisor multiplataforma: Sinais
Expert Advisor multiplataforma: Sinais

Expert Advisor multiplataforma: Sinais

No artigo, são discutidas as classes CSignal e CSignals, que serão usadas em Expert Advisors multiplataforma. Além disso, serão examinadas as diferenças entre MQL4 e MQL5 quanto à organização de dados necessários para avaliar os sinais de negociação obtidos. O resultado será um código compatível com os compiladores das duas versões.
Como copiar sinais pelas suas regras usando um EA ?
Como copiar sinais pelas suas regras usando um EA ?

Como copiar sinais pelas suas regras usando um EA ?

Ao assinar um sinal, a seguinte situação pode ocorrer: sua conta de negociação tem uma alavancagem de 1:100, o provedor tem uma alavancagem de 1:500 e as negociações usam um lote mínimo, seus saldos são praticamente iguais - porém o coeficiente de cópia irá abranger somente de 10% a 15%. Este artigo descreve como aumentar a taxa de cópia em tais casos.
Redes Neurais Profundas (Parte V). Otimização Bayesiana de hiperparâmetros de uma DNN
Redes Neurais Profundas (Parte V). Otimização Bayesiana de hiperparâmetros de uma DNN

Redes Neurais Profundas (Parte V). Otimização Bayesiana de hiperparâmetros de uma DNN

O artigo considera a possibilidade de aplicar a otimização Bayesiana para os hiperparâmetros das redes neurais profundas, obtidas por diversas variantes de treinamento. É realizado a comparação da qualidade de classificação de uma DNN com os hiperparâmetros ótimos em diferentes variantes de treinamento. O nível de eficácia dos hiperparâmetros ótimos da DNN foi verificado nos testes fora da amostra (forward tests). As direções possíveis para melhorar a qualidade da classificação foram determinadas.
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.
Implementação de Indicators como classes por exemplos de Zigzag e ATR
Implementação de Indicators como classes por exemplos de Zigzag e ATR

Implementação de Indicators como classes por exemplos de Zigzag e ATR

O debate sobre uma forma ideal para calcular indicadores é infinito. Onde devemos calcular o indicador - no indicador em si ou dentro da lógica inteira no Expert Advisor que o usa? O artigo descreve uma das variáveis do movimento do código fonte de um indicador personalizado iCustom direto no código de um Expert Advisor ou script com otimização de cálculos e modelagem do valor prev_calculated.
preview
Símbolos personalizados: Fundamentos práticos

Símbolos personalizados: Fundamentos práticos

O artigo é dedicado à geração programática de símbolos personalizados que são usados para demonstrar alguns métodos populares de exibição de cotações. Ele descreve uma variante sugerida da adaptação minimamente invasiva de Expert Advisors para negociar um símbolo real a partir de um gráfico de símbolo personalizado e derivado. Os códigos-fonte em MQL estão anexados a este artigo.
Otimização separada de uma estratégia em condições de tendência e lateralizada
Otimização separada de uma estratégia em condições de tendência e lateralizada

Otimização separada de uma estratégia em condições de tendência e lateralizada

O artigo considera a aplicação do método de otimização separada durante várias condições de mercado. A otimização separada significa definir os parâmetros ideais do sistema de negociação, otimizando para uma tendência de alta e tendência de baixa separadamente. Para reduzir o efeito de sinais falsos e melhorar a lucratividade, os sistemas são flexíveis, o que significa que eles têm um conjunto específico de configurações ou dados de entrada, o que se justifica porque o comportamento do mercado está em constante alteração.
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.
A Implementação de um Modo Multi-currency (múltiplas moedas) no MetaTrader 5
A Implementação de um Modo Multi-currency (múltiplas moedas) no MetaTrader 5

A Implementação de um Modo Multi-currency (múltiplas moedas) no MetaTrader 5

Por um longo tempo a análise de várias moedas e negociação de várias moedas foi de interesse das pessoas. A oportunidade para implementar um regime de várias moedas completo tornou-se possível apenas com o lançamento público do MetaTrader 5 e a linguagem de programação MQL5. Neste artigo, propomos um modo para analisar e processar todos os ticks de entrada para diversos símbolos. Como ilustração, vamos considerar um indicador RSI de várias moedas do índice de dólar USDx.
Implementado OLAP na negociação (Parte 1): Noções básicas da análise de dados multidimensionais
Implementado OLAP na negociação (Parte 1): Noções básicas da análise de dados multidimensionais

Implementado OLAP na negociação (Parte 1): Noções básicas da análise de dados multidimensionais

O artigo descreve os princípios gerais de como construir uma estrutura para analisar dados multidimensionais (OLAP) rapidamente, além disso, apresenta como implementá-la em MQL e como usá-la no ambiente MetaTrader usando um exemplo que mostra o processamento do histórico de uma conta de negociação.
Reversão: reduzindo o rebaixamento máximo e testando outros mercados
Reversão: reduzindo o rebaixamento máximo e testando outros mercados

Reversão: reduzindo o rebaixamento máximo e testando outros mercados

Nesse artigo, continuaremos falando sobre reversão; tentaremos reduzir o rebaixamento máximo para um nível aceitável em instrumentos já discutidos; verificaremos, enquanto isso, quão afectado fica o lucro obtido. Adicionalmente, checaremos como funciona a reversão em outros mercados, como o de ações, commodities, índices e ETF, agrário. Atenção, esse artigo tem muitas imagens.
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.
Construindo um negociante de notícias automático
Construindo um negociante de notícias automático

Construindo um negociante de notícias automático

Essa é a continuação do artigo Outra classe orientada a objeto do MQL5, que mostrou a você como construir um CE orientado a objeto simples do inicio e deu a você algumas dicas sobre programação orientada a objeto. Hoje vou mostrar a você o fundamental técnico necessário para desenvolver um EA capaz de negociar as notícias. Meu objetivo é continuar a dar ideias a você sobre OOP e também cobrir um novo tópico nesta série de artigos, trabalhando com o sistema de arquivo.
Usando a função TesterWithdrawal() para Modelar as Retiradas de Lucro
Usando a função TesterWithdrawal() para Modelar as Retiradas de Lucro

Usando a função TesterWithdrawal() para Modelar as Retiradas de Lucro

Este artigo descreve a utilização da função TesterWithDrawal() para estimar riscos nos sistemas de negócio que implicam na remoção de uma determinada parte dos ativos durante sua operação. Além disso, ele descreve o efeito desta função no algoritmo de cálculo do rebaixamento de igualdade no Strategy tester. Esta função é útil quando otimizar parâmetros de seus Expert Advisors.
Implementado OLAP na negociação (Parte 2): Visualizando resultados da análise interativa de dados multidimensionais
Implementado OLAP na negociação (Parte 2): Visualizando resultados da análise interativa de dados multidimensionais

Implementado OLAP na negociação (Parte 2): Visualizando resultados da análise interativa de dados multidimensionais

O artigo discute diversos aspectos da criação de interfaces gráficas interativas de programas MQL projetados para processamento analítico online (OLAP) do histórico de contas e de relatórios de negociação. Para obter um resultado visual, são usadas janelas maximizadas e escaláveis, uma disposição adaptável de controles de borracha e um novo 'controle' para exibir diagramas. Com base nisso, é implementada uma GUI com a possibilidade de escolher indicadores ao longo dos eixos de coordenadas, funções de agregação, tipos de gráficos e classificações.
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.
Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte II. Otimização e previsão
Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte II. Otimização e previsão

Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte II. Otimização e previsão

Com base nas ferramentas universais projetadas para trabalhar com as redes de Kohonen, nós construímos o sistema de análise e seleção dos parâmetros ótimos do EA e consideramos a previsão das séries temporais. Na Parte I, nós corrigimos e melhoramos as classes das redes neurais publicamente disponíveis, adicionando os algoritmos necessários. Agora é hora de colocá-los em prática.
Abordagem econométrica para a busca de padrões de mercado: Autocorrelação, Mapas de Calor e Gráficos de Dispersão
Abordagem econométrica para a busca de padrões de mercado: Autocorrelação, Mapas de Calor e Gráficos de Dispersão

Abordagem econométrica para a busca de padrões de mercado: Autocorrelação, Mapas de Calor e Gráficos de Dispersão

O artigo apresenta um estudo extenso das características sazonais: autocorrelação, mapas de calor e gráficos de dispersão. O objetivo do artigo é mostrar que a "memória de mercado" é de natureza sazonal, na qual ela é expressa através da correlação maximizada de incrementos de ordem arbitrária.
preview
Desenvolvendo um EA de negociação do zero (Parte 07): Adicionando o Volume At Price (I)

Desenvolvendo um EA de negociação do zero (Parte 07): Adicionando o Volume At Price (I)

Este é um dos indicadores mais poderosos que existe. Para quem opera e tenta ter um certo grau de assertividade, não pode deixar de ter este indicador em seu gráfico, apesar de ele ser mais utilizado por quem opera observando o Fluxo (Tape Reading ) ele também pode ser usado por aqueles que fazem uso apenas do Price Action.
Construção de um Expert Advisor utilizando módulos independentes
Construção de um Expert Advisor utilizando módulos independentes

Construção de um Expert Advisor utilizando módulos independentes

Ao desenvolver indicadores, Expert Advisors e scripts, os desenvolvedores geralmente precisam criar vários trechos de código, que não estão diretamente relacionados à estratégia de negociação. Neste artigo, nós consideramos uma maneira de criar Expert Advisors usando blocos criados anteriormente, como código de stops móveis, filtros e de horários, entre outros. Nós veremos os benefícios dessa abordagem de programação.
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.
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.
Trabalhemos com os resultados da otimização através da interface gráfica do usuário
Trabalhemos com os resultados da otimização através da interface gráfica do usuário

Trabalhemos com os resultados da otimização através da interface gráfica do usuário

Continuamos a desenvolver o tópico sobre o processamento e análise de resultados de otimização. Desta vez, a tarefa é selecionar os 100 melhores resultados de otimização e exibi-los na tabela da GUI. Vamos fazer com que o usuário, selecionando uma série na tabela de resultados de otimização, receba um gráfico multissímbolo de saldo e rebaixamento, em gráficos separados.
Visualizando a otimização de uma estratégia de negociação na MetaTrader 5
Visualizando a otimização de uma estratégia de negociação na MetaTrader 5

Visualizando a otimização de uma estratégia de negociação na MetaTrader 5

O artigo implementa um aplicativo MQL com uma interface gráfica para a visualização estendida do processo de otimização. A interface gráfica utiliza a última versão da biblioteca EasyAndFast. Muitos usuários podem questionar-se sobre a necessidade de utilizar interfaces gráficas em aplicativos MQL. Este artigo demonstra um dos vários casos em que eles podem ser úteis para os traders.
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.
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.
Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte I. Ferramentas
Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte I. Ferramentas

Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte I. Ferramentas

O presente artigo desenvolve a ideia de usar os Mapas de Kohonen na MetaTrader 5, abordado em algumas publicações anteriores. As classes avançadas e aprimoradas fornecem ferramentas para solucionar as tarefas da aplicação.
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.
Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas
Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas

Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas

O artigo fornece uma visão geral das capacidades do terminal para criar e trabalhar com símbolos personalizados, oferece opções para modelar um histórico de negociação usando símbolos personalizados, tendências e vários padrões gráficos.
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.
Implementando OLAP na negociação (Parte 3): analisando cotações para desenvolver estratégias de negociação
Implementando OLAP na negociação (Parte 3): analisando cotações para desenvolver estratégias de negociação

Implementando OLAP na negociação (Parte 3): analisando cotações para desenvolver estratégias de negociação

Neste artigo, continuaremos a estudar a abordagem OLAP aplicada à negociação, bem como a expandir os recursos apresentados nos dois primeiros artigos. Desta vez, analisaremos cotações de maneira operacional. Formularemos e testaremos uma hipótese sobre estratégias de negociação baseadas em indicadores históricos agregados. Apresentaremos EAs para estudos de padrões de barras e negociação adaptativa.
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).
preview
Aprendendo a construindo um EA que opera de forma automática (Parte 02): Iniciando a programação

Aprendendo a construindo um EA que opera de forma automática (Parte 02): Iniciando a programação

Aprenda como criar um EA que opera de forma automática, isto de forma simples e o mais seguro possível. No artigo anterior apresentei as primeiras etapas das quais você precisa compreender, antes mesmo de iniciar a construção de um EA, que opere de forma automática, ali mostrei.
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.
Estratégia de Carry Trade estatístico
Estratégia de Carry Trade estatístico

Estratégia de Carry Trade estatístico

Um algorítimo de proteção estatística de posições swap positivas abertas de movimentos de preço indesejados. Este artigo apresenta uma variante da estratégia de proteção Carry Trade, que permite que você compense potenciais riscos em relação ao movimento de preços na direção oposta à posição aberta.