Indicadores: Harmonic Pattern Finder V2 - página 4

 
davesarge1:

Olá, André,


Outra ideia para melhorar o indicador (assim como o 1.618 AB=CD e clicar no padrão para realçar) seria mostrar o preço próximo aos níveis do ponto D. Por exemplo, "D Projected Bullish Cypher 110.821" no gráfico anexo: "Agora mesmo tenho que mudar do cursor para a cruz no MT5 para ver qual é o preço projetado. Estou verificando padrões em todos os prazos e seria ótimo ver apenas o preço ao lado do ponto D projetado.

Obrigado,

David

Olá novamente,


Como mencionado anteriormente, há muitas adaptações possíveis. O que você está solicitando pode ser feito com uma pequena alteração no código. Portanto, abra o editor de código e navegue até a linha número 1634, altere a linha que diz

...      
ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k]);
...

para

...
ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k] + " " + NormalizeDouble(D, _Digits));
...

adicionando a parte amarela. Em seguida, pressione compilar e você terá o resultado desejado nos padrões projetados de 5 pontos. Faça o mesmo na linha 1523 para padrões de 4 pontos.


O princípio por trás disso é capturado no seguinte código de cores:

+ " " + NormalizeDouble(D, _Digits)

corresponde a "D Projected Bullish Cypher 110.821". Portanto, se, em vez disso, você tivesse "D Projected Bullish Cypher - 110.821" (adicionando um separador -), o código teria a seguinte aparência:

...
ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k] + " - " + NormalizeDouble(D, _Digits));
...
 
Andre Enger:

Olá novamente,


como mencionado anteriormente, há muitas adaptações pequenas possíveis. O que você está solicitando pode ser feito com uma pequena alteração no código. Portanto, abra o editor de código e navegue até a linha número 1634, altere a linha que diz

para

adicionando a parte amarela. Em seguida, pressione compilar e você terá o resultado desejado nos padrões projetados de 5 pontos. Faça o mesmo na linha 1523 para padrões de 4 pontos.


O princípio por trás disso é capturado no seguinte código de cores:

corresponde a "D Projected Bullish Cypher 110.821". Portanto, se em vez disso você tivesse "D Projected Bullish Cypher - 110.821" (adicionando um separador -), o código ficaria assim:

Muito obrigado! Recebo uma mensagem de aviso, "conversão implícita de 'número' para 'cadeia'", mas funciona bem.
 
davesarge1:
Muito obrigado! Recebo uma mensagem de aviso, "conversão implícita de 'número' para 'cadeia'", mas funciona bem.

Deveria funcionar bem, sim.

O aviso não é malicioso nesse caso e pode ser ignorado com segurança. Como alternativa, para ter uma compilação sem avisos, a conversão pode ser explicitada envolvendo o número (o preço projetado) em uma chamada DoubleToString() como tal:

... + " " + DoubleToString(NormalizeDouble(D, _Digits),_Digits));

ou, mais simplesmente, por uma conversão explícita

... + " " + (string)NormalizeDouble(D, _Digits);
 

Se, além disso, você quiser ver o preço final da PRZ nas projeções no texto, como "D Projected Bullish Cypher 110,821 a 110,678", isso pode ser feito com três modificações:

  1. As duas linhas que alteramos até agora devem ser
    ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k]+ " " + (string)NormalizeDouble(D, _Digits)+" to "+(string)NormalizeDouble(farD, _Digits));
  2. As declarações de método (linhas 1537 e 1471) devem receber o novo parâmetro
    datetime DDateTime,double D,double farD)
  3. As chamadas de método (linhas 953 e 955) devem enviar o parâmetro
    ...                     
       DisplayProjection(patternIndex,bullish,ADateTime,A,BDateTime,B,CDateTime,C,DDateTime,D,farD);
    else
       DisplayProjection(patternIndex,bullish,XDateTime,X,ADateTime,A,BDateTime,B,CDateTime,C,DDateTime,D,farD);
    ...

 
Andre Enger:

Se, além disso, você quiser ver o preço final da PRZ nas projeções no texto, como "D Projected Bullish Cypher 110,821 a 110,678", isso pode ser feito com três modificações:

  1. As duas linhas que alteramos até agora devem ser
  2. As declarações de método (linhas 1537 e 1471) devem receber o novo parâmetro
  3. As chamadas de método (linhas 953 e 955) devem enviar o parâmetro

Isso me permitiria ver o ponto de parada da PRZ antes que o ponto D seja atingido? A propósito, como o ponto de parada da PRZ é calculado? É uma determinada porcentagem de pontos do ponto D ou o último nível na PRZ?
 
davesarge1:
Isso me permitiria ver o stop da PRZ antes que o ponto D fosse atingido? A propósito, como o stop da PRZ é calculado? É uma certa porcentagem de pontos do ponto D ou o último nível na PRZ?

Sim, isso permitiria ver o preço do stop PRZ no rótulo de texto da projeção.

Ele é calculado usando o método de "interseção" descrito anteriormente, aplicando a folga especificada. Tomando o exemplo de alta de Gartley, novamente assumindo 0 intervalo de folga, e se você tivesse o XA (0,786 + folga escalar) cruzando - ou seja, coincidindo com - o índice de 1,272 BC, a PRZ terminaria ali e não se estenderia até 1,618 BC, PORQUE a regra XA e o índice não seriam satisfeitos ali. Isso significa que, se a parada for atingida, o padrão é inválido porque nem todas as proporções (mesmo com folga adicional) são satisfeitas QUANDO o preço eventualmente se inverte.

Portanto, de forma um pouco mais simplificada, é o último preço "comum" permitido por cada uma das proporções
 
Andre Enger:

Sim, isso permitiria ver o preço da parada PRZ no rótulo de texto da projeção.

Ele é calculado usando o método de "interseção" descrito anteriormente, aplicando a folga especificada. Tomando o exemplo de alta de Gartley novamente, assumindo 0 intervalo de folga, e você tivesse o (0,786 + folga escalar) XA cruzando - ou seja, coincidindo com - a relação de 1,272 BC, a PRZ terminaria ali e não se estenderia até 1,618 BC, PORQUE a regra XA e a relação não seriam satisfeitas ali. Isso significa que, se a parada for atingida, o padrão é inválido porque nem todas as proporções (mesmo com folga adicional) são satisfeitas QUANDO o preço eventualmente se inverte.

Portanto, de forma um pouco mais simplificada, é o último preço "comum" permitido por cada uma das proporções

Olá, André,

Ainda estou um pouco inseguro em relação a alguns dos padrões projetados e aos níveis de PRZ que ele está escolhendo. Por exemplo, anexei um gráfico com um morcego de baixa projetado, com XAD 79 e CD 218. No entanto, nessa ocasião, o XAD 88,6 e o CD 2,618 estavam muito próximos um do outro, apenas um pouco mais altos (em 111,3), mas o indicador não escolheu esse ponto como o ponto D projetado.

Obrigado,

David

Arquivos anexados:
 
davesarge1:

Olá, André,

Ainda estou um pouco inseguro em relação a alguns dos padrões projetados e aos níveis PRZ que ele está escolhendo. Por exemplo, anexei um gráfico com um morcego de baixa projetado, com XAD 79 e CD 218. No entanto, nessa ocasião, o XAD 88,6 e o CD 2,618 estavam muito próximos um do outro, apenas um pouco mais acima (em 111,3), mas o indicador não escolheu esse ponto como ponto D projetado.

Obrigado,

David

O padrão Bat tem XAD idealmente em 88,6 e CD em 161 a 261.

Mas o indicador aplica uma folga de 10 nas relações de número único e de 1 nas relações de intervalo. No entanto, esses números podem ser alterados nas configurações como folga unária e folga de intervalo.

Portanto, ele procurará uma zona de 78,6 (88,6 - 10) a 98,6 (88,6 + 10) onde considere a relação XAD satisfeita. A projeção começará com o primeiro número possível, neste caso 79. Ela só escolheria um número maior se fosse forçada por alguma outra proporção, como a CD.

Por exemplo, se o CD fosse apenas 150 a esse preço específico, o início da projeção seria aumentado para CD 160 (161 - 1), o que poderia ter dado um XAD mais próximo do ideal, ou até mais alto. Se o preço precisasse ser aumentado acima do XAD 98,6 para ter um CD de 160, o indicador determinaria que o padrão não pode ser satisfeito e removeria a projeção.

Por outro lado, se a projeção for alcançada, ele mostrará a linha final da PRZ, seja no XAD 98,6 ou no CD 262 (261 + 1), o que ocorrer primeiro. Portanto, de certa forma, a partir da zona de proporção XAD, ele escolherá o último número possível, a menos que seja forçado pela outra proporção.

Dessa forma, sempre que o preço estiver na zona PRZ, o indicador não se importa com a localização das proporções ideais, tudo o que ele considera é que o preço está dentro de cada proporção mais/menos a folga.

 
Andre Enger:

O padrão de morcego tem XAD idealmente em 88,6 e CD em 161 a 261.

Mas o indicador aplica uma folga de 10 nas relações de número único e de 1 nas relações de intervalo. No entanto, esses números podem ser alterados nas configurações como folga unária e folga de intervalo.

Portanto, ele procurará uma zona de 78,6 (88,6 - 10) a 98,6 (88,6 + 10) onde considere a relação XAD satisfeita. A projeção começará com o primeiro número possível, neste caso 79. Ela só escolheria um número maior se fosse forçada por alguma outra proporção, como a CD.

Por exemplo, se o CD fosse apenas 150 a esse preço específico, o início da projeção seria aumentado para CD 160 (161 - 1), o que poderia ter dado um XAD mais próximo do ideal, ou até mais alto. Se o preço precisasse ser aumentado acima do XAD 98,6 para ter um CD de 160, o indicador determinaria que o padrão não pode ser satisfeito e removeria a projeção.

OK, estou entendendo. Portanto, o ponto de projeção D é realmente o primeiro preço em que ambas as proporções de perna estão dentro da faixa de números aceitáveis de acordo com a configuração de folga. Nesse caso, eu deveria estar tratando o ponto D como o início da PRZ e não necessariamente como um preço ideal ou ótimo.
Obrigado!
 
davesarge1:
OK, estou entendendo. Portanto, o ponto de projeção D é realmente o primeiro preço em que as duas proporções de perna estão dentro do intervalo de números aceitáveis de acordo com a configuração de folga. Nesse caso, eu deveria estar tratando o ponto D como o início da PRZ e não necessariamente como um preço ideal ou ótimo.
Obrigado!

Isso está correto se você considerar as proporções como "números ideais, mas que podem ter alguma folga". Por exemplo, na relação XAB de Gartley, não preciso que o ponto B esteja exatamente em 61,8 XA, mas deve estar "próximo o suficiente". Caso contrário, eu estaria sempre sendo marginalizado.

Em um sentido purista, o ponto projetado D é realmente um limite para a PRZ pura, um limite que pode ser permissivo ou restritivo para a PRZ de acordo com a folga que o purista permite e o alinhamento específico das proporções. As proporções exatas estão bem compactadas abaixo do ponto indicado (limite permissivo) ou uma proporção de perna já foi alcançada, mas o ponto projetado mostra onde essa proporção está "suficientemente próxima" da outra (limite restritivo).

Portanto, o ponto D só pode ser considerado como o início da PRZ para holistas e puristas com tolerância zero de folga. É onde todo o padrão está "suficientemente próximo" da especificação, mas não necessariamente em qualquer proporção exata.

O pior caso para o purista seria se a PRZ pura fosse limitada de forma restritiva pelo ponto D, e a parada subsequente da PRZ fosse onde a proporção já visitada deixasse de estar "suficientemente próxima" da outra proporção, que está ainda mais abaixo. Então, a PRZ mostrada pelo indicador estaria entre as duas proporções exatas, mas não teria nenhuma proporção em si. O holista diria que o padrão está lá, afinal ele está "próximo o suficiente" de todas as proporções, enquanto o purista diria que não, pois não há PRZ.