ZigZag Loi de Dow
Forums › ProRealTime forum Français › Support ProBuilder › ZigZag Loi de Dow
- This topic has 13 replies, 2 voices, and was last updated 2 years ago by EctorPolux.
-
-
05/18/2022 at 4:25 PM #193389
Bonjour Nicolas, JC et la communauté,
Je souhaiterais un indicateur, comme un zigzag, pour interpréter la loi de Dow de façon rapide.
Les haut et les bas étant validés après la close de la première bougie au-dessus ou dessous
du milieu du canal de dochian (X périodes).Les hauts sont appliqués sur le plus haut de la bougie la plus haute de la zone supérieur du canal.
Les bas sont appliqués sur le plus bas de la bougie la plus basse de la zone inférieur du canal.Une fois validé, une icône spawn sur ces hauts ou bas, une étoile ou un cercle vert pour les HH HL et rouge pour les LH LL.
Possibilité de masquer ou non les lignes zigzag.
Possibilité de faire apparaitre uniquement les icônes.À partir de ces données,
pourrait-on obtenir un autre indicateur sous le graphique avec des colonnes vertes quand nous sommes dans une période de HH-HL,
et des colonnes rouges pour les LH-LL? Pourquoi pas une colonne jaune pour un changement, si un HH ou LH est cassé dans la sens inverse de la loi de Dow (validation à la close de la bougie qui break).Merci encore pour votre travail, grâce à vos compétences je réduit le temps pour une prise de décision 🙂
05/18/2022 at 4:43 PM #193397Voir ces 2 indicateurs qui pourraient éventuellement convenir pour une base pour afficher tes icones de couleur:
https://www.prorealcode.com/topic/conversion-tradingview-to-prorealtime-higher-highs-and-lower-lows/
05/18/2022 at 4:48 PM #193399Oui ils sont déjà stock ces 2 là 🙂
Mais je souhaiterais un zigzag à partir du canal de Dochian pour calculer la loi de Dow 🙁
05/19/2022 at 8:46 AM #193423Ci-joint zigzag basé sur le donchian en l’état, j’y reviendrai plus tard pour supprimer les points à retracer suite à nouveau plus haut ou plus bas, à moins que ce ne soit pas nécessaire ?
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748defparam drawonlastbaronly=true// ---period = 40// --------------du = DonchianChannelUp[period]dd = DonchianChannelDown[period]mid = DonchianChannelCenter[period]if high > du thenihigh = highihighbar = barindexendifif low < dd thenilow = lowilowbar = barindexendifif close crosses over mid then$zz[zz] = ilow$zzbar[zz] = ilowbar$zzdir[zz] = -1zz=zz+1endifif close crosses under mid then//if zz>=1 then//if $zzdir[zz-1]=1 and ilow>$zz[zz-1] then//$zz[zz-1] = ihigh//$zzbar[zz-1] = ihighbar//imod=1//endif//endif//if not imod then$zz[zz] = ihigh$zzbar[zz] = ihighbar$zzdir[zz] = 1zz=zz+1//endif//imod=0endifif islastbarupdate thenfor i = zz-1 downto 0 dodrawsegment($zzbar[i],$zz[i],$zzbar[i+1],$zz[i+1])nextendifreturn //du,dd1 user thanked author for this post.
05/19/2022 at 11:23 AM #193442Merci Nicolas je vais tester!
05/19/2022 at 2:07 PM #193453On se rapproche de l’idée!
Quelles sont les conditions des doubles ou triples segments? Si le dernier plus haut ou plus bas n’a pas était break?
Comment puis-je modifier la taille et couleur des segments svp?
Merci encore 🙂
05/20/2022 at 1:20 AM #193473J’ai trouvé pour la couleur, je fais des tests pour les icones…
Work in progress…
05/20/2022 at 1:36 AM #193476Ok pour les icones!
Par contre, pour un changement dans la loi de Dow, je ne vois pas du tout comment procéder pour obtenir différentes couleurs, comme sur les fichiers du premier message 🙁
05/20/2022 at 8:31 AM #19347905/20/2022 at 12:33 PM #193504Voici le code, merci Nicolas.
zigzag Loi de Dow12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849defparam drawonlastbaronly=true// ---period = 10// --------------du = DonchianChannelUp[period]dd = DonchianChannelDown[period]mid = DonchianChannelCenter[period]if high > du thenihigh = highihighbar = barindexendifif low < dd thenilow = lowilowbar = barindexendifif close crosses over mid then$zz[zz] = ilow$zzbar[zz] = ilowbar$zzdir[zz] = -1zz=zz+1endifif close crosses under mid then//if zz>=1 then//if $zzdir[zz-1]=1 and ilow>$zz[zz-1] then//$zz[zz-1] = ihigh//$zzbar[zz-1] = ihighbar//imod=1//endif//endif//if not imod then$zz[zz] = ihigh$zzbar[zz] = ihighbar$zzdir[zz] = 1zz=zz+1//endif//imod=0endifif islastbarupdate thenfor i = zz-1 downto 0 dodrawsegment($zzbar[i],$zz[i],$zzbar[i+1],$zz[i+1]) COLOURED(0,0,153)DRAWTEXT("■",$zzbar[i+1],$zz[i+1],Dialog,Bold,10) coloured(0,0,153)nextendifreturn //du,dd05/23/2022 at 12:00 PM #193707Voilà l’exemple avec les HH/HL (Higher High et Higher Low).
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152defparam drawonlastbaronly=true// ---period = 10// --------------du = DonchianChannelUp[period]dd = DonchianChannelDown[period]mid = DonchianChannelCenter[period]if high > du thenihigh = highihighbar = barindexendifif low < dd thenilow = lowilowbar = barindexendifif close crosses over mid then$zz[zz] = ilow$zzbar[zz] = ilowbar$zzdir[zz] = -1zz=zz+1endifif close crosses under mid then$zz[zz] = ihigh$zzbar[zz] = ihighbar$zzdir[zz] = 1zz=zz+1endifif islastbarupdate thenfor i = 0 to zz-1 dodrawsegment($zzbar[i],$zz[i],$zzbar[i+1],$zz[i+1]) //COLOURED(0,0,153)for j = i to zz-1 do//HLhl = $zzdir[j] = -1 and $zzdir[i] = -1 and $zz[j]>$zz[i]if hl thenDRAWTEXT("★",$zzbar[j],$zz[j],Dialog,Bold,10) coloured("blue")breakendif//HHhh = $zzdir[j] = 1 and $zzdir[i] = 1 and $zz[j]>$zz[i]if hh thenDRAWTEXT("★",$zzbar[j],$zz[j],Dialog,Bold,10) coloured("blue")breakendifnextnextendifreturn1 user thanked author for this post.
05/23/2022 at 10:33 PM #193739Merci Nicolas, j’ai pu tester aujourd’hui en live 🙂
Par contre, je n’arrive pas à rajouter le nombre de période et le drawsegment en variable , comment puis-je faire pour les reconnaitre en tant que tel?
05/24/2022 at 7:27 AM #193749Si tu ajoutes “period” dans une variable externe, alors il faut supprimer sa déclaration dans le code (soit supprimer la ligne, soit la commenter avec REM devant)
Pour afficher ou non les segments ? Dans ce cas créer un booléen et l’utiliser devant chaque instruction de DRAWSEGMENT comme ceci:
(le booléen s’appelle “ShowSegment”) = ligne 34 du code précédent
123if showsegment thendrawsegment($zzbar[i],$zz[i],$zzbar[i+1],$zz[i+1])endif05/24/2022 at 7:53 AM #193755Merci je vais l’ajouter !
-
AuthorPosts