icustom ZigZag - página 4

 

Olá a todos,

Tenho procurado uma resposta para saber como obter esses valores altos e baixos do indicador ZigZag. Como não encontrei uma solução, eu mesmo a programei, e estou compartilhando-a para que outras pessoas que encontrem o mesmo problema já tenham uma solução.

O primeiro problema é que o indicador ZigZag refile, portanto, para obter o último valor alto ou baixo, precisa de um pequeno truque.

Para obter outros valores, devemos adicionar este código à sua EA.

Observe que o ciclo começa com i=2, 10000 é o número de altos ou baixos que você precisa, 10.000 é apenas um exemplo.

Os valores serão salvos na temperatura do Array em que

A posição 0 salva a última alta ou baixa desenhada no gráfico, a posição 1 salva a alta ou baixa anterior e assim por diante...

for(int i=2;i<10000;i++)

{

zo=iCustom(Symbol(),PERIOD_M15, "ZigZag",0,i);

if(zo!=0) // enquanto ZigZag não recebe uma maior alta, ou decadência, desvio, etc condições ainda não estão satisfeitas, o indicador ZigZag é igual a zero, então precisamos filtrar estes valores vazios.

{

temp[k]=zo; // altos e baixos são salvos na matriz temp[]

k++;

}

Agora, para obter o valor da última Onda, basta usar o preço atual, você o compara com o valor economizado na posição 0,

se (Pergunte>temp[0]) significa que o último valor foi um valor baixo, então para conseguir distância basta fazer last_wave=Ask-temp[0]

caso contrário, significa que o último valor foi um alto para obter a distância do last_wave= temp[0]-Ask

se você não precisa saber se o tempo está baixo ou alto, e você só quer a distância, então você só faz Last_wave= MathAbs(Ask-temp[0]) (distância sempre positiva, certo? ;) )

e isso é tudo, espero que tenha ajudado.

Boa sorte em sua programação!

 
Sigur:

Olá a todos,

Tenho procurado uma resposta para saber como obter esses valores altos e baixos do indicador ZigZag. Como não encontrei uma solução, eu mesmo a programei, e estou compartilhando-a para que outras pessoas que encontrem o mesmo problema já tenham uma solução.

O primeiro problema é que o indicador ZigZag refile, portanto, para obter o último valor alto ou baixo, precisa de um pequeno truque.

Para obter outros valores, devemos adicionar este código à sua EA.

Observe que o ciclo começa com i=2, 10000 é o número de altos ou baixos que você precisa, 10.000 é apenas um exemplo.

Os valores serão salvos na temperatura do Array em que

A posição 0 salva a última alta ou baixa desenhada no gráfico, a posição 1 salva a alta ou baixa anterior e assim por diante...

<CÓDIGO APAGADO>

Favor ler alguns outros posts antes de postar . . .

Por favor, edite sua postagem . . . use o botão SRC para postar o código:Como usar o botão SRC.

 
RaptorUK:

Por favor, leia alguns outros posts antes de postar ... .

Por favor, edite sua postagem . . . use o botão SRC para postar o código:Como usar o botão SRC.



Caro(a) Raptor(a),

Eu li os outros posts, embora tenha fornecido uma solução, foi apenas o melhor para mim, pois estamos criando objetos e apagando-os onde, na minha opinião e tem o código compartilhado mostra, não há necessidade.

Mas se você não achar meu post útil, você sempre pode apagá-lo, você é um moderador, certo? ;)

 
Sigur:


Caro Raptor,

Eu li os outros posts, embora tenha fornecido uma solução, foi o melhor para mim, pois estamos criando objetos e apagando-os onde na minha opinião e tem o código compartilhado mostra, não há necessidade.

Então você leu outros posts, mas ainda postou código em texto simples, por quê? você seguiu o link que eu postei?Como usar o botão SRC. você entende porque eu lhe pedi para editar seu post?
 
Sigur:


Caro(a) Raptor(a),

Eu li os outros posts, embora tenha fornecido uma solução, foi o melhor para mim, pois estamos criando objetos e apagando-os onde na minha opinião e tem o código compartilhado mostra, não há necessidade.

Mas se você não achar meu post útil, você sempre pode apagá-lo, você é um moderador, certo? ;)


Ver https://www.mql5.com/en/code/10920

o mesmo que ZigZag

primeiro tampão ZigZag normal

com os dois últimos amortecedores você tem os altos e baixos

 
Obrigada Raptor, faltou mesmo aquele posto, isso facilita ainda mais!
 
Sigur:
Obrigada Raptor, faltou mesmo aquele posto, isso facilita ainda mais!
E mesmo assim, você ainda não editou seu post . . .
 
Olá, estou tentando usar o indicador zigue-zague como você fez. Tenho que definir este indicador de alguma forma antes de usá-lo? Já está tudo em mql4 como rsi e muito mais?
 
qjol:

Olá gjol,


por favor me aconselhe como obter valor estocástico do preço em ziguezague p0,p1,p2,p3,p4,p5 ?


int n, i, 
   double p0, p1, p2, p3, p4, p5;
   i=0;
      while(n<5)
      {
      if(p0>0) {p5=p4; p4=p3; p3=p2; p2=p1; p1=p0; }
      p0=iCustom(Symbol(),0,"zigzag",ExtDepth,ExtDeviation,ExtBackstep,0,i);
      if(p0>0) {n+=1; }
      i++;
      }
 
Abdelrahman Abdelgaied Mahmoud:

E se eu quiser saber os três últimos valores?

Em seguida, leia para os próximos dois valores.

Razão: