Bonjour,
J’essaye désespérément de tracer une ligne horizontale sur l’équivalent de 4 ou 5 chandeliers à venir pour marquer le signal
à partir du chandelier qui donne ce dernier.
Le code que j’utilise fonctionne très bien en dessous des graphiques et me donne les signaux.
je voulais l’adapter pour le mettre sur le graphique des prix pour me tracer cette petite ligne horizontale
En fait avec le bout de code, les lignes se tracent à la verticale sur le chandelier qui donne le signal.
signal = 0
sl=((high/low)-1)*100
if sl <= seuil and sl = lowest[periode](sl) and close > WeightedAverage[4](close) then
signal = 1
if signal >0 then
hourlyHigh = Highest[barindex – lastHourBarIndex](High)[1]
lastHourBarIndex = BarIndex
DRAWSEGMENT(lastHourBarindex,BarIndex,lastHourBarindex,signal) coloured(255,0,0) STYLE(dottedline,1)
endif
endif
return
une aide pour résoudre ce problème serait la bienvenue. merci d’avance
Cordialement
Je viens de me rendre compte , j’ai oublié de préciser
Les variables :
seuil =3
periode = 5
Utilisez toujours le bouton “Insert PRT Code” lorsque vous mettez du code dans vos messages pour faciliter la lecture par les autres.
Merci 🙂
La variable Signal a la valeur 0 ou 1, donc le segment est imprimé au prix 1 ou 0, il semble donc invisible.
À la ligne 13, remplacez la variable au prix de laquelle vous souhaitez imprimer le segment, par exemple:
DRAWSEGMENT(lastHourBarindex,BarIndex,lastHourBarindex,hourlyHigh) coloured(255,0,0) STYLE(dottedline,1)
Merci Roberto,
je vois qu’il y en qui travail même le dimanche.
Les lignes sont toujours verticales. c’est pas bon. merci en tout cas.
J’ai retravaillé sur le code et j’ai trouvé une autre solution.
Toutefois, Il me reste juste un petit problème, c’est que le segment horizontal ne se positionne pas bien sur le plus haut du
plus petit chandelier lors du signal.
Je suppose que cela provient de highest, une idée pour résoudre ce petit problème qui subsiste
Merci d’avance
Cordialement
signal = 0
sl=((high/low)-1)*100
if sl <= seuil and sl = lowest[periode](sl) and close > WeightedAverage[4](close) then
signal = 1
if signal >0 then
periode = 5
Resistance = highest [periode] (close)
DRAWSEGMENT(BarIndex + (periode),Resistance,BarIndex,Resistance) coloured(30,144,255) STYLE(line,2)
endif
endif
return
Je viens de corriger le problème en partie.
Le segment se positionne correctement sur le chandelier qui déclenche le signal, au plus haut.
reste un petit souci, le segment n’est pas horizontal (voir l’image)
Merci de poster les images en tant image attachée et non dans des documents Word la prochaine fois. Je vais relire le sujet pour bien comprendre.
C’est logique, à aucun moment tu cherches à savoir quelle est la coordonnée en abscisse (barindex) qui a connu le plus haut du Close, j’ai corrigé en le cherchant dans une boucle où cette valeur est trouvée et donnée à la variable ‘mybar’.
signal = 0
seuil =3
periode = 5
sl=((high/low)-1)*100
if sl <= seuil and sl = lowest[periode](sl) and close > WeightedAverage[4](close) then
signal = 1
if signal >0 then
periode = 5
Resistance = highest [periode] (close)
for i = 0 to periode-1 do
if close[i]=resistance then
mybar=barindex[i]
break
endif
next
DRAWSEGMENT(mybar + (periode),Resistance,mybar,Resistance) coloured(30,144,255) STYLE(line,2)
endif
endif
return
Les segments partent bien maintenant de la bonne barre qui correspond à la valeur de “Resistance”.
Merci pour la réponse Nicolas,
Bonne soirée
Cordialement