atrp = 14
coeff = 2
if barindex>atrp then
once iprice=close
if close > hh then
r=0
g=255
iprice=close
endif
if close < ll then
r=255
g=0
iprice=close
endif
hh=iprice+AverageTrueRange[atrp](close)*coeff
ll=iprice-AverageTrueRange[atrp](close)*coeff
endif
Resist = average [3](hh - hh[1])
if (resist < 0) and resist[1] > 0 then
plafondR = resist[1]
endif
return hh,ll, Resist as "Plafond", plafondR as "test"
Bonjour, j’ai mis en copie un indicateur trouvé sur ce site auquel j’ai rajouté une ligne de code qui me permet d’identifier des pauses dans l’évolution des limites hh (je ferai pareil pour la partie ll).
La ligne “plafondR” me permet d’identifier ces “plats” dans la courbe “hh” (pour tester). Le rendu apparaît dans le graphe joint. L’idée est que dès que la condition du plafondR est atteinte, on enregistre l’horaire de la bougie qui corresponde à cette condition. Puis à partir de l’horaire de survenue de la condition, on projette sur 10 bougies en avant (par exemple) la valeur de hh constatée au moment de la survenue de la condition.
Merci.
Je n’ai pas bien compris si on devait ajouter quelque chose à ton code ou non ? 🙂
Bonjour,
il est vrai que j’ai un peu de mal à formuler clairement mes demandes. Alors oui il faudrait tracer un segment dans le prolongement de hh à partir de l’UT qui correspond à l’UT qui a enregistré le PlafondR et qui est censé indiquer un “plat”.
Ce segment devrait être projeté – par exemple – 10 barres en avant et puis être actualisé à chaque changement de PlafondR (donc à un nouveau “plat”).
Je ne sais pas si je suis clair.
Bonjour,
je me permets de remonter ma demande. Merci de m’indiquer si ce n’est toujours pas clair.
Bjr,
Si on veut faire un segment à hauteur de hh quand on a plafndR qui passe à vrai, on peut par exemple ajouter une ligne drawsegment comme ceci
atrp = 14
coeff = 2
if barindex>atrp then
once iprice=close
if close > hh then
r=0
g=255
iprice=close
endif
if close < ll then
r=255
g=0
iprice=close
endif
hh=iprice+AverageTrueRange[atrp](close)*coeff
ll=iprice-AverageTrueRange[atrp](close)*coeff
endif
Resist = average [3](hh - hh[1])
if (resist < 0) and resist[1] > 0 then
plafondR = resist[1]
DRAWSEGMENT(barindex, hh, barindex+10, hh) style(line,3)
endif
return hh,ll, Resist as "Plafond", plafondR as "test"
Merci. Je vais tester ce soir.
Bonsoir,
c’est exactement ce que je voulais.
Je pense qu’il y a quelques petits réglages à faire au niveau de la détermination du paramètre RESIST.
Je vais essayer de code la même chose pour “ll”.
merci encore.
Bonjour,
je vous fait un petit retour de l’ajout du segment. C’est ce que je cherchais. Merci encore. J’aurai maintenant besoin de faire quelques petites évolutions. En premier lieu, je voudrais juste avoir le dernier segment. Comment faire SVP?
Merci.
Bonjour,
modifications pour n’avoir que le dernier segment:
defparam DRAWONLASTBARONLY=true
atrp = 14
coeff = 2
if barindex>atrp then
once iprice=close
if close > hh then
r=0
g=255
iprice=close
endif
if close < ll then
r=255
g=0
iprice=close
endif
hh=iprice+AverageTrueRange[atrp](close)*coeff
ll=iprice-AverageTrueRange[atrp](close)*coeff
endif
Resist = average [3](hh - hh[1])
if (resist < 0) and resist[1] > 0 then
plafondR = resist[1]
x1=barindex
//DRAWSEGMENT(barindex, hh, barindex+10, hh) style(line,3)
endif
if islastbarupdate then
DRAWSEGMENT(x1, hh, x1+10, hh) style(line,3)
endif
return hh,ll, Resist as "Plafond", plafondR as "test"
Bonjour,
un petit retour sur le code.
je me suis aperçu que dans certaines situations, le code ne me renvoie pas le bon tracé. Comme le montre la pièce jointe, le tracé à droite qui apparaît avec un “non” devrait être plus haut (à la place des pointillés que j’ai tracé à la main).
Quelqu’un pourrait-il m’aider à corriger le code de façon à identifier cette zone “plate” qui suit une phase de hausse ? La phase de hausse peut être défini comme 3 “hh” successifs en hausse. Pour la zone plate, alors là je cale.
Merci.
defparam DRAWONLASTBARONLY=true
atrp = 14
coeff = 2
if barindex>atrp then
once iprice=close
if close > hh then
r=0
g=255
iprice=close
endif
if close < ll then
r=255
g=0
iprice=close
endif
hh=iprice+AverageTrueRange[atrp](close)*coeff
ll=iprice-AverageTrueRange[atrp](close)*coeff
endif
ResistHaut = average [8](hh - hh[1])
if (resistHaut < 0) and resistHaut[1] > 0 then plafondR = resistHaut[1] x1=barindex //DRAWSEGMENT(barindex, hh, barindex+10, hh) style(line,3) endif if islastbarupdate then DRAWSEGMENT(x1, hh, x1+20, hh) style(line,3) endif
ResistBas = average [1](ll - ll[8])
if (resistBas < 0) and resistBas[1] > 0 then plafondB = resistBas[1] y1=barindex //DRAWSEGMENT(barindex, hh, barindex+10, hh) style(line,3) endif if islastbarupdate then DRAWSEGMENT(y1, ll, y1+20, ll) style(line,3) endif
return hh,ll, Resisthaut as "Plafond", plafondR as "test", ResistBas as "Plancher", plafondB as « test1"
Bonjour,
il manque le nom de l’instrument et le timeframe pour pouvoir reproduire le problème et comprendre si ça vient:
– des propositions qui ne font pas ce qui est demandé,
– ou de l’interprétation du “non”,
– ou bien, si ni l’un ni l’autre, d’une ligne de code proposée au départ non modifiée qui ne faisait déjà pas ce qui était espéré en amont des propositions (en l’occurence, quand je lis dans le post précédent “3 hh successifs en hausse” pas mentionné avant par rapport à plafondR, est-ce que le but du resist= average[3](hh-hh[1]) était pour un resist>0 de simuler 3 hh consécutifs de hausse? … car ce n’est pas ce que ça fait)