Programando os Modos do EA Usando a Abordagem Orientada a Objetos
Programando os Modos do EA Usando a Abordagem Orientada a Objetos
Este artigo explica a idéia da programação multi-modo de um robô de negociação em MQL5. Cada modalidade é implementada com a abordagem orientada a objetos. São fornecidos as instâncias de ambos os modos de hierarquias de classe e das classes para testes. A programação multi-modo de robôs de negociação presumi-se levar em conta todas as peculiaridades de cada modo operacional de um EA escrito em MQL5. Funções e enumerações são criadas para identificar o modo.
Assistente MQL5: como criar um módulo de rastreamento de posições abertas
Assistente MQL5: como criar um módulo de rastreamento de posições abertas
O gerador de estratégias de negociação do Assistente MQL5 simplifica o teste de ideias de negociação. O artigo discute como escrever e conectar ao gerador de estratégias de negociação do Assistente MQL5 a sua própria classe de gerenciamento de posições abertas, movendo o nível de Stop Loss para a zona lossless quando o preço for em direção da posição, permitindo diminuir levantamentos ao negociar. Fala também sobre a estrutura e o formato da descrição da classe criada para o Assistente MQL5.
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).
MQL5 Wizard: nova versão
MQL5 Wizard: nova versão
O artigo contém descrições dos novos recursos disponíveis no MQL5 Wizard. A arquitetura modificada dos sinais permite criar robôs de negócio com base na combinação de vários padrões de mercado. O exemplo contido no artigo explica o procedimento da criação interativa de um Expert Advisor.
Estratégias de ordem. Expert Advisor de propósito múltiplo.
Estratégias de ordem. Expert Advisor de propósito múltiplo.
Este artigo centraliza estratégias que usam ativamente ordens pendentes, uma metalinguagem que pode ser criada para formalmente descrever tais estratégias e uso de um Expert Advisor de propósito múltiplo em que a operação baseia-se nestas descrições.
Assistente MQL5: como criar um módulo de gerenciamento de risco e dinheiro
Assistente MQL5: como criar um módulo de gerenciamento de risco e dinheiro
O gerador de estratégias de negociação do Assistente MQL5 simplifica extremamente o teste de ideias de negociação. O artigo descreve como desenvolver um módulo personalizado de risco e gerenciamento de dinheiro e habilitá-lo no Assistente MQL5. Como exemplo consideramos um algoritmo de gestão de dinheiro, em que o tamanho do volume de negócio é determinado pelos resultados do negócio anterior. A estrutura e o formato da descrição da classe criada para o Assistente MQL5 também são discutidas nesse artigo.
AutoElliottWaveMaker - Ferramenta do MetaTrader 5 para análise semi-automática de Ondas de Elliott
AutoElliottWaveMaker - Ferramenta do MetaTrader 5 para análise semi-automática de Ondas de Elliott
O artigo fornece uma análise de AutoElliottWaveMaker - o primeiro desenvolvimento para a análise Elliot Wave no MetaTrader 5 que representa uma combinação de rotulagem de onda manual e automática. A ferramenta de análise de onda é escrita exclusivamente no MQL5 e não inclui bibliotecas dll externas. Esta é mais uma prova de que programas sofisticados e interessantes podem (e devem) ser desenvolvidos no MQL5.
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.
Assistente MQL5: como criar um módulo de sinais de comércio
Assistente MQL5: como criar um módulo de sinais de comércio
O artigo discute como escrever sua própria classe de sinais de comércio com a implementação de sinais no cruzamento do preço e da média móvel, e como incluí-lo ao gerador de estratégias de comércio do Assistente MQL5, bem como descreve a estrutura e o formato da descrição da classe gerada para o Assistente MQL5.
Princípios básicos dos testes no MetaTrader 5
Princípios básicos dos testes no MetaTrader 5
Quais são as diferenças entre os três modos de teste no MetaTrader 5 e o que deve ser especialmente buscado? Como o teste de um EA, negociando simultaneamente em múltiplos instrumentos, acontece? Quando e como os valores dos indicadores são calculados durante o teste e como os eventos são manuseados? Como sincronizar as barras a partir de diferentes instrumentos durante o teste no modo "apenas preços abertos"? Este artigo tem como objetivo fornecer respostas a estas e muitas outras questões.
Assistente MQL5: criar Expert Advisors sem programação
Assistente MQL5: criar Expert Advisors sem programação
Você quer experimentar uma estratégia de negócio enquanto não gasta tempo em programação? No Assistente MQL5 você pode simplesmente selecionar o tipo de sinais de negócio, adicionar módulos de posições de rastreio e gerenciamento de dinheiro - e seu trabalho está feito! Crie suas próprias implementações dos módulos ou encomende através do atendimento Jobs - e combine seus novos módulos com os já existentes.
Guia prático do MQL5: Desenvolvendo um Consultor Especialista multi-moeda com um número ilimitado de parâmetros
Guia prático do MQL5: Desenvolvendo um Consultor Especialista multi-moeda com um número ilimitado de parâmetros
Neste artigo, criaremos um padrão que utiliza um único conjunto de parâmetros para otimização do sistema de negociação, enquanto permite um número ilimitado de parâmetros. A lista de símbolos será criada no arquivo de texto padrão (*.txt). Os parâmetros de entrada para cada símbolo também serão armazenados nos arquivos. Desta forma poderemos ser capazes de contornar a restrição do terminal sobre o número de parâmetros de entrada de um Expert Advisor.
Expert Advisor Universal: Estratégias Personalizadas e Classes Auxiliares de Negociação (Parte 3)
Expert Advisor Universal: Estratégias Personalizadas e Classes Auxiliares de Negociação (Parte 3)
Neste artigo, vamos continuar a análise dos algoritmos do motor de negociação CStrategy. A terceira parte da série contém uma análise detalhada com exemplos de como desenvolver estratégias de negociação específicas usando esta abordagem. É dada uma atenção especial aos algoritmos auxiliares - sistema de registro Expert Advisor e acesso a dados usando um indexador convencional (Close[1], Open[0], etc).
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').
Como criar gráficos 3D usando o DirectX no MetaTrader 5
Como criar gráficos 3D usando o DirectX no MetaTrader 5
Os gráficos 3D fornecem excelentes meios para analisar grandes quantidades de dados, pois permitem a visualização de padrões ocultos. Essas tarefas podem ser resolvidas diretamente em MQL5, enquanto as funções do DireсtX permitem a criação de objetos tridimensionais. Assim, é ainda possível criar programas de qualquer complexidade, até jogos 3D para a MetaTrader 5. Comece a aprender gráficos 3D desenhando formas tridimensionais simples.
Guia Prático do MQL5: Teste de estresse de uma estratégia de negociação utilizando os símbolos personalizados
Guia Prático do MQL5: Teste de estresse de uma estratégia de negociação utilizando os símbolos personalizados
O artigo considera uma abordagem para o teste de estresse de uma estratégia de negociação usando os símbolos personalizados. Uma classe de símbolo personalizada é criada para essa finalidade. Esta classe é utilizada para receber os dados de ticks de fontes de terceiros, bem como realizar alterações das propriedades do símbolo. Com base nos resultados do trabalho realizado, nós consideraremos várias opções para alterar as condições de negociação, sob as quais uma estratégia de negociação está sendo testada.
Gerenciando otimizações (Parte 2): Cirando a lógica do aplicativo e objetos chave
Gerenciando otimizações (Parte 2): Cirando a lógica do aplicativo e objetos chave
Este artigo é uma continuação da publicação anterior sobre a criação de uma interface gráfica para gerenciar otimizações. Nele, abordaremos a lógica do robô para o complemento a ser criado. Criaremos um wrapper que permitirá iniciar o terminal MetaTrader 5 como um processo gerenciado através do C#. Também consideraremos o trabalho com arquivos de configuração. Dividiremos a lógica do programa em duas partes, a primeira descreverá os métodos chamados após pressionar uma tecla específica e a segunda, a parte da inicialização e do gerenciamento de otimizações.
Gerenciando otimizações (Parte I): Criando uma interface gráfica do usuário
Gerenciando otimizações (Parte I): Criando uma interface gráfica do usuário
Este artigo descreve um processo para criar uma extensão projetada para o terminal MetaTrader. Essa solução ajuda a automatizar o processo de otimização através de sua execução em outros terminais. Outros artigos serão escritos com base neste artigo para desenvolver este tópico. A extensão será escrita usando linguagem C# e modelos de programação, o que, além do objetivo principal deste artigo, mostrará não apenas a capacidade do terminal de expandir os recursos originalmente criados através da escrita de templates próprios, mas também como criar facilmente gráficos personalizados numa linguagem com os recursos mais convenientes para isso.
Métodos para medir a velocidade do movimento de preços
Métodos para medir a velocidade do movimento de preços
Existem diferentes abordagens para estudar e analisar o mercado, mas, há dois principais, nomeadamente a técnica e a fundamental. No primeiro caso, acontece a coleta, o processamento e o estudo de quaisquer dados numéricos e de características relacionadas ao mercado: preços, volumes e assim por diante. No segundo caso, acorre a análise de eventos e de notícias que, por sua vez, afetam direta ou indiretamente os mercados. O artigo discute métodos para medir a velocidade do movimento de preços e o estudo de estratégias de negociação com base neles.
Aplicando o método de Monte Carlo no aprendizado por reforço
Aplicando o método de Monte Carlo no aprendizado por reforço
O uso de aprendizado por reforço para desenvolver EAs de autoaprendizagem. No artigo anterior, vimos o algoritmo Random Decision Forest e escrevemos um EA simples de autoaprendizagem baseado no aprendizado por reforço. Observamos que a principal vantagem desta abordagem era a fácil escrita do algoritmo de negociação e a alta velocidade de aprendizagem. O aprendizado por reforço (doravante simplesmente AR) é facilmente incorporado a qualquer EA e acelera sua otimização.
Padrões de reversão: Testando o padrão 'Ombro-Cabeça-Ombro'
Padrões de reversão: Testando o padrão 'Ombro-Cabeça-Ombro'
Este artigo é uma continuação do artigo "Padrões de reversão: Testando o padrão 'topo/fundo duplo'" publicado anteriormente. Agora consideraremos o padrão de reversão O-C-O, o bem conhecido Ombro-Cabeça-Ombro, compararemos o desemprenho de dois padrões e, por último, tentaremos combinar o trading de dois padrões num só sistema de negociação.
Padrões de reversão: Testando o padrão 'topo/fundo duplo'
Padrões de reversão: Testando o padrão 'topo/fundo duplo'
Na prática, os traders muitas vezes procuram por pontos de reversão, uma vez que é no momento em que surge a tendência que o preço tem o maior potencial de movimento. É por isso que, na prática da análise técnica, são considerados vários padrões de reversão. Um dos padrões mais famosos e usados é o de 'topo/fundo duplo'. Este artigo apresenta uma opção para detectar padrão algoritmicamente, além disso, nele é testada sua rentabilidade em dados históricos.
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.
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.
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#)
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.
Criando um Expert Advisor multissistema e multimoeda
Criando um Expert Advisor multissistema e multimoeda
O artigo apresenta uma estrutura para um Expert Advisor que negocia múltiplos símbolos e utiliza vários sistemas de negociação simultaneamente. Se você já identificou os parâmetros de entrada ideais para todos os seus EAs e obteve bons resultados de simulação para cada um deles separadamente, pergunte-se quais os resultados que você obteria se testasse todos os EAs simultaneamente, com todas as suas estratégias juntas.
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.
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)
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
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
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.
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.
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.