Bonjour,
A priori si je comprends ce que tu veux faire, dans cbreak tu as inversé l’ordre chronologique du Dclose avec Dhigh et Dlow (pris le close du jour “avant” celui des high et low au lieu du jour “après” ceux-ci).
Aussi, pour incrémenter ta boucle tu as écrit (je le mets en lettre pour éviter qu’une lecture rapide ne passe à côté de la distinction entre i et 1): ” i = un + un” mais je suppose que tu voulais ” i = i + un”, si la boucle n’a pas rencontré Cbreak avant i=2, elle va rester scotchée sur i=2
Alternativement, si tu ne tiens pas forcément à la boucle while, à la place tu peux faire:
if DClose(0)>DHigh(1) or DClose(0)<DLow(1) then
EcartJOUR = DHigh(0) – DLow(0)
SupportJOUR = DLow(0)
endif
ce qui soit génèrera EcartJour et SupportJour si la condition est réalisée, soit tout simplement les gardera en mémoire si elle ne l’est pas, ce qui en fait le plus récent sans besoin de repartir en arrière le chercher avec une boucle.
Autre version si jamais tu ne veux pas que le temps réel remplace l’état de la veille:
if DClose(0)>DHigh(1) or DClose(0)<DLow(1) then
EcartJOURtemp = DHigh(0) – DLow(0)
SupportJOURtemp = DLow(0)
endif
if openday<>openday[1] then
EcartJOUR = EcartJOURtemp
SupportJOUR = SupportJOURtemp
endif
1 user thanked author for this post.