Bonjour,
Ce code fonctionnait bien, je l’ai retiré puis j’ai voulu le remettre et maintenant il m’affiche une ligne à chaque niveau, soit + 1 à chaque fois
au lieu de 100 comme demandé.
Je ne vois pas ce qui cloche, une idée ?
IF NOT DID THEN
NV = 0
FOR NV = 0 TO 30000 DO
drawhline(NV)coloured("cyan")
NV = NV + 100 - 1
NEXT
ONCE DID = 1
ENDIF
RETURN
Merci
Ce code fonctionne pour moi :
centaine = round(Close/100) * 100
//DRAWHLINE (centaine) coloured(0,0,0) STYLE(line,1)
lp2 = centaine + 1000
//DRAWHLINE (lp2) coloured(0,0,0) STYLE(line,1)
lp4 = centaine + 2000
//DRAWHLINE (lp4) coloured(0,0,0) STYLE(line,1)
lp6 = centaine + 3000
//DRAWHLINE (lp6) coloured(0,0,0) STYLE(line,1)
lp8 = centaine + 4000
//DRAWHLINE (lp8) coloured(0,0,0) STYLE(line,1)
lp12 = centaine + 5000
//DRAWHLINE (lp12) coloured(0,0,0) STYLE(line,1)
lm2 = centaine - 1000
//DRAWHLINE (lm2) coloured(0,0,0) STYLE(line,1)
lm4 = centaine - 2000
//DRAWHLINE (lm4) coloured(0,0,0) STYLE(line,1)
lm6 = centaine - 3000
//DRAWHLINE (lm6) coloured(0,0,0) STYLE(line,1)
lm8 = centaine - 4000
//DRAWHLINE (lm8) coloured(0,0,0) STYLE(line,1)
lm9 = centaine - 5000
//DRAWHLINE (lm9) coloured(0,0,0) STYLE(line,1)
lm10 = centaine - 6000
//DRAWHLINE (lm10) coloured(0,0,0) STYLE(line,1)
Je ne pense pas que ton code ai fonctionnait ? On ne peut pas modifier l’incrément d’une boucle FOR/NEXT, il est toujours de 1. Dans ce cas utiliser une boucle WHILE/WEND en utilisant un incrément de 100, comme ceci :
IF NOT DID THEN
NV = 0
while NV <= 30000 DO
drawhline(NV)coloured("cyan")
NV = NV + 100
wend
ONCE DID = 1
ENDIF
RETURN
Bonsoir,
Effectivement j’ai du me tromper …
En tout cas, cela fonctionne, merci 👍
Bonsoir,
Merci pour cette solution 👍