Artigos sobre como automatizar sistemas de negociação na linguagem MQL5

icon

Leia artigos sobre sistemas de negociação baseados em uma ampla diversidade de conceitos. Aprenda a usar métodos estatísticos e padrões sobre velas japonesas, a filtrar sinais e dominar indicadores 'semáforo'.

Graças ao Assistente MQL5, e sem ter que programar, você pode criar robôs para testar rapidamente suas ideias de negociação, além de aprender sobre algoritmos genéticos, entre outras coisas.

Novo artigo
recentes | melhores
O protótipo do robô de negócio
O protótipo do robô de negócio

O protótipo do robô de negócio

Este artigo resume e sintetiza os princípios da criação de algoritmos e elementos dos sistemas de negócio. O artigo considera o planejamento do algoritmo de especialista. Como um exemplo, a classe CExpertAdvisor é considerada, o que pode ser usado para facilmente e rapidamente desenvolver sistemas de negócio.
Negociação Bidirecional e de Cobertura de Posições no MetaTrader 5 Através da API HedgeTerminal, Parte 2
Negociação Bidirecional e de Cobertura de Posições no MetaTrader 5 Através da API HedgeTerminal, Parte 2

Negociação Bidirecional e de Cobertura de Posições no MetaTrader 5 Através da API HedgeTerminal, Parte 2

Este artigo descreve uma nova abordagem para cobertura de posições e desenhar uma linha na discussão entre os usuários do MetaTrader 4 e MetaTrader 5 sobre esta questão. Ele é uma continuação da primeira parte: "Negociação Bidirecional e de Cobertura de Posições no MetaTrader 5 Através do Painel de HedgeTerminal, Parte 1". Na segunda parte, nós discutimos a integração do Expert Advisors personalizado com o HedgeTerminalAPI, que é uma biblioteca de visualização especial projetada para a negociação bidirecional em um ambiente de software confortável, fornecendo ferramentas para o gerenciamento de posições de forma conveniente.
Biblioteca para o desenvolvimento fácil e rápido de programas para a MetaTrader (parte IV): eventos de negociação
Biblioteca para o desenvolvimento fácil e rápido de programas para a MetaTrader (parte IV): eventos de negociação

Biblioteca para o desenvolvimento fácil e rápido de programas para a MetaTrader (parte IV): eventos de negociação

Nos artigos anteriores, nós começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Nós já temos as coleções do histórico de ordens e negócios, ordens e posições de mercado, bem como a classe para a seleção conveniente e ordenação das ordens. Nesta parte, nós continuaremos com o desenvolvimento do objeto base e ensinaremos a Biblioteca Engine a monitorar os eventos de negociação na conta.
Estratégia de negociação "Momentum Pinball"
Estratégia de negociação "Momentum Pinball"

Estratégia de negociação "Momentum Pinball"

Neste artigo, continuamos a falar sobre a programação das estratégias de negociação descritas no livro de L. Raschke e L. Connors "Street Smarts: High Probability Short-Term Trading Strategies, devoted to testing of range limits by price". Desta vez, estudamos o sistema "Momentum Pinball": é descrita a criação de dois indicadores, um robô de negociação e um bloco de sinal com base nele.
O exemplo simples da criação de um indicador utilizando a lógica Fuzzy
O exemplo simples da criação de um indicador utilizando a lógica Fuzzy

O exemplo simples da criação de um indicador utilizando a lógica Fuzzy

O artigo dedica-se à aplicação prática do conceito da lógica fuzzy para análise de mercados financeiros. Propomos o exemplo dos sinais de geração de indicador com base em duas regras fuzzy baseadas no indicador Envelopes. O indicador desenvolvido usa diversos buffers de indicador: 7 buffers para cálculo, 5 buffers para a exibição dos gráficos e 2 buffers de cor.
Como escrever uma biblioteca DLL em MQL5 (Parte II) em 10 minutos: escrevendo no ambiente do Visual Studio 2017
Como escrever uma biblioteca DLL em MQL5 (Parte II) em 10 minutos: escrevendo no ambiente do Visual Studio 2017

Como escrever uma biblioteca DLL em MQL5 (Parte II) em 10 minutos: escrevendo no ambiente do Visual Studio 2017

O artigo básico inicial não perdeu sua importância e todos os interessados neste tópico simplesmente devem lê-lo. Mas já se passou muito tempo desde então, e agora o Visual Studio 2017 com uma nova interface está à frente, também a própria plataforma MetaTrader 5 vem se desenvolvendo e segue em frente. O artigo descreve as etapas de criação de um projeto dll, abrangendo configurações e colaboração com as ferramentas do terminal MetaTrader 5.
50 000 encomendas atendidas no Freelance MQL5.com
50 000 encomendas atendidas no Freelance MQL5.com

50 000 encomendas atendidas no Freelance MQL5.com

Mais de 50 000 pedidos foram concluídos até outubro de 2018 pelos membros do serviço oficial Freelance MetaTrader — o maior site freelance do mundo para programadores MQL, contando com mais de mil desenvolvedores, com dezenas encomendas diárias e com localização em 7 idiomas.
Caminhada aleatória e indicador de tendência
Caminhada aleatória e indicador de tendência

Caminhada aleatória e indicador de tendência

A caminhada aleatória parece muito similar com os dados de mercado reais, mas possui alguns recursos significativos. Neste artigo, considerarei as propriedades da Caminhada Aleatória, simulada usando o jogo de cara e coroa. Para estudar as propriedades dos dados, foi desenvolvido o indicador de modismo.
Criando Consultores Especialistas em minutos usando a árvore EA: Parte Um
Criando Consultores Especialistas em minutos usando a árvore EA: Parte Um

Criando Consultores Especialistas em minutos usando a árvore EA: Parte Um

EA Tree é o primeiro construtor do Consultor Especialista do MetaTrader MQL5 com recurso de arrastar e soltar. Você pode criar um MQL5 complexo usando uma interface gráfica do usuário muito fácil de usar. Na árvore EA, Consultores Especialistas são criados por ligação de caixas juntas. As caixas podem conter funções MQL5, indicadores técnicos, indicadores personalizados ou valores. Usando as "três caixas", o EA Tree gera o código MQL5 do Expert Advisor.
Programação baseada em autômatos como nova abordagem para criação de sistemas de negociação automatizados
Programação baseada em autômatos como nova abordagem para criação de sistemas de negociação automatizados

Programação baseada em autômatos como nova abordagem para criação de sistemas de negociação automatizados

Este artigo nos leva a uma nova direção no desenvolvimento de EAs, indicadores e scripts no MQL4 e MQL5. No futuro, este paradigma de programação gradualmente se tornará uma padrão base para todos os negociantes na implementação de EAs. Usando o paradigma de programação baseada em autômatos, os desenvolvedores no MQL5 e MetaTrader 5 estarão próximos de criar uma nova linguagem - MQL6 - e uma nova plataforma - MetaTrader 6.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXIV): ordens de negociação pendentes - exclusão de ordens, modificação de ordens/posições por condições
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXIV): ordens de negociação pendentes - exclusão de ordens, modificação de ordens/posições por condições

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXIV): ordens de negociação pendentes - exclusão de ordens, modificação de ordens/posições por condições

Neste artigo, concluiremos a descrição do conceito de solicitações de negociação pendentes e criaremos uma funcionalidade para excluir ordens pendentes e modificar ordens/posições de acordo com as condições definidas. Assim, teremos toda uma funcionalidade com a qual poderemos criar estratégias personalizadas simples, mais precisamente alguma lógica para o EA se comportar quando ocorrerem as condições especificadas pelo usuário.
Análise de Regressão Múltipla. Gerador de Estratégia e Tester in One
Análise de Regressão Múltipla. Gerador de Estratégia e Tester in One

Análise de Regressão Múltipla. Gerador de Estratégia e Tester in One

O artigo fornece uma descrição dos modos de uso da análise de regressão múltipla para desenvolvimento dos sistemas de negócio. Ele demonstra o uso da análise de regressão para automação da busca de estratégia. é dado neste exemplo uma equação de regressão gerada e integrada em um EA sem necessitar alta proficiência em programação.
Aplicação prática de redes neurais no trading
Aplicação prática de redes neurais no trading

Aplicação prática de redes neurais no trading

O artigo discute os principais pontos para integrar as redes neurais e um terminal de negociação, providenciando criar um robô de negociação robusto.
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.
preview
Aplicação prática de redes neurais no trading. Embarquemos na prática

Aplicação prática de redes neurais no trading. Embarquemos na prática

Este artigo apresenta uma descrição e instruções para o uso prático de módulos de redes neurais (MRN) na plataforma Matlab. Também aborda os principais aspectos para construção de um sistema de negociação usando o MRN. Para realizar uma apresentação concisa deste artigo, tive que modernizá-lo um pouco de forma a combinar várias funções da MRN num programa.
Criando uma nova estratégia de negociação usando uma tecnologia de resolução de entradas em indicadores
Criando uma nova estratégia de negociação usando uma tecnologia de resolução de entradas em indicadores

Criando uma nova estratégia de negociação usando uma tecnologia de resolução de entradas em indicadores

O artigo sugere uma tecnologia que ajuda todos a criar estratégias de negociação personalizadas, montando um conjunto de indicadores individuais, além de desenvolver sinais personalizados de entrada no mercado.
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.
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.
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.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIX): ordens de negociação pendentes, classes de objetos-ordens
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIX): ordens de negociação pendentes, classes de objetos-ordens

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIX): ordens de negociação pendentes, classes de objetos-ordens

Em artigos anteriores, verificamos a ideia de ordens de negociação pendentes. Uma ordem pendente é, em essência, uma ordem de negociação, mas, executada com base numa determinada condição. Hoje, criaremos classes completas de objetos-ordens pendentes, isto é, geraremos um objeto-ordem base com seus descendentes.
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.
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.
Estimando o índice de funcionalidade, o expoente de Hurst e a possibilidade de prever séries temporais financeiras
Estimando o índice de funcionalidade, o expoente de Hurst e a possibilidade de prever séries temporais financeiras

Estimando o índice de funcionalidade, o expoente de Hurst e a possibilidade de prever séries temporais financeiras

A busca e o estudo do comportamento fractal de dados financeiros implica que, por trás do comportamento aparentemente caótico de séries temporais econômicas, estão ocultos e operam mecanismos estáveis que governam a conduta coletiva dos participantes. Na bolsa de valores, essa mecânica pode levar ao surgimento de uma dinâmica de preços que determina e descreve as propriedades específicas das séries de preços. Na negociação, seria interessante ter indicadores que pudessem estimar os parâmetros de fractalidade de maneira efetiva e estável, numa escala e num intervalo de tempo que fossem uteis na prática.
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.
Como desenvolver uma estratégia de negociação lucrativa
Como desenvolver uma estratégia de negociação lucrativa

Como desenvolver uma estratégia de negociação lucrativa

Este artigo fornece uma resposta à seguinte questão: "É possível formular uma estratégia de negociação automatizada baseada em dados do histórico com redes neurais?".
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.
Negociação Forex e sua matemática básica
Negociação Forex e sua matemática básica

Negociação Forex e sua matemática básica

O objetivo do artigo consiste em descrever as principais características da negociação forex da forma mais simples e rápida possível, compartilhando verdades simples com iniciantes. Aqui tentaremos responder às perguntas mais interessantes no ambiente de negociação, bem como escrever um indicador simples.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 35): Objeto "Barra" e lista-série temporal do símbolo
Trabalhando com séries temporais na biblioteca DoEasy (Parte 35): Objeto "Barra" e lista-série temporal do símbolo

Trabalhando com séries temporais na biblioteca DoEasy (Parte 35): Objeto "Barra" e lista-série temporal do símbolo

Neste artigo, estamos lançando uma nova série de descrições de criação de bibliotecas DoEasy para criação simples e rápida de programas. Hoje começaremos a preparar a funcionalidade da biblioteca para acessar e trabalhar com dados de séries temporais de símbolos. Criaremos um objeto "Barra" que armazenará os dados básicos e avançados da barra da série temporal e colocaremos os objetos-barras na lista de séries temporais para facilitar a pesquisa e a classificação desses objetos.
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.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXII): classes de negociação - classe básica de negociação, controle de restrições
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXII): classes de negociação - classe básica de negociação, controle de restrições

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXII): classes de negociação - classe básica de negociação, controle de restrições

No artigo, começaremos a criar uma classe básica de negociação da biblioteca e dotaremos a primeira versão com uma funcionalidade de verificação de permissões inicial para realizar operações de negociação. Também expandiremos levemente os recursos e o conteúdo da classe básica de negociação.
Técnica de Teste (Otimização) e Alguns Critérios para Seleção dos Parâmetros do Expert Advisor
Técnica de Teste (Otimização) e Alguns Critérios para Seleção dos Parâmetros do Expert Advisor

Técnica de Teste (Otimização) e Alguns Critérios para Seleção dos Parâmetros do Expert Advisor

Não existe problemas para encontrar o Santo Graal nos testes, o mais difícil é livrar-se dele. Este artigo aborda a seleção do parâmetros operacionais do Expert Advisor com o processamento de grupo automatizado da otimização, resultados dos testes quanto a utilização máxima da capacidade de desempenho de terminal e a carga mínima do usuário final.
preview
Redes neurais de maneira fácil (Parte 2): Treinamento e teste da rede

Redes neurais de maneira fácil (Parte 2): Treinamento e teste da rede

Neste segundo artigo, nós continuaremos a estudar as redes neurais e nós vamos considerar um exemplo utilizando a nossa classe criada CNet nos Expert Advisors. Nós trabalharemos com dois modelos de rede neural, que apresentam resultados semelhantes tanto em termos de tempo de treinamento quanto de precisão de predição.
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.
Sistema de negociação '80-20'
Sistema de negociação '80-20'

Sistema de negociação '80-20'

Este artigo trata de como criar instrumentos (indicador e Expert Advisor) para estudo sobre a Estratégia de Negociação '80-20' descrita no livro "Street Smarts: High Probability Short-Term Trading Strategies" de Linda Raschke e Laurence Connors. Na linguagem MQL5, estão estabelecidas as regras desta estratégia, e seu principal indicador e Expert Advisor estão testados com base no histórico atual de mercado.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIII): classe básica de negociação, controle de parâmetros válidos
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIII): classe básica de negociação, controle de parâmetros válidos

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIII): classe básica de negociação, controle de parâmetros válidos

Neste artigo, continuaremos a acompanhar o desenvolvimento da classe de negociação, criaremos um controle que encontre valores incorretos nos parâmetros da ordem de negociação e sonorizaremos eventos 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.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 38): coleção de séries temporais - atualização em tempo real e acesso aos dados do programa
Trabalhando com séries temporais na biblioteca DoEasy (Parte 38): coleção de séries temporais - atualização em tempo real e acesso aos dados do programa

Trabalhando com séries temporais na biblioteca DoEasy (Parte 38): coleção de séries temporais - atualização em tempo real e acesso aos dados do programa

No artigo, consideraremos a atualização em tempo real dos dados das séries temporais, bem como o envio de mensagens sobre o evento "Nova Barra" para o gráfico do programa de controle, a partir de todas as séries temporais de todos os símbolos, a fim de processar estes eventos nos programa. Para determinar se necessário atualizar séries temporais para símbolos e períodos inativos, usaremos a classe "Novo tick".
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVI): eventos de coleção de símbolos
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVI): eventos de coleção de símbolos

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVI): eventos de coleção de símbolos

No artigo, criaremos uma nova classe base - para todos os objetos da biblioteca - que adicionará funcionalidade de evento a todos os seus herdeiros, bem como uma classe para rastrear eventos de uma coleção de símbolos com base numa classe base nova. Além disso, alteraremos as classes e os eventos de conta para operarem sob a nova funcionalidade do objeto base.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte III). Coleção de ordens e posições de mercado, busca e ordenação
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte III). Coleção de ordens e posições de mercado, busca e ordenação

Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte III). Coleção de ordens e posições de mercado, busca e ordenação

Na primeira parte, começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Além disso, nós implementamos a coleção do histórico de ordens e negócios. Nosso próximo passo é criar uma classe para uma seleção conveniente e a ordenação de ordens, negócios e posições nas listas de coleção. Nós vamos implementar o objeto da biblioteca base chamada Engine e adicionar uma coleção de ordens e posições de mercado para a biblioteca.
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.