Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 1189
- Avaliação:
- Publicado:
- 2018.05.25 10:47
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
Instruções de instalação
Para testar o Expert Advisor, você precisa baixar a versão demo do indicador ZigZagLW Addition. O arquivo ZigZagLW Addition.ex5 deve estar no diretório MQL5\Indicators\Market. Além disso, é necessário baixar a biblioteca IsNewBar, o diretório MQL5\Include deve conter o arquivo isnewbar.mqh. Em seguida, você precisa baixar o arquivo do Expert Advisor ExpertZZLWA.mq5, abri-lo no editor e compilar. O modelo está pronto para teste.
Testando
O objetivo aqui é demonstrar a lucratividade potencial do indicador ZigZagLW Addition, que pode ser descrito resumidamente como um indicador de tendência. Para saber mais sobre o algoritmo deste indicador, clique no link https://www.mql5.com/en/market/product/2647. Para desenvolver Sistemas de Negociação Mecanizada operando neste indicador, pegue no seguinte Expert Advisor https://www.mql5.com/pt/code/19102. Não apaguei nada no corpo deste robô, eu, além de mudar o nome, comentei e acrescentei os blocos necessários. As alterações estão marcadas com os seguintes comentários:
//**************************
...
//**************************
Funcionamento: o EA compra e vende ao receber os sinais apropriados. Vale a pena notar que ele não é um robô de reversão, uma vez que a ordem é fechada segundo Stop Loss e Take Profit; e o número de ordens abertas é igual ao número de sinais.
Vamos determinar os principais critérios para avaliar a eficácia do sistema automatizado e a forma como a avaliação deve ser realizada. No estágio inicial, temos apenas um modelo e queremos entender se é uma boa base para a construção do sistema. Uma resposta positiva a esta questão poderia ser obtida a partir da forma da curva de saldo, durante um longo período de teste. Se a curva de saldo mostra uma tendência de alta constante, este modelo pode ser considerado como a base para um sistema, para o qual podem ser adicionados filtros, indicadores, gerenciamento de dinheiro e outros elementos. Em geral, a base deve ser estável para fornecer um bom lastro para todos os acréscimos.
Para evitar a avaliação manual de diferentes curvas de saldo com todos os parâmetros, vamos estabelecer limites razoáveis para a otimização, selecionando (tentando adivinhar) os conjuntos de parâmetros mais promissores.
Aqui podemos usar algumas ideias clássicas. Aqui eu menciono um livro, que, certamente, não foi minha primeira escolha. Eu gostei da lista numerada de regras para o trader. Outros autores apresentam tais pensamentos inconsistentemente espalhados pelo texto. O livro é "The Way to Trade", de John Piper. Abra o capítulo 9 e leia:
Os segredos da negociação:
- Corte suas perdas;
- Permita que seus lucros se acumulem;
- Opere seletivamente;
- Negocie na direção da tendência.
O que no nosso caso significa:
- Stop loss deve ser pequeno;
- Take profit deve ser grande;
- Modelo não programado de forma alguma;
- Compre num sinal de compra, venda num sinal de venda.
Três das quatro regras podem ser implementadas. Embora haja comentários sobre a última opção, os sinais aqui não indicam uma tendência longa. O sinal pode mudar várias vezes enquanto o preço chega ao Take Profit. Aqui, o sinal desempenha o papel de um estocástico, mas suas características incluem um alerta antecipado e uma formação obrigatória no início da tendência. Portanto, seria mais correto dizer que o indicador discutido pode cobrir parcialmente os pontos 3 e 4, mas nenhum deles é coberto completamente. O problema com os indicadores de tendências de longo prazo é enorme atraso. No entanto, esses sinais também podem ser usados, por exemplo, para abrir uma ordem na direção da posição já existente, quando esse sinal é formado.
A primeira captura de tela mostra os parâmetros de otimização. Otimize apenas os dois parâmetros - stoploss e takeprofit:
O parâmetro Level significa o nível usado do indicador ZigZagLW Addtion, enquanto o mode mostra o modo de operação do EA. Em original_mode, o EA funciona como o Expert Advisor MT45 original; em addition_test_mode, ele usa sinais do indicador ZigZagLW Addtion; em ma_test_mode, usa sinais de intersecção de MA.
O EA foi otimizado no terminal MetaTrader 5 usando dados do servidor access.metatrader5.com:443 como é recomendado no artigo https://www.mql5.com/pt/articles/385#files, usando o intervalo de dados 1.01.2000 - 31.12.2016, no modo Pontos de Controle no timeframe M15 - como mostrado na segunda captura de tela:
O resultado da otimização é anexado aqui como complete period.xml.
Considere o maior resultado que, obviamente, tem um longo período problemático no final do teste e é destacado em laranja.
A próxima otimização foi realizada nos dados de 01.01.2012 - 31.12.2016. O resultado está disponível no arquivo partial period.xml.
Vamos escolher o melhor resultado e ver como esses parâmetros funcionam em todo o intervalo 01.01.2000 - 31.12.2016.
Para comparação, eu adicionei o terceiro modo ma_test_mode. Neste modo, os cruzamentos de médias móveis são usados como sinais. O objetivo era obter o mesmo número de transações para comparar os resultados e avaliar o efeito dos sinais de negociação com os mesmos parâmetros stoploss e takeprofit.
Considerações gerais
Os resultados podem parecer encorajadores para alguns usuários e não bons o suficiente para outros. Vamos observar apenas fatos indisputáveis:
- O modelo corresponde às recomendações de traders experientes em termos de corte de perdas e acumulação de lucro: é refletido na curva de saldo como a linha de capital que está acima da linha de saldo.
- A curva de capital apresentou uma tendência de alta constante ao longo de um longo intervalo de tempo com pequenos rebaixamentos.
- Usa-se um modelo puramente mecânico com um pequeno número de parâmetros de otimização.
Parâmetros StopLoss=3600, TakeProfit=6700, Level=Long_term1 que são usados como ótimos são um compromisso. Seria mais interessante testar os parâmetros, que melhor atendem às recomendações dos traders, como StopLoss=500, TakeProfit=8000.
Vamos comparar os mesmos parâmetros para sinais no cruzamento de médias móveis
A variante do modelo com parâmetros StopLoss=500, TakeProfit=8000 é a mais próxima das ideias dos traders experientes, mas é a mais complexa do ponto de vista da psicologia: por causa de longos patamares na curva de saldo e longas séries de trades mal-sucedidos (até 145), muito poucos traders são capazes de seguir o conselho (talvez é por isso que ainda funciona).
Recomendações e dicas descritas na maioria dos livros sobre negociação realmente funcionam. Acho que, mesmo que as entradas de mercado no intervalo especificado fossem completamente aleatórias, esses parâmetros mostrariam um lucro.
Alguns sistemas automatizados diferem significativamente de outros com os mesmos parâmetros de colocação de ordens e com aproximadamente o mesmo número de ordens no intervalo selecionado.
Dada a extrema volatilidade do mercado Forex, talvez melhores resultados poderiam ter sido obtidos em outros mercados menos voláteis.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/19646
![ColorDerivative_HTF](https://c.mql5.com/i/code/indicator.png)
Indicador ColorDerivative com recurso que altera o timeframe nos parâmetros de entrada.
![Arrows and Curves EA](https://c.mql5.com/i/code/expert.png)
EA baseado no indicador "Arrows&Curves".
![Exp_XDidi_Index_Cloud_Duplex](https://c.mql5.com/i/code/expert.png)
Dois sistemas de negociação idênticos, baseados na mudança na direção da cor da nuvem do indicador XDidi_Index_Cloud, para posições longas e curtas, que podem ser configurados de várias maneiras num Expert Advisor.
![Exp_ColorJFatl_Digit_Tm_Plus](https://c.mql5.com/i/code/expert.png)
Sistema de negociação baseado nos sinais do indicador ColorJFatl_Digit com recurso para manter posições por um tempo fixo.