Bonjour, j’ai fait un indicateur qui doit afficher une ligne pour que tout marche correctement j’ai du faire un décalage avec DRAWSEGMENT. Maintenant j’ai bien mon décalage mais l’indicateur ne va pas jusqu’à la dernière bougie du graphique.
Pourriez vous m’aider a corriger cela ?
je vous remercie d’avance
code :
ohlc = (open + high + low + close)/4
avg = Average[1](ohlc)
period = AverageTrueRange[ATRPeriodBack](close)*AtrMultiplier
val1 = (HalfLength - 1)*avg
val2= (HalfLength - 1)
k = HalfLength - 1
for j = 1 to HalfLength do
k = k - 1
vla1= val1 + (k*avg[j])
val2 = val2 + k
next
buff = val1/val2
tma = Average[HalfLength/2](buff)
DRAWSEGMENT(barindex-((HalfLength/2)-1), tma, barindex-((HalfLength/2)), tma[1])
return
Ce sera une ligne toute droite, puisque tu affiches la valeur de ton calcul de TMA présent dans le passé, donc il y a forcément un “trou” dans les valeurs du TMA. Donc en temps réel, tu auras toujours une ligne droite de X barres qui relit le passé à la barre actuelle, je préfères prévenir 🙂
Bonjour,
ok je vois ce n’est pas grave. il est pas possible sur PRT de prolonger une ligne ?
Merci Nicolas
Si bien sûr, mais tu es bien conscient que cet indicateur repaint le passé, en temps réel tu auras une ligne droite depuis la dernière valeur jusqu’au Close actuel ?
Voici le code et ce que ça donne en image. J’ai mis volontairement le trait en rouge :
defparam drawonlastbaronly=true
halflength=30
lookback = 200
ohlc = (open + high + low + close)/4
avg = Average[1](ohlc)
val1 = (HalfLength - 1)*avg
val2= (HalfLength - 1)
k = HalfLength - 1
for j = 1 to HalfLength do
k = k - 1
val1= val1 + (k*avg[j])
val2 = val2 + k
next
buff = val1/val2
tma = Average[HalfLength/2](buff)
//plot in the past
if barindex>lookback then
for i = 0 to lookback do
DRAWSEGMENT(barindex[i]-((HalfLength[i]/2)-1), tma[i], barindex[i]-((HalfLength[i]/2)), tma[i+1])
next
endif
drawsegment (barindex-((HalfLength/2)-1),tma[0],barindex,close) coloured(255,0,0)
return
Merci de ton aide j’ai bien compris le problème de cet indicateur je cherche a diviser le prix en deux parti pour par la suite creer un canal autour. j’ai join un screen de ce que je cherche a faire, c’est un indicateur trouver sur mt4.
Si tu as une idée , une piste pour m’aider a le faire je te remercie.
Le TMA repeint, donc il se colle parfaitement sur le graphique du prix, comme dans ton image.
Des indicateurs de type “canaux”, tu en trouveras pas mal dans la library: https://www.prorealcode.com/tag/channel/
Je remercie Nicolas pour ton aide.