Bonjour Nicolas,
J’utilise le code des fractales de Bill Williams mais appliquées à la clôture pour dessiner les trendlines.
Pour les trendlines descendantes, je souhaiterais que celles-ci se dessinent en reliant la dernière fractale avec l’avant-dernière fractale qui a une valeur supérieure à la valeur de la dernière fractale (ignorer les valeurs de fractales inférieures) et inversément pour les trendlines ascendantes. De la sorte, cela représentera toujours un triangle.
Mieux qu’une description compliquée, je joins une image et le code que j’utilise.
/////////// FRACTALS DE BILL WILLIAMS
//Varible = cp - par défaut =2
defparam drawonlastbaronly = true
if close[cp] >= highest[2*cp+1](close) then
LH = 1
else
LH=0
endif
if close[cp] <= lowest[2*cp+1](close) then
LL= -1
else
LL=0
endif
if LH=1 then
oldTOPy = TOPy[1]
oldTOPx = TOPx[1]
TOPy = close[cp]
TOPx = barindex[cp]
endif
if LL = -1 then
oldBOTy = BOTy[1]
oldBOTx = BOTx[1]
BOTy = close[cp]
BOTx = barindex[cp]
endif
//trend line
DRAWLINE(oldTOPx,oldTOPy,TOPx,TOPy)coloured(112,169,161)
DRAWLINE(oldBOTx,oldBOTy,BOTx,BOTy)coloured(211,78,36)
//support/resistance
if showSR then
DRAWHLINE(TOPy) COLOURED(51,51,255,255)
DRAWHLINE(BOTy) COLOURED(51,51,255,255)
endif
return
Un tout grand merci pour ton aide.
Phil4910.
bonjour Phil
ton code ne passe pas il manque qq chose La plate forme me demande de définir la variable showsr??
Dans l’attente de ton aide
M.
Donc la ligne de support sera toujours ascendante et la ligne de résistance toujours descendante ? Ai-je bien compris ? Si oui on essaiera de faire sans une boucle, on verra bien ce que ça donne ..
Oui Nicolas, c’est exactement cela!
@ Madrosat : tu dois mettre la variable “ShowSR” pour tracer les supports/résistances horizontaux.
Phil4910.
Bonjour Nicolas,
As-tu eu le temps de jeter un oeil à la modification du code?
Merci,
Phil4910
Bonjour Nicolas,
Peux-tu m’aider pour le code?
Merci,
Phil4910
Bonjour à tous,
Pour être plus complet la variable showsr doit être qualifiée de ” booléen ” puis on coche vrai ou faux selon que l’on veuille voir apparaitre ou non les supports et résistances.
Phil, désolé j’ai été très pris. Je vais remettre à la semaine prochaine le code, pour l’heure je suis sur mon smartphone. N’hésite pas à le remonter encore une fois si jamais… 😉
Bonjour Nicolas,
Je te relance comme tu me l’as suggéré!
Une idée pour mon code trend lines (j’en reviens toujours à cette méthode)?
Merci,
Phil4910
Bonjour Nicolas,
Comme tu m’avais demandé de te le rappeler, j’ouvre cette file pour que tu puisses te remettre en mémoire ma demande dans la file
https://www.prorealcode.com/topic/trend-lines/
As-tu trouvé une solution à ma demande?
Merci Nicolas.
Phil4910
Désolé, à chaque fois que je reviens dans ce sujet, je me heurte à des problèmes de boucle infini, donc je ne poste rien 😐 J’essaierai encore demain !
Bon, en attendant de faire mieux, j’affiche uniquement les “trend lines” si la première coordonnée est plus haute et plus basse pour former un triangle.
/////////// FRACTALS DE BILL WILLIAMS
//Varible = cp - par défaut =2
defparam drawonlastbaronly = true
if close[cp] >= highest[2*cp+1](close) then
LH = 1
else
LH=0
endif
if close[cp] <= lowest[2*cp+1](close) then
LL= -1
else
LL=0
endif
if LH=1 then
oldTOPy = TOPy[1]
oldTOPx = TOPx[1]
TOPy = close[cp]
TOPx = barindex[cp]
endif
if LL = -1 then
oldBOTy = BOTy[1]
oldBOTx = BOTx[1]
BOTy = close[cp]
BOTx = barindex[cp]
endif
//trend line
if oldTOPy>TOPy and oldBOTy<BOTy then
DRAWLINE(oldTOPx,oldTOPy,TOPx,TOPy)coloured(112,169,161)
DRAWLINE(oldBOTx,oldBOTy,BOTx,BOTy)coloured(211,78,36)
endif
return
Je vais maintenant tenter de trouver dans le passé les bonnes coordonnées si jamais les précédentes ne sont pas suffisantes pour former un triangle …
Cette autre version devrait être satisfaisante, on recherche dans le passé les premières coordonnées qui sont valables pour tracer un triangle comparativement avec les derniers fractals connus.
Attention, si rien ne s’affiche, cela signifie qu’il faut pousser plus loin dans le passé et adjuster la valeur de la variable “lookback” au début du code (ici réglé à 200 bars en arrière par défaut).
defparam drawonlastbaronly = true
cp = 20
lookback = 200
if close[cp] >= highest[2*cp+1](close) then
LH = 1
else
LH=0
endif
if close[cp] <= lowest[2*cp+1](close) then
LL= -1
else
LL=0
endif
if LH=1 then
oldTOPy = TOPy[1]
oldTOPx = TOPx[1]
TOPy = close[cp]
TOPx = barindex[cp]
endif
if LL = -1 then
oldBOTy = BOTy[1]
oldBOTx = BOTx[1]
BOTy = close[cp]
BOTx = barindex[cp]
endif
//trend line
firsttopy=0
firstboty=0
for i = 1 to lookback do
if oldtopy[i]>topy then
firsttopY=oldtopy[i]
firsttopX=oldtopx[i]
endif
if oldboty[i]<boty then
firstbotY=oldboty[i]
firstbotX=oldbotx[i]
endif
if firsttopy>0 and firstboty>0 then
DRAWLINE(firstTOPx,firstTOPy,TOPx,TOPy)coloured(112,169,161)
DRAWLINE(firstBOTx,firstBOTy,BOTx,BOTy)coloured(211,78,36)
break
endif
next
return
Sur l’exemple joint, j’indique avec les flèches rouges les lignes des trend lines tracés sans cette recherche de triangle, les autres lignes formant elles parfaitement la figure recherchée. Bons tests.