
Se me ocurren algunas ideas:
- De momento sólo se me ocurre comparar el incremento, o desplazamiento, que tiene la banda de Bollinger respecto al anterior valor de ella misma (ya se me ocurrirán más cosas)
- Nomenclatura:
U = banda superior (Upper)
L = banda inferior (Lower)
M = mediana de Bollinger
- Para los periodos: En un mismo marcoi temporal, U1 es el valor que sigue a U0
- Comparando incrementos:
Con este planteamiento prescindo de medir la pendiente, pues resulta bastante difícil, ya que no me vale la pendiente entre dos periodos consecutivos. Me explico: para definir la horizontalidad de las bandas, puedo medir cuánto se desplazan las bandas o la mediana respecto de su periodo anterior. Pero ahí está el problema: podría medirlo respecto a dos, o tres, o más periodos anteriores, dependiendo del marco temporal, ya que es normal que, permaneciendo horizontales, se desplacen de un periodo a otro.
En cambio lo que busco comparar es el estrechamiento, pues es normal que las bandas se junten cuando todo se pone lateral, y se separen cuando aumenta la volatilidad.
Entonces: Si las bandas están reflejando un incremento en la volatilidad, las externas se separan de la mediana, por tanto el incremento entre dos periodos consecutivos de las externas será mayor que el de la mediana, en valor absoluto. De todas formas lo expreso con su signo, para mejor entendimiento:
- Separación: [(U1-U0) > (M1-M0)] AND [(L1-L0) < (M1-M0)]
- Estrechamiento: [(U1-U0) < (M1-M0)] AND [(L1-L0) > (M1-M0)]
En tu gráfico vemos la formación de una burbuja (día 9/5) debido a un aumento de la volatilidad. Vemos que la condición de separación se cumple durante varios periodos consecutivos, y también la de estrechamiento.
Bueno, ya sabemos cuando se está estrechando. Ahora hay que saber cuando ha dejado de estrecharse, para que el programa se active. Se me ocurre, por una simple diferencia entre las dos bandas externas, comparadas con un parámetro dependiente del marco temporal.
Por ejemplo: Si (U1-L1) < X , (siendo X, para 30min, por ejemplo, X), entonces decimos que ya se han estrechado todo lo posible, y el programa se activa.
Luego hay que comprobar el cruce del precio por la banda, lanzar la orden, y perder la pasta

Bueno, son ideas que no sé si servirán.
Saludos