bonjour
je cherche à faire un “indicateur” avec deux segments selon la parabolic de sar (point de bascule) suivant le dernier point vert sar = un segment à moins 5% de ce point et un segment à moins 15% de ce point
sur ces segments indication texte -5% ou -15% avec la valeur prix
les segments s’arrêteraient dès le prochain point de bascule
merci
Bjr,
Est-ce que c’est que pour UT jour et plus grande? Ou bien aussi pour des petites UT intraday?
Si ce n’est que pour UT jour ou plus grande, c’est assez simple avec le code ci-dessous, car si pas intraday alors pas de nouvelle bougie avant d’éteindre et rallumer le pc, donc pas de souci de répétition de l’affichage du texte à chaque dernière bougie sur un segment non-terminé (donc pas besoin de coder plus complexe, ou de séparer en 2 codes drawonlastbaronly true/false si on ne sait pas faire en un seul code).
A noter qu’on n’a pas (ou plutôt “pas encore à ce jour” en attendant cette amélioration dans une prochaine mise à jour) la possibilité de justifier le texte à gauche ou à droite, il est centré sur le barindex où on l’écrit.
monsar=SAR[0.02,0.02,0.2]
if monsar crosses over close then
ref=monsar[1]
barstart=barindex
moins5=0.95*ref
moins15=0.85*ref
endif
if (monsar crosses under close) or (islastbarupdate and monsar>close) then
DRAWSEGMENT(barstart, moins5, max(barindex[1],barstart+1), moins5) coloured("orange") style(line,2)
DRAWSEGMENT(barstart, moins15, max(barindex[1],barstart+1), moins15) coloured("orange") style(line,2)
DRAWTEXT("-5% #moins5#", barindex, moins5)
DRAWTEXT("-15% #moins15#", barindex, moins15)
endif
return
bonjour,
merci énormément, tu peux pas imaginer le plaisir quand je voie le résultat. je te dois un resto là
l’ut est jour, c’est parfait comme ça
bon dimanche ! merci
rebonjour,
j ai essayé de proscreener le code et ça bloque. il faut que j ouvre un autre post ?
Pour le screener, tu peux prendre la condition et la tester avec l’instruction SCREENER:
monsar=SAR[0.02,0.02,0.2]
if monsar crosses over close then
ref=monsar[1]
barstart=barindex
moins5=0.95*ref
moins15=0.85*ref
endif
screener[(monsar crosses under close) or (islastbarupdate and monsar>close)]
Il faut supprimer les instructions de dessins non compatible également.
bonjour nicolas, merci d’avoir répondu
j’ai copié coller ton code ça bloque toujours, il reconnais pas
si ca fonctionne en changeant la derniere ligne
monsar=SAR[0.02,0.02,0.2]
if monsar crosses over close then
ref=monsar[1]
moins5=0.95*ref
moins15=0.85*ref
endif
screener[((close crosses under moins5) or (close crosses under moins15)) AND (close<monsar)]
faut je bosse aussi 😉
merci je dois des bières !
Bjr,
ça dépend de ce que tu veux screener, si c’est le sar qui bascule comme dans l’exemple de Nicolas, alors effectivement tu peux enlever du code les 3 valeurs du message d’erreur qui ne sont plus utilisées, en supprimant (ou commentant avec //) les lignes 4,5,6 du code de Nicolas. Par contre, si tu veux screener une condition liée au franchissement des -5% et -15%, alors il faut garder moins5 et/ou moins15 et réécrire ta condition pour en tenir compte (et sans doute supprimer barstart, sauf si condition plus complexe qui limite le combre de barres depuis barstart). Bref, ça part avant tout d’une définition claire de ce qu’il faut screener, ce qui ne découle pas automatiquement de l’indicateur car il y a plusieurs possibilités.
ok, je vois que nos messages se sont croisés, tu as répondu pendant que je tapais le mien, c’était donc la condition à changer pour utiliser moins5 et moins15.