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
preview
Reamostragem avançada e seleção de modelos CatBoost pelo método de força bruta

Reamostragem avançada e seleção de modelos CatBoost pelo método de força bruta

Este artigo descreve uma das possíveis abordagens para a transformação de dados com o objetivo de melhorar a generalização do modelo, ele também discute a amostragem e seleção dos modelos CatBoost.
preview
Algoritmo de aprendizado de máquina CatBoost da Yandex sem conhecimento prévio de Python ou R

Algoritmo de aprendizado de máquina CatBoost da Yandex sem conhecimento prévio de Python ou R

O artigo fornece o código e a descrição das principais etapas do processo de aprendizado de máquina usando um exemplo específico. Para obter o modelo, você não precisa de conhecimento prévio em Python ou R. Além disso, um conhecimento básico de MQL5 já é suficiente — este é exatamente o meu nível. Portanto, eu espero que o artigo sirva como um bom tutorial para um público amplo, auxiliando os interessados em avaliar os recursos de aprendizado de máquina e implementá-lo em seus programas.
preview
Força bruta para encontrar padrões (Parte II): Imersão

Força bruta para encontrar padrões (Parte II): Imersão

Neste artigo, continuarei o tópico sobre força bruta. Tentarei apresentar melhor os padrões com ajuda de uma nova versão melhorada do meu programa e me esforçarei para encontrar a diferença a nível de estabilidade usando diferentes períodos gráficos.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 57): objeto de dados do buffer do indicador

Trabalhando com séries temporais na biblioteca DoEasy (Parte 57): objeto de dados do buffer do indicador

Neste artigo, veremos um objeto que conterá todos os dados de um buffer de um indicador. Tais objetos serão necessários para armazenar dados seriais de buffers de indicadores, e com a ajuda dos quais será possível classificar e comparar dados de buffers de quaisquer indicadores e outros dados semelhantes entre si.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 56): objeto de indicador personalizado, obtenção de dados a partir de objetos-indicadores numa coleção

Trabalhando com séries temporais na biblioteca DoEasy (Parte 56): objeto de indicador personalizado, obtenção de dados a partir de objetos-indicadores numa coleção

Neste artigo, veremos a criação de um objeto de indicador personalizado para ser usado em Expert Advisors. Vamos modificar ligeiramente as classes da biblioteca e escrever métodos para receber dados desde objetos-indicadores em Expert Advisors.
preview
Redes Neurais de Maneira Fácil(Parte 7): Métodos de otimização adaptativos

Redes Neurais de Maneira Fácil(Parte 7): Métodos de otimização adaptativos

Nos artigos anteriores, nós usamos o gradiente descendente estocástico para treinar uma rede neural usando a mesma taxa de aprendizado para todos os neurônios da rede. Neste artigo, eu proponho olhar para os métodos de aprendizagem adaptativos que permitem a mudança da taxa de aprendizagem para cada neurônio. Nós também consideraremos os prós e os contras dessa abordagem.
preview
Redes neurais de Maneira Fácil (Parte 6): Experimentos com a taxa de aprendizado da rede neural

Redes neurais de Maneira Fácil (Parte 6): Experimentos com a taxa de aprendizado da rede neural

Anteriormente, nós consideramos vários tipos de redes neurais junto com suas implementações. Em todos os casos, as redes neurais foram treinadas usando o método gradiente descendente, para o qual nós precisamos escolher uma taxa de aprendizado. Neste artigo, eu quero mostrar a importância de uma taxa corretamente selecionada e o seu impacto no treinamento da rede neural, usando exemplos.
preview
Redes Neurais de Maneira Fácil (Parte 5): Cálculos em Paralelo com o OpenCL

Redes Neurais de Maneira Fácil (Parte 5): Cálculos em Paralelo com o OpenCL

Discutimos anteriormente alguns tipos de implementações da rede neural. Nas redes consideradas, as mesmas operações são repetidas para cada neurônio. Uma etapa lógica adicional é utilizar os recursos da computação multithread (paralelismo em nível de threads) fornecidos pela tecnologia moderna em um esforço para acelerar o processo de aprendizagem da rede neural. Uma das possíveis implementações é descrita neste artigo.
preview
Redes Neurais de Maneira Fácil(Parte 4): Redes Recorrentes

Redes Neurais de Maneira Fácil(Parte 4): Redes Recorrentes

Nós continuamos estudando o mundo das redes neurais. Neste artigo, nós analisaremos outro tipo de rede neural, as redes recorrentes. Este tipo de rede foi proposto para uso com as séries temporais, que são representadas na plataforma de negociação MetaTrader 5 por meio do gráfico de preços.
preview
Redes Neurais de Maneira Fácil (Parte 3): Redes Convolucionais

Redes Neurais de Maneira Fácil (Parte 3): Redes Convolucionais

Como uma continuação do tópico das redes neurais, eu proponho ao leitor a análise das redes neurais convolucionais. Esse tipo de rede neural geralmente é aplicado para analisar imagens visuais. Neste artigo, nós consideraremos a aplicação dessas redes no mercado financeiro.
preview
Abordagem de força bruta para encontrar padrões

Abordagem de força bruta para encontrar padrões

Neste artigo, procuraremos padrões no mercado, criaremos Expert Advisors com base neles e verificaremos quanto tempo esses padrões permanecem funcionais.
Uma abordagem científica para o desenvolvimento de algoritmos de negociação
Uma abordagem científica para o desenvolvimento de algoritmos de negociação

Uma abordagem científica para o desenvolvimento de algoritmos de negociação

O artigo considera a metodologia para o desenvolvimento de algoritmos de negociação, na qual uma abordagem científica consistente é usada para analisar os possíveis padrões de preços e para construir algoritmos de negociação com base nesses padrões. Os ideais de desenvolvimento são demonstrados por meio de exemplos.
preview
Otimização paralela pelo método de enxame de partículas (Particle Swarm Optimization)

Otimização paralela pelo método de enxame de partículas (Particle Swarm Optimization)

Este artigo descreve uma forma de otimização rápida por meio do método de enxame de partículas e apresenta uma implementação em MQL pronta para ser utilizada tanto no modo thread único dentro do EA quanto no modo multi-thread paralelo com complemento que executado nos agentes locais do testador.
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.
Conjunto de ferramentas para negociação manual rápida: trabalhando com ordens abertas e pendentes
Conjunto de ferramentas para negociação manual rápida: trabalhando com ordens abertas e pendentes

Conjunto de ferramentas para negociação manual rápida: trabalhando com ordens abertas e pendentes

Neste artigo, vamos expandir o conjunto de ferramentas atual. Para isso, acrescentaremos recursos para fechar ordens de negociação atendendo a certas condições, além disso, criaremos uma tabela para registrar ordens a mercado e pendentes, que poderão ser editadas.
Cálculo de expressões matemáticas (Parte 2). Analisadores Pratt e estação de triagem
Cálculo de expressões matemáticas (Parte 2). Analisadores Pratt e estação de triagem

Cálculo de expressões matemáticas (Parte 2). Analisadores Pratt e estação de triagem

O artigo aborda os princípios de análise e cálculo de expressões matemáticas com ajuda de analisadores baseados na precedência de operadores. Implementa analisadores Pratt e estação de triagem, geração de bytecode cálculos com base nele. Mostra o uso de indicadores como funções em expressões e como aplicá-los ao configurar sinais de negociação em EAs.
Conjunto de ferramentas para negociação manual rápida: funcionalidade básica
Conjunto de ferramentas para negociação manual rápida: funcionalidade básica

Conjunto de ferramentas para negociação manual rápida: funcionalidade básica

Atualmente mais e mais traders estão mudando para sistemas de negociação automáticos que ou requerem configuração inicial ou estão totalmente automatizados. No entanto, ainda existe uma parte considerável de traders que negociam manualmente à moda antiga, Neste artigo, criaremos um conjunto de ferramentas para negociação manual rápida usando teclas de atalho e realizando ações de negociação típicas com um clique.
Criando um EA gradador multiplataforma: testando um EA multimoeda
Criando um EA gradador multiplataforma: testando um EA multimoeda

Criando um EA gradador multiplataforma: testando um EA multimoeda

No mês, os mercados caíram mais de 30%. Estamos no momento oportuno para testar Expert Advisors gradadores e martingale. Este artigo é uma continuação da série de artigos "Criando um EA gradador multiplataforma", cuja publicação não tinha sido planejada. Mas, uma vez que o próprio mercado nós dá uma oportunidade para fazer um teste de estresse do EA gradador, é bom aproveitá-la. Então, vamos direto ao assunto.
Implementado OLAP na negociação (Parte 4): análise quantitativa e visual dos relatórios do testador
Implementado OLAP na negociação (Parte 4): análise quantitativa e visual dos relatórios do testador

Implementado OLAP na negociação (Parte 4): análise quantitativa e visual dos relatórios do testador

O artigo oferece ferramentas básicas para análise OLAP dos relatórios do testador sobre execuções únicas e resultados de otimização em formatos padrão (tst e opt), bem como uma interface gráfica interativa. Os códigos fonte MQL são anexados ao final artigo.
Previsão de séries temporais (parte 2): método de vetores de suporte por mínimos quadrados (LS-SVM)
Previsão de séries temporais (parte 2): método de vetores de suporte por mínimos quadrados (LS-SVM)

Previsão de séries temporais (parte 2): método de vetores de suporte por mínimos quadrados (LS-SVM)

O artigo estuda a teoria e a aplicação prática de um algoritmo de previsão de séries temporais com base no método de vetores de suporte, além disso, propõe sua implementação em MQL5 e fornece indicadores de teste e EAs. Embora este abordagem ainda não tenha sido implementada em MQL, em primeiro lugar, precisamos conhecer determinado modelo matemático.
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.
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.
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.
Criando um EA gradador multiplataforma (conclusão): diversificação como forma de aumentar a lucratividade
Criando um EA gradador multiplataforma (conclusão): diversificação como forma de aumentar a lucratividade

Criando um EA gradador multiplataforma (conclusão): diversificação como forma de aumentar a lucratividade

Nos artigos anteriores desta série, tentamos de várias maneiras criar um EA gradador mais ou menos rentável. Agora é a vez de tentarmos aumentar a lucratividade do EA por meio da diversificação. Nosso objetivo é obter o desejado lucro de 100% ao ano, com um rebaixamento máximo de saldo de 20%.
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.
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.
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.
Bova abordagem para interpretar a divergência clássica e oculta. Parte II
Bova abordagem para interpretar a divergência clássica e oculta. Parte II

Bova abordagem para interpretar a divergência clássica e oculta. Parte II

Neste artigo, examinaremos criticamente a divergência clássica e analisaremos a eficácia de vários indicadores. Também oferecemos variantes de filtragem para aumentar a precisão da análise e continuar a considerar soluções não padrão. Como resultado, criaremos uma ferramenta atípica para resolver a tarefa em questão.
Criando um EA gradador multiplataforma (Parte III): grade baseada em correções com martingale
Criando um EA gradador multiplataforma (Parte III): grade baseada em correções com martingale

Criando um EA gradador multiplataforma (Parte III): grade baseada em correções com martingale

Neste artigo, tentaremos criar o melhor EA possível trabalhando com base no princípio de um gradador. Como de costume, tratar-se-á de um Expert Advisor multiplataforma capaz de funcionar tanto no MetaTrader 4 quanto no MetaTrader 5. O primeiro EA era bom para todos, exceto que ele não trazia lucro em período longo. O segundo EA podia trabalhar em intervalos de mais de alguns anos. Mas ele não era capaz de trazer mais de 50% do lucro por ano com um rebaixamento máximo de menos de 50%.
Criando um EA gradador multiplataforma (Parte II): grade dentro de uma faixa na direção da tendência
Criando um EA gradador multiplataforma (Parte II): grade dentro de uma faixa na direção da tendência

Criando um EA gradador multiplataforma (Parte II): grade dentro de uma faixa na direção da tendência

Hoje vamos tentar desenvolver um EA de grade para trabalhar dentro de um intervalo na direção da tendência, para instrumentos de Forex ou para mercados de commodities. Como mostraram os testes, nosso gradador tem sido lucrativo desde 2018. No entanto, de 2014 a 2018, houve uma perda constante do depósito.
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.
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.
Estudo de técnicas de análise de velas (parte III): Biblioteca para trabalhar com os padrões
Estudo de técnicas de análise de velas (parte III): Biblioteca para trabalhar com os padrões

Estudo de técnicas de análise de velas (parte III): Biblioteca para trabalhar com os padrões

O objetivo deste artigo é criar uma ferramenta personalizada que permita aos usuários receber e usar todo o array de informações sobre os padrões discutidos anteriormente. Nós vamos criar uma biblioteca de funções relacionadas aos padrões que você poderá usar em seus próprios indicadores, painéis de negociação, Expert Advisors, etc.
Extraindo dados estruturados de páginas HTML através de seletores CSS
Extraindo dados estruturados de páginas HTML através de seletores CSS

Extraindo dados estruturados de páginas HTML através de seletores CSS

O artigo descreve um método universal para analisar e converter dados de documentos HTML com base em seletores CSS. Em MQL estão disponíveis relatórios de negociação e de teste, calendários econômicos, sinais públicos e monitoramento de contas, fontes de cotações on-line adicionais.
Criando um EA gradador multiplataforma
Criando um EA gradador multiplataforma

Criando um EA gradador multiplataforma

Neste artigo, aprenderemos como escrever EAs que funcionam tanto no MetaTrader 4 quanto no MetaTrader 5. Para fazer isso, tentaremos escrever um que trabalhe com o princípio de criação de grades de ordens. Um gradador é um Expert Advisor cujo trabalho fundamental consiste em colocar simultaneamente e na mesma quantidade ordens limitadas tanto acima como abaixo do preço atual.
Integração da MetaTrader 5 e Python: recebendo e enviando dados
Integração da MetaTrader 5 e Python: recebendo e enviando dados

Integração da MetaTrader 5 e Python: recebendo e enviando dados

O vasto processamento de dados requer ferramentas extensas e muitas vezes está além do ambiente seguro de um único aplicativo. Linguagens de programação especializadas são usadas para processar e analisar dados, estatísticas e aprendizado de máquina. Uma das principais linguagens de programação para processamento de dados é o Python. O artigo fornece uma descrição de como conectar a MetaTrader 5 e o Python usando sockets, além de como receber cotações por meio da API do terminal.
O poder do ZigZag (parte II). Exemplos de recebimento, processamento e exibição de dados
O poder do ZigZag (parte II). Exemplos de recebimento, processamento e exibição de dados

O poder do ZigZag (parte II). Exemplos de recebimento, processamento e exibição de dados

Na primeira parte do artigo, eu descrevi um indicador ZigZag modificado e uma classe para receber os dados desses tipos de indicadores. Aqui, eu mostrarei como desenvolver indicadores baseados nessas ferramentas e escrever um EA para testes que apresentem operações de acordo com os sinais formados pelo indicador ZigZag. Como complemento, o artigo apresentará uma nova versão da biblioteca EasyAndFast para o desenvolvimento de interfaces gráficas do usuário.
O poder do ZigZag (parte I). Desenvolvimento da classe base do indicador
O poder do ZigZag (parte I). Desenvolvimento da classe base do indicador

O poder do ZigZag (parte I). Desenvolvimento da classe base do indicador

Muitos pesquisadores não prestam atenção o suficiente para determinar o comportamento dos preços. Ao mesmo tempo, são usados métodos complexos, que muitas vezes são “caixas pretas”, como aprendizado de máquina ou redes neurais. A questão mais importante que surge nesse caso é quais dados enviar para o treinamento de um determinado modelo.
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.
Martingale como base para estratégia de negociação a longo prazo
Martingale como base para estratégia de negociação a longo prazo

Martingale como base para estratégia de negociação a longo prazo

Neste artigo vamos considerar em detalhes o sistema martingale, vamos analisar se este sistema pode ser aplicado na negociação e como usá-lo para minimizar os riscos. A principal desvantagem deste sistema é a probabilidade de perder todo o seu depósito, este fato deve ser levado em conta, caso decida negociar usando a técnica martingale.