Hay algun indicador Supertrend que no repinte en los cambios de tendencia? O cual es el mejor en este sentido?

 
Hay algun indicador Supertrend que no repinte en los cambios de tendencia? O cual es el mejor en este sentido?
 

Hay que separar dos cosas, porque el Supertrend clásico en realidad NO repinta el historial: una vez cerrada la vela, la banda y el color quedan fijos. Lo que sí hace (y es lo que se percibe como repintado) es cambiar de color EN LA VELA EN FORMACIÓN: mientras la vela está viva, el cierre provisional cruza la banda para un lado y para el otro, la flecha aparece y desaparece, y recién al cerrar la vela la señal queda firme.


Eso significa que no necesitas buscar "un Supertrend que no repinte": necesitas usar cualquiera evaluándolo sobre la vela cerrada (índice 1, no 0). En un EA:


double st[2];

CopyBuffer(handleSupertrend, 0, 1, 2, st);   // velas 1 y 2, nunca la 0


Y si lo usas visualmente, ignora la flecha de la vela en curso: solo vale cuando la vela cierra.


La contrapartida es que la señal confirmada llega una vela "tarde". Es el trade-off inevitable: señal temprana que parpadea, o señal firme con una vela de retraso. Cualquier indicador que prometa lo primero sin lo segundo está mirando el futuro. Los que repintan de verdad (recalculan hacia atrás el historial) existen, y se detectan corriéndolos en el Strategy Tester en modo visual: comparas lo que dibujaron en vivo contra lo que queda al final del test.

 
German Andres Soto Castro #:

La idea general de recomendar trabajar con la vela cerrada es correcta, pero hay varias precisiones importantes para que no quede una conclusión equivocada para quien lea el hilo después.

Primero, usar shift 1 no convierte automáticamente un indicador en "no repaint". Solo evita tomar decisiones con la vela que está en formación. Si el indicador recalcula barras cerradas por su propia lógica, leer la barra 1 seguirá devolviendo un valor que puede haber cambiado posteriormente.

Además, cuidado con este ejemplo:

CopyBuffer(handleSupertrend, 0, 1, 2, st);

Con double st[2], st[0] no corresponde a la barra 1, sino a la barra 2; st[1] corresponde a la barra 1. CopyBuffer() coloca físicamente primero el elemento más antiguo de los solicitados. Es un detalle importante porque puede provocar justo el típico error de creer que se está operando con la última vela cerrada cuando en realidad se está leyendo la anterior.

También matizaría lo de que la señal confirmada llega "una vela tarde". No llega una vela tarde: llega al cierre de la vela que la confirma. Puede haber aparecido un segundo antes del cierre o cuatro minutos antes en M5; el retraso no es necesariamente una vela completa.

Y, por último, esto de que "cualquier indicador que dé una señal temprana y firme está mirando el futuro" tampoco es cierto como regla general. Una condición intrabar puede ser irreversible sin utilizar datos futuros; por ejemplo, una señal que se activa cuando el High actual supera un nivel fijo calculado únicamente con barras cerradas. Una vez superado, ese High ya no puede disminuir dentro de esa vela.

En resumen: para un Supertrend clásico bien implementado, esperar a shift 1 es una forma razonable de evitar las oscilaciones de la vela actual, pero no demuestra por sí solo que el indicador no repinte. Eso depende del algoritmo y de su implementación.