Indicateurs en zigzag - page 15

 
DamonThailand:
Bonjour,

Il s'agit de mon premier message ici, car je n'ai pas pu trouver ce sujet lors d'une recherche rapide.

J'utilise l'indicateur ZigZag sur plusieurs horizons temporels. J'ai réglé les paramètres de façon à ce qu'il suive les hauts et les bas appropriés pour moi, mais je voudrais que les valeurs des hauts et des bas soient affichées en texte sur le graphique.

J'ai fait une capture d'écran de ce que je veux (après avoir ajouté manuellement du texte pour montrer ce que je cherche).

Est-il possible d'avoir le texte P1, P2, P3 et les valeurs EUR/USD hautes et basses correspondantes imprimées sur le graphique comme ceci ?

Je comprends que la valeur de P3 changera en temps réel au fur et à mesure que le prix continuera à monter ou descendre.

Je n'ai besoin que des 3 dernières valeurs, les plus anciennes ne sont pas importantes.

Merci pour tout conseil ou suggestion. Je ne suis pas un grand codeur, mais je peux peut-être faire en sorte que cela fonctionne si ce n'est pas un travail trop difficile !

Vous devez afficher le code que vous utilisez

 

J'utilise l'indicateur ZigZag standard. Je publie le code comme demandé, cependant :

//+------------------------------------------------------------------+

//| Zigzag.mq4 |

//| Copyright ฉ 2005-2007, MetaQuotes Software Corp. |

//| http://www.metaquotes.net/ |

//+------------------------------------------------------------------+

#property copyright "Copyright ฉ 2007, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Yellow

//---- indicator parameters

extern int ExtDepth=12;

extern int ExtDeviation=5;

extern int ExtBackstep=3;

//---- indicator buffers

double ZigzagBuffer[];

double HighMapBuffer[];

double LowMapBuffer[];

int level=3; // recounting's depth

bool downloadhistory=false;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

IndicatorBuffers(3);

//---- drawing settings

SetIndexStyle(0,DRAW_SECTION);

//---- indicator buffers mapping

SetIndexBuffer(0,ZigzagBuffer);

SetIndexBuffer(1,HighMapBuffer);

SetIndexBuffer(2,LowMapBuffer);

SetIndexEmptyValue(0,0.0);

//---- indicator short name

IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");

//---- initialization done

return(0);

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int start()

{

int i, counted_bars = IndicatorCounted();

int limit,counterZ,whatlookfor;

int shift,back,lasthighpos,lastlowpos;

double val,res;

double curlow,curhigh,lasthigh,lastlow;

if (counted_bars==0 && downloadhistory) // history was downloaded

{

ArrayInitialize(ZigzagBuffer,0.0);

ArrayInitialize(HighMapBuffer,0.0);

ArrayInitialize(LowMapBuffer,0.0);

}

if (counted_bars==0)

{

limit=Bars-ExtDepth;

downloadhistory=true;

}

if (counted_bars>0)

{

while (counterZ<level && i<100)

{

res=ZigzagBuffer;

if (res!=0) counterZ++;

i++;

}

i--;

limit=i;

if (LowMapBuffer!=0)

{

curlow=LowMapBuffer;

whatlookfor=1;

}

else

{

curhigh=HighMapBuffer;

whatlookfor=-1;

}

for (i=limit-1;i>=0;i--)

{

ZigzagBuffer=0.0;

LowMapBuffer=0.0;

HighMapBuffer=0.0;

}

}

for(shift=limit; shift>=0; shift--)

{

val=Low;

if(val==lastlow) val=0.0;

else

{

lastlow=val;

if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0;

else

{

for(back=1; back<=ExtBackstep; back++)

{

res=LowMapBuffer[shift+back];

if((res!=0)&&(res>val)) LowMapBuffer[shift+back]=0.0;

}

}

}

if (Low[shift]==val) LowMapBuffer[shift]=val; else LowMapBuffer[shift]=0.0;

//--- high

val=High;

if(val==lasthigh) val=0.0;

else

{

lasthigh=val;

if((val-High[shift])>(ExtDeviation*Point)) val=0.0;

else

{

for(back=1; back<=ExtBackstep; back++)

{

res=HighMapBuffer[shift+back];

if((res!=0)&&(res<val)) HighMapBuffer[shift+back]=0.0;

}

}

}

if (High[shift]==val) HighMapBuffer[shift]=val; else HighMapBuffer[shift]=0.0;

}

// final cutting

if (whatlookfor==0)

{

lastlow=0;

lasthigh=0;

}

else

{

lastlow=curlow;

lasthigh=curhigh;

}

for (shift=limit;shift>=0;shift--)

{

res=0.0;

switch(whatlookfor)

{

case 0: // look for peak or lawn

if (lastlow==0 && lasthigh==0)

{

if (HighMapBuffer[shift]!=0)

{

lasthigh=High[shift];

lasthighpos=shift;

whatlookfor=-1;

ZigzagBuffer[shift]=lasthigh;

res=1;

}

if (LowMapBuffer[shift]!=0)

{

lastlow=Low[shift];

lastlowpos=shift;

whatlookfor=1;

ZigzagBuffer[shift]=lastlow;

res=1;

}

}

break;

case 1: // look for peak

if (LowMapBuffer[shift]!=0.0 && LowMapBuffer[shift]<lastlow && HighMapBuffer[shift]==0.0)

{

ZigzagBuffer[lastlowpos]=0.0;

lastlowpos=shift;

lastlow=LowMapBuffer[shift];

ZigzagBuffer[shift]=lastlow;

res=1;

}

if (HighMapBuffer[shift]!=0.0 && LowMapBuffer[shift]==0.0)

{

lasthigh=HighMapBuffer[shift];

lasthighpos=shift;

ZigzagBuffer[shift]=lasthigh;

whatlookfor=-1;

res=1;

}

break;

case -1: // look for lawn

if (HighMapBuffer[shift]!=0.0 && HighMapBuffer[shift]>lasthigh && LowMapBuffer[shift]==0.0)

{

ZigzagBuffer[lasthighpos]=0.0;

lasthighpos=shift;

lasthigh=HighMapBuffer[shift];

ZigzagBuffer[shift]=lasthigh;

}

if (LowMapBuffer[shift]!=0.0 && HighMapBuffer[shift]==0.0)

{

lastlow=LowMapBuffer[shift];

lastlowpos=shift;

ZigzagBuffer[shift]=lastlow;

whatlookfor=1;

}

break;

default: return;

}

}

return(0);

}

//+------------------------------------------------------------------+

 

Fibo en zigzag ( pas d'alerte ou alerte ajustée à vrai ou faux)

newdigital:
Quelques autres indicateurs en zigzag https://www.mql5.com/en/forum/178335/page14

Un grand travail est actuellement en cours ici et j'apprécie beaucoup tous les gars qui ont contribué au forum d'une manière ou d'une autre. Je ne suis que depuis quelques jours et je suis heureux de ce que j'ai vu jusqu'à présent.

J'ai besoin d'aide,

1) existe-t-il un zigzag avec un indicateur de niveau de fibonacci (pas d'alerte ou une alerte peut être fausse ou vraie) ?

vrai) ?

2) Je cherche sérieusement un indicateur qui montre le point de retournement exact ou approximatif lorsque l'oscillateur stochastique est dans la région de surachat/survente. En d'autres termes, chaque fois que la stochastique d'un paramètre quelconque entre dans la région de surachat/survente en utilisant n'importe quel cadre temporel, quelque chose d'autre (un autre indicateur) indiquera alors le niveau auquel le marché/prix est le plus susceptible de s'inverser.

Je serai heureux de recevoir de l'aide.

 
knmoore:
Un grand travail a été fait ici et j'apprécie beaucoup tous les gars qui ont contribué au forum d'une manière ou d'une autre. Je ne suis que depuis quelques jours et je suis heureux de ce que j'ai vu jusqu'à présent.

Juste pour vous aider,

1) existe-t-il un indicateur de zigzag avec niveau de fibonacci (pas d'alerte ou alerte fausse ou vraie) ?

vrai) ?

2) Je cherche sérieusement un indicateur qui montre le point de retournement exact ou approximatif lorsque l'oscillateur stochastique est dans la région de surachat/survente. En d'autres termes, lorsque la stochastique de n'importe quel paramètre entre dans la région de surachat/survente en utilisant n'importe quel cadre temporel, quelque chose d'autre (un autre indicateur) indiquera alors le niveau auquel le marché/prix est le plus susceptible de s'inverser.

Je serai heureux de recevoir de l'aide.

Peut-être que l'un de ces fils de discussion pourrait vous intéresser

https://www.mql5.com/en/forum/173172

https://www.mql5.com/en/forum/173439

https://www.mql5.com/en/forum/173588

 
knmoore:
Un grand travail a été fait ici et j'apprécie beaucoup tous les gars qui ont contribué au forum d'une manière ou d'une autre. Je ne suis que depuis quelques jours et je suis content de ce que j'ai vu jusqu'à présent.

Juste pour vous aider,

1) existe-t-il un indicateur de zigzag avec niveau de fibonacci (pas d'alerte ou alerte fausse ou vraie) ?

vrai) ?

2) Je cherche sérieusement un indicateur qui montre le point de retournement exact ou approximatif lorsque l'oscillateur stochastique est dans la région de surachat/survente. En d'autres termes, chaque fois que la stochastique de n'importe quel paramètre entre dans la région de surachat/survente en utilisant n'importe quel cadre temporel, quelque chose d'autre (un autre indicateur) indiquera alors le niveau auquel le marché/prix est le plus susceptible de s'inverser.

Je serai heureux de recevoir de l'aide.

Il n'y en a qu'un que j'ai trouvé qui est toujours correct mais malheureusement lent.

Dossiers :
 
bryant:
Bonjour, j'ai vu un indicateur ici mais il n'est pas complet. J'en ai un complet mais je ne connais pas certains mots, quelqu'un pourrait-il me faire une faveur en le traduisant en anglais en entier ? Merci beaucoup !!!!!.

Bonjour

voir page 1 de ce sujet

 

Merci à tous d'avoir posté tous les indicateurs de zigzag, en résumant le tout, il semble qu'il y ait fondamentalement 3 types de zigzag autour

1. Indicateurs basés sur le zigzag original

2. Les indicateurs basés sur le zigzag Dinapoli, c'est-à-dire le zigzag haut/bas.

3. Les indicateurs zigzag, gann et swing sans décalage, une sorte de compromis entre les deux.

Tous les indicateurs basés sur le zigzag se repeignent et vous pouvez les repérer car ils contiennent tous la base de code originale, qui comprend tous les pointeurs de zigzag, le zigzag aux points de retournement.

Les indicateurs basés sur Dinapoli incluent généralement l'instruction 'Barn' comme un int externe. Ces indicateurs ne se repeignent pas et sont très fiables, le problème est qu'ils travaillent à partir de l'historique et sont très lents à former la jambe suivante.

Le Non lag gann et le swing semblent être un zigzag avec une variation du code de type Dinapoli inclus, ils ne se repeignent pas la plupart du temps mais le font occasionnellement.

Eh bien, pour moi, c'est toujours le retour à la planche à dessin, et je suis sûr qu'il y en aura d'autres.

 

ou le dire comme ceci

il existe trois types de zz :

1. basé sur le zz original

2. basé sur un zz non original

3. autre

en voici un autre :

 
fxbs:
ou dites-le comme ceci

Il existe trois types de zz :

1. basé sur le zz original

2. basé sur un zz non original

3. autre

en voici une autre :

C'est succinct

en voici un autre : un zz avec canal

 
moha00:
Bonjour, référez-vous à la page 1 de ce sujet

Merci ! je sais cela, mais celui ci n'était pas complet, une partie du code a en quelque sorte disparu ! ce que je veux c'est un intégré.

Raison: