icustom ZigZag - page 4

 

Bonjour à tous,

J'ai cherché une réponse pour savoir comment obtenir les valeurs hautes et basses de l'indicateur ZigZag. Comme je n'ai pas trouvé de solution, je l'ai programmé moi-même, et je le partage pour que d'autres personnes qui rencontrent le même problème aient déjà une solution.

Le premier problème est que l'indicateur ZigZag redessine, donc, pour obtenir le dernier haut ou bas, il faut un peu d'astuce.

Pour obtenir d'autres valeurs, nous devons ajouter ce code à votre EA.

Veuillez noter que le cycle commence avec i=2, 10000 est le nombre de hauts ou de bas dont vous avez besoin, 10.000 est juste un exemple.

Les valeurs seront sauvegardées sur Array temp dans lequel

La position 0 sauvegarde le dernier haut ou bas dessiné dans le graphique, la position 1 sauvegarde le haut ou bas précédent et ainsi de suite...

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

{

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

if(zo!=0) // Tant que Zigzag n'a pas atteint un sommet plus élevé, ou que les conditions de profondeur, de déviation, etc. ne sont pas encore remplies, l'indicateur ZigZag est égal à zéro, nous devons donc filtrer ces valeurs vides.

{

temp[k]=zo ; // les hauts et les bas sont enregistrés dans le tableau temp[]

k++ ;

}

Maintenant, pour obtenir la dernière valeur de la vague, il suffit d'utiliser le prix actuel, en le comparant à la valeur sauvegardée en position 0,

si (Ask>temp[0]) signifie que la dernière valeur était basse, donc pour obtenir la distance, il suffit de faire last_wave=Ask-temp[0].

sinon, cela signifie que la dernière valeur était une valeur haute pour obtenir la distance, faites last_wave=temp[0]-Ask

si vous n'avez pas besoin de savoir si c'est un bas ou un haut, et que vous voulez juste la distance, alors vous faites last_wave= MathAbs(Ask-temp[0]) (la distance est toujours positive, n'est-ce pas ? ;) )

et c'est à peu près tout, j'espère que cela vous a aidé.

bonne chance dans votre programmation !

 
Sigur:

Bonjour à tous,

J'ai cherché une réponse pour savoir comment obtenir les valeurs hautes et basses de l'indicateur ZigZag. Comme je n'ai pas trouvé de solution, je l'ai programmé moi-même, et je le partage pour que d'autres personnes qui rencontrent le même problème aient déjà une solution.

Le premier problème est que l'indicateur ZigZag redessine, donc, obtenir le dernier haut ou bas, nécessite un peu d'astuce.

Pour obtenir d'autres valeurs, nous devons ajouter ce code à votre EA.

Veuillez noter que le cycle commence avec i=2, 10000 est le nombre de hauts ou de bas dont vous avez besoin, 10.000 est juste un exemple.

Les valeurs seront sauvegardées sur Array temp dans lequel

La position 0 sauvegarde le dernier haut ou bas dessiné dans le graphique, la position 1 sauvegarde le haut ou bas précédent et ainsi de suite....

<CODE SUPPRIMÉ>

Veuillez lire d'autres messages avant de poster. .

Merci d'éditer votre message... merci d'utiliser le bouton SRC pour poster le code :Comment utiliser le bouton SRC.

 
RaptorUK:

S'il vous plaît lire d'autres messages avant de poster . .

S'il vous plaît modifier votre message ... s'il vous plaît utiliser le bouton SRC pour afficher le code :Comment utiliser le bouton SRC.



Cher Raptor,

J'ai lu les autres messages, bien qu'ils fournissent une solution, c'était juste la meilleure pour moi car nous créons des objets et les supprimons où à mon avis et a le code partagé montre, il n'y a pas besoin.

Mais si vous ne trouvez pas mon post utile, vous pouvez toujours le supprimer, vous êtes un modérateur n'est-ce pas ? ;)

 
Sigur:


Cher Raptor,

J'ai lu les autres messages, bien qu'ils aient fourni une solution, c'était juste la meilleure pour moi car nous créons des objets et les supprimons où à mon avis et a le code partagé montre, il n'y a pas besoin.

Vous avez lu d'autres messages mais vous avez quand même posté du code en texte brut, pourquoi ? Avez-vous suivi le lien que j'ai posté ?Comment utiliser le bouton SRC. Comprenez-vous pourquoi je vous ai demandé de modifier votre message ?
 
Sigur:


Cher Raptor,

J'ai lu les autres posts, bien qu'ils aient fourni une solution, c'était juste la meilleure pour moi car nous créons des objets et les supprimons où à mon avis et a le code partagé montre, il n'y a pas besoin.

Mais si vous ne trouvez pas mon post utile, vous pouvez toujours le supprimer, vous êtes un modérateur n'est-ce pas ? ;)


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

même que ZigZag

premier tampon normal ZigZag

Avec les deux derniers tampons, vous avez les hauts et les bas.

 
Merci Raptor, ce post m'a manqué en effet, il rend même les choses plus faciles !
 
Sigur:
Merci Raptor, j'ai manqué ce post en effet, ça rend même les choses plus faciles !
Et pourtant, tu n'as toujours pas modifié ton message...
 
Bonjour, j'essaie d'utiliser l'indicateur zig zag comme vous l'avez fait. Est-ce que je dois définir cet indicateur avant de l'utiliser ? Il est déjà dans mql4 comme le rsi et autres ?
 
qjol:

Bonjour gjol,


S'il vous plaît, conseillez-moi comment obtenir la valeur stochastique à partir du prix zigzag 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:

Et si je veux connaître les trois dernières valeurs ?

Alors lisez la suite pour les deux valeurs suivantes.