Bonjour à tous,
J’observe une grosse différence entre les bandes calculées par prt et des bandes calculées “manuellement” avec un code du type :
m = average[period](customclose)
v = sqrt(average[period](square(customclose - m)))
return m, m + n * v, m - n * v
La mm est bonne, mais les déviations sont assez différentes. Même constat en exponentiel.
Je vois 2 possibilités :
* Une erreur d’arrondi sur les flottants avec accumulation au fil du temps
* Optimisation “mystère” de prt
Une idée ?
Merci
Un arrondi différent est possible entre l’indicateur calculé soit même et une version interne d’un indicateur.
Cependant ici, tu devrais utiliser l’instruction spécifique à l’écart type au lieu de le recalculer toi même, car je pense qu’il y a une petite erreur.
m = average[period](customclose)
v = std[period](customclose)
return m, m + n * v, m - n * v
Après, vérification, c’est exactement ça. Les BB SMA sont précisément calculées par PRT (algorithme de Welford qui compense les erreurs d’arrondi), par contre elles ne sont pas pas cohérentes en EMA : une EMA est utilisé pour la ligne centrale, mais une SMA est utilisée pour les deux bandes externes, ce qui est contraire à la doctrine de John Bollinger (mais en pratique, tout à fait “pratiquable”)
Ok et en utilisant directement les instructions des bandes de Bollinger peut être ?
BollingerUp
BollingerDown