En dehors de la toute première barre pour qui close[1] n’existera pas, close[1] retourne la clôture de la barre précédant celle où le code est lu, donc à chaque fois qu’on se décale d’une barre vers la droite dans la lecture du code, close[1] se décale avec aussi.
Je suppose que tu as fait tourner ton close[1]-Dclose(0) et n’ayant pas obtenu ce que tu attendais, tu t’es demandé ce que faisait close[1] en considérant Dclose(0) comme fixe.
Or, dans une barre passée, Dclose(0) n’est pas égal à la clôture d’aujourd’hui, car la plateforme considère que le futur de ce moment-là n’est pas connu, Dclose(0) se comporte donc comme un “close” simple, dernière clôture connue de cette barre passée (donc en ut jour sur une barre passée elle vaut la clôture du jour passé, et en ut intraday elle évolue avec la clôture de chaque barre du jour passé).
On peut faire un mini-indicateur avec pour seule ligne “return Dclose(0)” si on veut visualiser que Dclose(0) n’est pas constant.
Pour comparer le Dclose(0) de maintenant, pas un Dclose(0) passé, avec toutes les barres précédentes, il faut le faire depuis la dernière barre, probablement avec une boucle sans présumer de ce qui doit en être fait et s’il y aurait d’autres façons de faire, et faire varier l’index de la barre passée (close[1]-Dclose(0), close[2]-Dclose(0), close[3]-Dclose(0), etc…), et avec un if islastbarupdate si on veut éviter de le calculer sur tout l’historique.
1 user thanked author for this post.