Indicadores: STARC bands

 

STARC bands:

Variación del célebre indicador STARC bands (canales del diapasón medio de Stoller).

Autor: Mladen Rakic

 
Versión actualizada de la banda STARC con la adición de un criterio simple para la visualización de velas de color junto con las bandas - versión 1.1

El criterio para las velas de color es tan simple como puede ser: las bandas STARC se calculan usando una media - junto con ella se calcula una media "rápida" del mismo tipo y precio, y si la media rápida cruza la media lenta al alza, el color de la vela cambia a color para al alza, y a color para a la baja si la media rápida cruza la media lenta a la baja. Establecer el periodo rápido en <= 1 lo hace igual al precio elegido que cruza las bandas STARC valor de la media principal.


 

Hola, hay un error en el modo MTF. Ambas versiones.

M1 Chart => H1 timeframe, H1 Chart => D1 timeframe.

2016.11.09 11:59:26.956 starc_bands (EURUSD,M1) cannot load custom indicator 'starc_bands' [4802]
2016.11.09 12:06:15.427 starc_bands_1.1 (EURUSD,H1) no puede cargar el indicador personalizado 'starc_bands_1.1' [4802]

 
Alain Verleyen:

Hola, hay un error en el modo MTF. Ambas versiones.

M1 Chart => H1 timeframe, H1 Chart => D1 timeframe.

2016.11.09 11:59:26.956 starc_bands (EURUSD,M1) cannot load custom indicator 'starc_bands' [4802]
2016.11.09 12:06:15.427 starc_bands_1.1 (EURUSD,H1) no puede cargar el indicador personalizado 'starc_bands_1.1' [4802]

El error 4802 es un error que ocurre con cualquiera de los indicadores que están llamando a algún otro indicador (o a sí mismo), especialmente los fines de semana cuando no hay nuevos ticks o cuando el marco de tiempo superior es llamado por primera vez después de la inicialización.

Por eso se comprueba y se vuelve a comprobar el handle y cuando se borra ese error, continúa el funcionamiento normal. Eso es un problema del mt no del código. El indicador funciona como se supone que tiene que funcionar una vez que consigue un "pase" por ese error 4802 (no se puede forzar a esperar desde un indicador ya que no podemos hacer que el indicador "duerma" para forzar alguna acción hasta que se despeje - de ahí que tengamos que esperar a la siguiente ocasión que pase por la "puerta" 4802). También habrás notado que sigue funcionando como debería una vez que recibe un nuevo tick después de ese error cuando se utiliza en gráficos en vivo

Todo lo dicho anteriormente es para uso en tiempo real en gráficos en vivo - el back-testing no puede ser conducido en ese modo de encuadre multi-tiempo.

Encontrar una posible solución a los problemas de back-testing (el error que se obtuvo fue de back-testing) no era un objetivo de este tipo de código. El objetivo era hacer que funcione como debería en un modo "tan simple como se puede" en el uso normal.
 

Sin entrar en "explicaciones pesadas" de por qué ese problema ocurría en back-test y no en tiempo real, se ha añadido una versión (versión 1.2) que soluciona también el problema de back-testing

Para que esta versión sea compatible con las dos anteriores, se ha añadido una opción para mostrar las velas (como en la versión 1.1) u ocultarlas (como en la versión 1.2), de modo que ahora se pueden emular ambos modos con la versión 1.2.

 
Gracias por indicador. ¿Puede alguien cambiar un mtf-versión: eliminar el relleno, sólo con bordes de línea?
 

¿Puede alguien ayudar a entender la causa del error y cómo solucionarlo? A veces sucede. Todas las instancias del indicador en la ventana se rompen juntas.

> array fuera de rango en 'STARC_bands_1.2.mq5' (192,111)

192,111 es "if (currTime[0]==nextTime[0]) continue;" .

si exactamente, su currTime.