A mon humble avis, une bonne idée pour identifier ce “range” des Bandes de Bollinger serait pour cela d’utiliser directement l’indicateur Bollinger Bandwidth qui donne la taille de l’écartement des bandes, de lui coller une moyenne mobile long terme et ainsi considérer que toute valeur du bandwidth situé en dessous constitue une zone de range du prix. Simple idée à tester (voir image).
Ta demande est claire, mais elle nécessite de détecter ce que l’on pourrait considérer comme un “resserrement des bandes” dans le code.
Sinon, j’ai posté cet indicateur récemment qui a la même utilité: Cycle de volatilité (c’est également basé sur les bandes de Bollinger, soit une détection des différentes phases dans un oscillateur normalisé).