ZigZag personalizzato - pagina 4

 

Ciao a tutti,

Ho cercato anche io una risposta su come ottenere quei valori alti e bassi dall'indicatore ZigZag. Siccome non ho trovato una soluzione, l'ho programmata io stesso, e la sto condividendo così altre persone che trovano lo stesso problema hanno già una soluzione.

Il primo problema è che l'indicatore ZigZag viene ridisegnato, quindi, per ottenere l'ultimo massimo o minimo, è necessario un piccolo trucco.

Per ottenere altri valori dovremmo aggiungere questo codice al tuo EA.

Notate che il ciclo inizia con i=2, 10000 è il numero di alti o bassi di cui avete bisogno, 10.000 è solo un esempio.

I valori saranno salvati su Array temp in cui

La posizione 0 salva l'ultimo massimo o minimo disegnato nel grafico, la posizione 1 salva il massimo o minimo precedente e così via...

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

{

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

if(zo!=0) // se Zigzag non ottiene un massimo superiore, o le condizioni di deapth, deviation, etc non sono ancora soddisfatte, l'indicatore ZigZag è uguale a zero, quindi dobbiamo filtrare questi valori vuoti.

{

temp[k]=zo; // i massimi e i minimi sono salvati nell'array temp[]

k++;

}

Ora, per ottenere il valore dell'ultima onda, basta usare il prezzo corrente, confrontandolo con il valore salvato nella posizione 0,

se (Ask>temp[0]) significa che l'ultimo valore era basso, quindi per ottenere la distanza basta fare last_wave=Ask-temp[0]

altrimenti significa che l'ultimo valore era un alto per ottenere la distanza fare last_wave= temp[0]-Ask

se non avete bisogno di sapere se è un minimo o un massimo, e volete solo la distanza, allora fate last_wave= MathAbs(Ask-temp[0]) (la distanza è sempre positiva, giusto? ;) )

e questo è tutto, spero sia stato d'aiuto.

buona fortuna nella tua programmazione!

 
Sigur:

Ciao a tutti,

Ho cercato anche io una risposta su come ottenere quei valori alti e bassi dall'indicatore ZigZag. Siccome non ho trovato una soluzione, l'ho programmata io stesso, e la sto condividendo così altre persone che trovano lo stesso problema hanno già una soluzione.

Il primo problema è che l'indicatore ZigZag viene ridisegnato, quindi, per ottenere l'ultimo massimo o minimo, è necessario un piccolo trucco.

Per ottenere altri valori dovremmo aggiungere questo codice al tuo EA.

Notate che il ciclo inizia con i=2, 10000 è il numero di alti o bassi di cui avete bisogno, 10.000 è solo un esempio.

I valori saranno salvati su Array temp in cui

La posizione 0 salva l'ultimo massimo o minimo disegnato nel grafico, la posizione 1 salva il massimo o minimo precedente e così via...

<CODICE CANCELLATO>

Si pregadi leggere alcuni altri post prima di postare . . .

Si prega di modificare iltuo post .. . si prega di utilizzare il pulsanteSRC per postare il codice:Come utilizzare il pulsante SRC.

 
RaptorUK:

Si prega di leggere alcuni altri post prima di postare . . .

Si prega di modificare il tuo post . . . si prega di utilizzare il pulsanteSRC per pubblicare il codice:Come utilizzare il pulsante SRC.



Caro Raptor,

Ho letto gli altri post, anche se ha fornito una soluzione, era solo il migliore per me come stiamo creando oggetti e cancellandoli dove a mio parere e ha il codice condiviso mostra, non c'è bisogno.

Ma se non trovi il mio post utile, puoi sempre cancellarlo, sei un moderatore vero? ;)

 
Sigur:


Caro Raptor,

Ho letto gli altri post, anche se ha fornito una soluzione, era solo il migliore per me come stiamo creando oggetti e cancellandoli dove a mio parere e ha il codice condiviso mostra, non c'è bisogno.

Quindi hai letto gli altri post eppure hai ancora postato il codice in chiaro, perché ? Hai seguito il link che ho postato ?Come usare il pulsante SRC. capisci perché ti ho chiesto di modificare il tuo post ?
 
Sigur:


Caro Raptor,

Ho letto gli altri post, anche se ha fornito una soluzione, era solo il migliore per me come stiamo creando oggetti e cancellandoli dove a mio parere e ha il codice condiviso mostra, non c'è bisogno.

Ma se non trovi il mio post utile, puoi sempre cancellarlo, sei un moderatore vero? ;)


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

come ZigZag

primo buffer normale ZigZag

con gli ultimi due buffer hai gli alti e bassi

 
Grazie Raptor, mi mancava quel post in effetti, lo rende anche più facile!
 
Sigur:
Grazie Raptor, mi mancava quel post in effetti, lo rende anche più facile!
Eppure non hai ancora modificato il tuo post . . .
 
Ciao, sto cercando di usare l'indicatore zig zag come hai fatto tu. Devo definire questo indicatore in qualche modo prima di usarlo? E 'già in mql4 come rsi e altro?
 
qjol:

Ciao gjol,


mi consigli come ottenere il valore stocastico dal prezzo zigzagato 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 volessi conoscere gli ultimi tre valori?

Allora continua a leggere per i prossimi due valori.