English Русский 中文 Español Deutsch 日本語
Teste de padrões que surgem ao negociar cestas de pares de moedas. Parte III

Teste de padrões que surgem ao negociar cestas de pares de moedas. Parte III

MetaTrader 5Negociação | 22 março 2018, 08:52
1 834 0
Andrei Novichkov
Andrei Novichkov

Introdução

Estamos nos aproximando da parte final dos padrões de teste que surgem quando negociamos cestas de pares de moedas. Como você pode lembrar, no nosso artigo anterior, nós descrevemos o padrão que se forma quando o gráfico do indicador combinado cruza a média móvel. Nós também consideramos a possibilidade de usá-lo como um filtro para o padrão rompimento da linha de sobrecompra/sobrevenda

Já avaliamos o desenvolvimento dos padrões que ocorrem nos gráficos com indicador-oscilador combinados. Este tópico pode ser considerado completo.

Vamos testar o último tipo de padrões. No artigo principal sobre negociação de pares de moedas, ele é descrito sob os números 4 e 5. Deixe-me relembrar brevemente onde você pode encontrar tais padrões.

Cada par de moedas pertence ao seu cesto. Por exemplo, o EURUSD representa duas cestas de moedas — o EUR e USD. O comportamento deste par pode ser analisado usando dois indicadores combinados — um para cada cesta. Nós analisamos a diferença entre as leituras desses indicadores para detectar o enfraquecimento ou fortalecimento dos pares em relação um ao outro. Assim, nós somos capazes de tirar conclusões sobre a direção da tendência.

O gráfico de indicadores combinados é baseado no princípio descrito, e procuramos os padrões 4 e 5 nele. Nós já conhecemos sua aparência geral: um deles é baseado no rompimento das linhas de sobrecompra/sobrevenda (nós vamos testá-lo neste artigo), o segundo padrão está na interseção do indicador combinado e a média móvel.

Vamos recordar as vantagens deste tipo de padrão:

  1. A análise torna-se mais precisa, porque ela leva em conta o comportamento de ambas as moedas do par, ao invés de uma (como nos artigos anteriores). aqui e aqui).
  2. A entrada no mercado de acordo com esses padrões é realizada apenas em um par e não na cesta inteira. Isso, por sua vez, nos dá outras vantagens:
    • um rebaixamento bem menor;
    • maior conforto psicológico para um trader e conveniência na gestão de posições do dia-a-dia.

Padrão de pesquisa

Os padrões de busca permanecem os mesmos, embora nós vamos procurar em um novo gráfico de indicadores combinados. Primeiro, vamos dar uma olhada no padrão de um nível de sobrecompra/sobrevenda que foi rompido por um gráfico do indicador combinado. Vamos supor que nós já sabemos as posições dos níveis. O padrão é bem conhecido na análise técnica e é descrito aqui. Nós vamos identificá-lo no fechamento da vela. Ele deve parecer notável:

Padrão de destino
Sem padrão




Ferramentas para iniciar a pesquisa

Como antes, nós usamos o indicador "United WPR" e as ferramentas baseadas nele. Os principais códigos dos indicadores já foram mostrados antes. No artigo atual, eles estão anexados como test.zip. Primeiro, vamos definir o número possível de negociações.

Possível número de negociações

Nós já determinamos o possível número de negociações mais de uma vez. Nós fazemos isso para comparar os resultados e avaliar a posição dos níveis de sobrecompra e sobrevenda. Como você deve se lembrar, a localização desses níveis no indicador WPR pai é a seguinte:

  • Nível de sobrecompra - 20%
  • Nível de sobrevenda - 80%

Mas o "WPR Combinado" muda de -100% para +100%, portanto os níveis mudam para +60% e -60%, respectivamente. Se o número de seus rompimentos for comparável com os resultados já obtidos, então assumiremos que os níveis mantêm sua posição.

Nós conduziremos nossa pesquisa nos tempos gráficos H1, H4 e D1 na seguinte ordem.

  1. Coloque o indicador testDistance.mq5 no gráfico. Ele tem dois outros indicadores disponíveis — testWPRjpy.mq5 e testWPeur.mq5.
  2. Primeiro, altere o código dos dois últimos indicadores: cada um deles deve funcionar com uma moeda do par, onde o indicador testDistance.mq5 é colocado. Por exemplo, o indicador testWPRjpy.mq5 contém pares de moedas para a cesta JPY, enquanto o testWPReur.mq5 — para a moeda EUR. Portanto, o testDistance.mq5 é colocado no EURJPY.
  3. Coloque o indicador testIndexZig-Zag1.mq5 acima do gráfico do indicador testDistance.mq5 (já descrevemos o antigo em um dos nossos artigos anteriores). Ele divide o intervalo de valores do testWPReur.mq5 (de 100% a -100%) por intervalos de 0 a 99 e calcula o número de rompimentos que ocorrem em cada intervalo. O valor obtido é assumido como o resultado de trabalho do indicador testIndexZig-Zag1.mq5 (vamos chamá-lo simplesmente de "resultado" abaixo) e salvo em um arquivo. Gerar esse arquivo é o principal objetivo do estágio atual. Abaixo está o fragmento do arquivo fornecido na forma de uma tabela para maior conveniência:
    Número do intervalo Intervalo do indicador Valor mínimo do indicador
    Valor máximo do indicador 
    Número de rompimentos
    ... ... ... ... ...
    47 -4 -6 -4 3
    48 -2 -4 -2 5
    49 0 -2 0 5
    50 2 0 2 7
    ... ... ... ... ...
  4. Vamos analisar os arquivos resultantes.

Nós podemos trabalhar com todos os pares analisados ​​alterando de forma semelhante os indicadores testWPRjpy.mq5 e testWPeur.mq5 para cada um deles. Nós usaremos os pares EURJPY e o EURUSD como exemplo.

Vamos comparar com os rompimentos do nível de sobrecompra/sobrevenda para esses dois pares e para suas moedas (EUR, USD e JPY) em três períodos de tempo — H1, H4 e D1.

Provavelmente, haverá significativamente menos padrões detectados do que nos casos considerados anteriormente. O motivo é simples: para que o gráfico desse indicador combinado rompa o nível de sobrecompra/sobrevenda, dois eventos devem acontecer simultaneamente:

  1. a moeda base está sobrevenda;
  2. a moeda de cotação está sobrecomprada,

ou vice-versa. Em outras palavras, é necessário que uma moeda seja tão fraca quanto possível, e a outra seja tão forte quanto possível ao mesmo tempo. Esta não é uma situação muito frequente, por isso o número comparativo de rompimentos será pequeno.

A coincidência dos dois eventos descritos acima também pode ser diferente da natureza econômica, por exemplo, uma liberação simultânea de notícias "dirigidas de forma oposta". Nesses casos, os conceitos de "sobrecomprado" e "sobrevendido" não são totalmente corretos, mas vamos nos ater a eles para não complicar o assunto.

Os resultados completos da operação testIndexZig-Zag1.mq5 (arquivos gerados) estão no arquivo Files.zip anexado. O teste foi realizado em todo o histórico disponível. 

Vamos resumir os resultados mais significativos na tabela:

Símbolo

Tempo gráfico
D1 H4 H1
EURJPY 2 / 3 19 / 19 39 / 46
EURUSD 3 / 1 17 / 17 31 / 50
EUR 5 / 1 15 / 16 67 / 73
JPY 5 / 5 20 / 17 79 / 62
USD 2 / 9 13 / 9 80 / 69

Vamos esclarecer o conteúdo:

  • As duas primeiras linhas são os resultados da operação do testIndexZig-Zag1.mq5 em dois pares de moedas selecionados.
  • As últimas três linhas são os resultados da operação do indicador testIndexZig-Zag1.mq5 em três cestas de pares de moedas separadas. Cada uma das cestas é composta ou de uma moeda base ou a moeda de cotação dos pares das duas primeiras linhas.
  • Os dados numéricos nas três colunas à direita são os dados sobre o número de níveis de sobrevenda (-60%)/sobrecomprado (60%) encontrados nos arquivos de Files.zip anexado. Por exemplo, 80/69 significa que 80 rompimentos de nível -60% e 69 rompimentos de nível 60% foram detectados.


Nossa tarefa é comparar os dados das duas primeiras linhas com os três últimos. A previsão inicial para reduzir o número de avanços fornecidos no início da seção foi justificada no tempo gráfico H1 e "falho" em H4 e D1. Nós podemos supor que os tempos gráficos H4 e D1 não têm avanços suficientes para as conclusões confirmadas estatisticamente, ou talvez precisemos mudar os níveis de sobrecompra/sobrevenda. Mas nós não faremos isso ainda. A análise foi realizada em apenas dois pares, o que é insuficiente para as conclusões justificadas. Portanto, assim que as estatísticas forem acumuladas, pode ser necessário ajustar a localização dos níveis de sobrecompra/sobrevenda.

No entanto, nós podemos tirar uma conclusão razoável: como antes, o número de entradas no mercado em D1 é insignificante.

Começando o teste

Nós já testamos um padrão semelhante. Portanto, vamos usar o EA testEAbasket2.mq5 pronto para implementar as mudanças mínimas nele.

  • O EA chama o indicador testDistance.mq5.
  • O EA é autorizado a entrar no mercado em cada detecção de padrão (em cada avanço de nível de sobrecompra/sobrevenda) apesar das ordens em aberto.

Vamos mudar um pouco a forma do padrão para aumentar o número de negociações. Reflita essas alterações nos parâmetros do EA.

  • SELLPROFIT. Quando o WPR combinado atingir esse valor, feche todas as posições para a cesta de venda. O padrão é 0%.
  • SELL1LIMIT. Este é o valor mínimo do WPR combinado para o ponto 1 (veja a imagem acima) para começar a identificar o padrão de venda da cesto. O padrão é 65%.
  • SELL2FROM. Valor máximo do WPR combinado para o ponto 2 para identificar o padrão de venda da cesta. Por padrão, 60% é um nível de sobrecompra.
  • SELL2TO. Valor mínimo do WPR combinado para o ponto 2 para a identificação final do padrão de venda da cesta. O padrão é 40%.
  • BUYPROFIT. Quando o WPR combinado atingir esse valor, feche todas as posições para a cesta de compra. O padrão é 0%.
  • BUY1LIMIT. Este é o valor máximo do WPR combinado para o ponto 1 para identificar o padrão de compra da cesta. O padrão é -65%.
  • BUY2FROM. Valor mínimo do WPR combinado para o ponto 2 para identificar o padrão de compra da cesta. Por padrão, 60% é um nível de sobrevenda.
  • BUY2TO. Valor máximo do WPR combinado para o ponto 2 para a identificação final do padrão de compra da cesta. O padrão é -40%.

Além disso, o indicador principal testDistance.mq5 aplica os indicadores testWPRХХХ.mq5 fornecendo os valores do WPR combinado de uma determinada cesta. Altere o último método de cálculo do indicador de média aritmética para geométrica. Diferentes métodos de cálculo dos valores dos indicadores foram fornecidos aqui com uma explicação detalhada. Aqui nós mostraremos apenas o fragmento de código do indicador de teste responsável pelo cálculo principal:

double m_dParam = 0.143; // 1/LG

double GetValue(int shift) 
  {
   double dBuf[1];
   double res=0.0;
   
         res = 1;
         for (int i = 0; i < LG; i++) {
            CopyBuffer(h[i],0,shift,1,dBuf);
            if (bDirect[i]) res *= dBuf[0];
            else            res *= dBuf[0] + 100;            
         }  
         res = -MathPow (MathAbs(res), m_dParam);  
   return (NormalizeDouble((res + 50) * 2, _Digits) );
  }

O conjunto completo de indicadores aplicados e o EA é fornecido no arquivo anexado test2.zip.

Vamos começar o nosso trabalho com o EURUSD. O resultado do último ano:

Testes adicionais no AUDUSD e USDJPY não produziram negócios. Aparentemente, a sobrecompra simultânea em uma moeda da cesta e a sobrevenda de outra são bastante raras. Vamos aumentar o número de rompimentos alterando os parâmetros do padrão e continuar o teste. A lista atualizada de entradas é mostrada abaixo.

  • SELLPROFIT. Sem alterações.
  • SELL1LIMIT = 50%.
  • SELL2FROM = 40%
  • SELL2TO     = 20%.
  • BUYPROFIT. Sem alterações.
  • BUY1LIMIT  = -50%
  • BUY2FROM  = -40%
  • BUY2TO      = -20%.

Os relatórios de teste do EA nos principais pares de moedas são exibidos no arquivo result.zip em anexo. O lucro ou perda obtido é exibido na tabela:

  AUDUSD EURUSD GBPUSD NZDUSD USDCAD USDCHF USDJPY
H1 -27.63 48.28 49.34 -20.02 -20.04 29.82 -19.99
H4 -35.10 14.44 1.60 -49.18 -38.75 -15 2.46

O tempo gráfico D1 mostra quase nenhuma operação, portanto, não está incluído nos relatórios. Em outros tempos gráficos, as operações também são escassas. Os resultados aceitáveis ​​são detectados apenas em H1. Ele exibe lucro em três pares (EURUSD, GBPUSD e USDCHF). Nos outros pares principais há uma perda, embora não seja tão significativa e não possa ser assumido uma falha do algoritmo. Não nos esqueçamos de que nós testamos a versão mais simples do EA, sem filtragem, com uma única regra para entrada no mercado e uma única para saída. Claro, isso é insuficiente para a negociação em conta real. Nós podemos tentar melhorar o EA e torná-lo mais eficiente. Vamos analisar os resultados obtidos para descobrir qual deve ser nosso próximo passo ao lidar com o algoritmo.

Analisando resultados de testes

A primeira coisa que devemos parar é a diferença entre o número de negociações em H1 e H4. É perfeitamente compreensível que o H4 tenha menos negociações, pois tem quatro vezes menos velas do que o H1 para o mesmo intervalo. Pode parecer que o número de negócios também deve ser quatro vezes menor. Em nossa pesquisa, essa regra é de alguma forma respeitada: em todos os pares analisados, há cinco vezes menos negociações no H4 do que no H1. Como há poucas negociações em H1 também, há uma pergunta: O que devemos fazer se quisermos negociar com H4 seguindo o método? Pode haver apenas uma solução - "expandir" ainda mais o padrão:

  • SELLPROFIT. Sem alterações.
  • SELL1LIMIT = 45%.
  • SELL2FROM = 40%
  • SELL2TO     = 10%.
  • BUYPROFIT. Sem alterações.
  • BUY1LIMIT  = -45%
  • BUY2FROM  = -40%
  • BUY2TO      = -10%.

Isso pode aumentar um pouco o número de negociações, mas como isso pode afetar o lucro e o rebaixamento? Vamos realizar um teste adicional em dois pares - GBPUSD (mostrou um bom lucro em H1) e AUDUSD (mostrou uma perda).

O resultado é obtido e armazenado no arquivo result-1.zip. De fato, o padrão "expansão" aumentou o número de negociações. Notavelmente, a rentabilidade/prejuízo acabou por ser "herdada" de H1 - GBPUSD obtendo lucro, enquanto o AUDUSD sofreu uma perda. Mas é verdade que o padrão foi "expandido" e começou a se identificar com mais frequência? Inicialmente, o padrão aparece no rompimento da linha de sobrevenda/sobrecompra. Após as duas "expansões", é bastante difícil falar sobre um rompimento e a nova localização das linhas. Talvez, os traders não devam procurar por padrões em tempos gráficos maiores que H1 para estar no lado seguro.

Vamos também dar uma olhada nos rebaixamento detectados durante o teste. Sua presença pode ser vista na imagem acima, mostrando o teste do EA no EURUSD. Além dos rebaixamentos, nós também podemos ver que as ordens entram em um lucro sólido apenas para retornar para posições muito mais modestas depois. Nós já vimos isso quando testamos um padrão similar aqui. Quais são as possíveis razões?

  1. Desvantagens das regras de saída do mercado. Como você deve se lembrar, uma saída do mercado é realizada quando o WPR Combinado rompe seu nível zero. Em outras palavras, ele entra em equilíbrio entre as moedas de base e de cotação. Aparentemente, isso não é suficiente, e nós precisamos de outras maneiras de definir o tempo de saída. Mas neste caso, nós não aplicaremos nenhum meio adicional para excluir uma influência externa.
  2. Desvantagens da identificação do padrão. Nós expandimos as entradas em H1 e H4. Ao "expandir" o padrão, nós alteramos os níveis de sobrevenda/sobrecompra para 45-40%. Portanto, quando o sistema encontrar automaticamente o padrão, nenhuma ruptura real da linha de sobrevenda/sobrecompra poderá acontecer ainda. Por exemplo, a linha pode ser quebrada apenas por uma moeda, ou ambas as moedas podem oscilar em torno dos níveis de sobrevenda/sobrecompra sem realmente cruzá-las. Em tais casos, a tendência atual provavelmente continua e nenhuma reversão ocorre. A probabilidade de tal curso de eventos aumenta quanto mais "expansões" de padrões são realizadas. Quanto mais amplas as entradas do padrão, menos significativo ele se torna. Os eventos descritos podem causar um rebaixamento.

Agora, que os testes estão completos, é hora de tirar conclusões de todo o nosso trabalho.

Conclusão

  • O padrão não é identificado no tempo gráfico D1 e raramente aparece no H4. Eu não recomendo procurar por tempos gráficos maiores que H1.
  • Nós podemos "expandir" o padrão diminuindo as demandas por sua forma e qualidade para aumentar o número de negócios possíveis. Mas se nós exagerarmos, o padrão perde seu poder e não reflete os avanços reais no nível de sobrecompra/sobrevenda. Portanto, expanda o padrão com muito cuidado.
  • A verificação da rentabilidade do padrão não gerou surpresas. No entanto, existem alguns recursos promissores. Nenhuma perda séria foi detectada nos pares, enquanto alguns deles ainda apresentaram lucro, enquanto em nossos testes anteriores, o período H1 estava completamente no vermelho. O padrão tem claramente um potencial para gerar um lucro constante aplicando meios técnicos padrão - stop móvel etc.
  • O padrão descrito aparece com pouca frequência. Deve ser considerado como um sinal adicional que reforça outros padrões, e não a principal ferramenta para tomar decisões de entrada no mercado. Nós vamos tentar descobrir isso mais tarde.

Programas usados ​​no artigo

 # Nome
Tipo
 Descrição
1 test.zip Arquivo
Ferramentas para determinar um possível número de negociações.
2
Files.zip Arquivo Resultados da determinação de várias entradas em potencial no mercado.
3 test2.zip Arquivo Ferramentas de teste do EA.
4 result.zip Arquivo Relatórios em HTML do teste de padrão.
5
result-1.zip Arquivo
Relatórios em HTML dos testes adicionais em H4.

Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/4197

Arquivos anexados |
test.zip (8.36 KB)
test2.zip (16.62 KB)
result.zip (832.8 KB)
result-1.ZIP (127.29 KB)
Files.zip (11.54 KB)
ZUP - ZigZag universal com padrões Pesavento. Pesquisa de padrões ZUP - ZigZag universal com padrões Pesavento. Pesquisa de padrões
A plataforma-indicador do ZUP permite pesquisar padrões populares com parâmetros já definidos. Embora eles estejam definidos, você também pode ajustá-los de acordo com suas necessidades. Há também a possibilidade de criar novos padrões usando a interface gráfica do ZUP e salvar seus parâmetros num arquivo. Depois disso, você pode verificar rapidamente se há novos padrões nos gráficos.
LifeHack para traders: "amassando" ForEach com os define (#define) LifeHack para traders: "amassando" ForEach com os define (#define)
Passo intermediário para aqueles que ainda escrevem em MQL4, mas não conseguem migrar para MQL5. Continuamos a procurar oportunidades para escrever código em estilo MQL4. Desta vez, examinaremos a substituição de macros do pré-processador - #define.
Criando um feed de notícias personalizado para o MetaTrader 5 Criando um feed de notícias personalizado para o MetaTrader 5
O artigo examina a possibilidade de criar um feed de notícias flexível, que oferece muitas opções para escolher o tipo de notícias e sua fonte. Além disso, ele mostra como você pode integrar uma API da Web ao terminal MetaTrader 5.
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.