A chaque fois que le prix touche une des 2 bornes haute ou basse, et qu’elle rejoint le centre RET, un nouveau niveau se trace, etc…
Ok donc on a bien le même code que la dernière fois, on va juste changer les variables, ça m’évite de tout refaire.
ah non c’est pas pareil, c’est le même par contre de l’un de tes multiple sujets sur la même demande non ? Celui-ci ?? https://www.prorealcode.com/topic/breakout-donchian-avec-filtre/#post-93357
Je crois que cette version est identique, mais que le rendu esthétique ne te convenais pas ?
Oui c’est ça, mais tu avais du coup mis “iline” et c’était nickel.
La variable qui se nomme “iline” c’était avec la version RSI n’est ce pas ? Mais tu veux le même rendu avec le code du sujet dont je parle dans mon précédent post ? Pourquoi ne pas continuer dans ce même sujet dans ce cas ?
Car c’était une autre idée avec le centre RET. Oui avec le Canal RSI, ensuite j’ai essayé de faire seul pour le Canal de Donchian avec cette idée, dont le code est en début de sujet.
Tu peux supprimer tous mes sujets, sauf avec le Canal RSI où on peut continuer pour que cela soit plus clair.
La seule différence avec le code mentionné c’est le “filter” qui n’est plus une MM20 mais le centre du canal de donchian, soit :
donchianP = 20
hh=highest[donchianP](high)
ll=lowest[donchianP](low)
filter=(hh+ll)/2
if high crosses over filter then
hhstart=barindex
lllevel=0
endif
if low crosses under filter then
llstart=barindex
hhlevel=0
endif
if high crosses over hh[1] and barindex>hhstart and hhlevel=0 then
hhlevel=hh[1]
endif
if low crosses under ll[1] and barindex>llstart and lllevel=0 then
lllevel=ll[1]
endif
return hhlevel coloured(0,200,0) style(point,4),lllevel coloured(200,50,0) style(point,4),filter coloured(200,200,0),hh,ll
(non testé).
Merci Nicolas,
Mais ce n’est pas ça, car ce code utilise comme filtre le RET et en effet il n’y a pas de changement, à part mettre un RET au lieu d’une Ema ou sma. J’aimerais comme filtre les bornes hautes et basses…
Comme je le disais en début de sujet :
– Si le prix devient égal à la borne haute puis chute à une valeur égale ou inférieure au RET, un niveau se trace sur ce premier contact à la valeur du RET.
– Si le prix devient égal à la borne basse puis remonte à une valeur égale ou supérieure au RET, un niveau se trace sur ce premier contact à la valeur du RET.
A ceci j’avais modifié le code, mais mal, pour donner ce code qui ne me donnait que la moitié des prise en compte des filtres bornes haute et basse :
ONCE ILINE = UNDEFINED
HH = HIGHEST[20](HIGH)[0]
LL = LOWEST[20](LOW)[0]
RET = (HH+LL)/2
IF HIGH >= HH THEN
HHSTART = BARINDEX
LLLEVEL = 0
ENDIF
IF LOW <= LL THEN
LLSTART = BARINDEX
HHLEVEL = 0
ENDIF
IF HIGH > RET[0] AND BARINDEX > HHSTART AND HHLEVEL = 0 THEN
HHLEVEL = RET[0]
ENDIF
IF LOW < RET[0] AND BARINDEX < LLSTART AND LLLEVEL = 0 THEN
LLLEVEL = RET[0]
ENDIF
IF (HHLEVEL>0 AND HHLEVEL[1]=0) OR (LLLEVEL>0 AND LLLEVEL[1]=0) THEN
ILINE = MAX(HHLEVEL,LLLEVEL)
ENDIF
RETURN HH COLOURED (0,0,0) STYLE (LINE,3) , RET COLOURED (153,0,153) STYLE (LINE,3) , LL COLOURED (0,0,0) STYLE (LINE,3), ILINE COLOURED (255,0,0) STYLE (LINE,3)
Et avec cette version ?
ONCE ILINE = UNDEFINED
HH = HIGHEST[20](HIGH)
LL = LOWEST[20](LOW)
RET = (HH+LL)/2
if high crosses over hh[1] then
hhstart=barindex
hhlevel=0
endif
if low crosses under ll[1] then
llstart=barindex
lllevel=0
endif
if high crosses over ret and barindex>=llstart and lllevel=0 then
lllevel=ret[1]
hhlevel=0
endif
if low crosses under ret and barindex>=hhstart and hhlevel=0 then
hhlevel=ret[1]
lllevel=0
endif
if (hhlevel>0 and hhlevel[1]=0) or (lllevel>0 and lllevel[1]=0) then
iline=max(hhlevel,lllevel)
endif
RETURN iline COLOURED(255,0,0), hh COLOURED (0,0,0) STYLE (LINE,3) AS "HH", RET COLOURED (153,0,153) STYLE (LINE,3) AS "50%", ll COLOURED (0,0,0) STYLE (LINE,3) AS "LL"
Hé bien c’est parfait. C’était exactement ça.
Merci beaucoup, cette histoire de breakout se termine ici. 🙂
En regardant plus précisément, ce n’est pas tout à fait ça… Voir capture. En rouge ce que le code fait, en bleu ce qu’il devrait faire.
Merci…
Avant de tracer un nouveau niveau au contact du milieu du donchian, il faut absolument que le prix touche préalablement la borne haute ou la borne basse du canal de donchian.
Bonjour Nicolas,
Pour en finir avec ce code, et arrêter de t’embêter, j’ai fait une capture explicative. Un dessin est plus représentatif.
En capture 1, ton code avec les niveaux tracés en rouge.
En capture 2, ce que le code devrait faire avec les niveaux tracés en bleu.
Dax CFD, 8h/22h, 20 octobre 2018 -> à aujourd’hui.
Merci pour ton aide.