La función ta.supertrend de Pine Script v5 es la forma más limpia de graficar el indicador SuperTrend en TradingView sin recalcular el ATR a mano. El problema es que mucha gente copia el código a medias y no entiende lo que la función devuelve — por eso falla al generar señales. Aquí tienes la sintaxis correcta, lo que significa cada valor de retorno y un indicador listo para pegar, con señales de compra y venta. El trading es una actividad de riesgo; usa esto como herramienta de estudio, no como promesa de ganancia.

El indicador es solo la mitad del camino — ejecutar por impulso arruina la cuenta. Mira cómo convertir las señales en ejecución automática y prueba en cuenta demo.

Ver automatización en Python →

La sintaxis de la función

En Pine Script v5, la función tiene esta firma:

[supertrend, direction] = ta.supertrend(factor, atrPeriod)

Recibe dos argumentos y devuelve dos valores a la vez (una tupla):

factor — el multiplicador del ATR (valores típicos: 3.0). Cuanto mayor, más «alejada» queda la línea del precio y menos señales obtienes.
atrPeriod — el periodo del ATR usado en el cálculo (valor típico: 10).
supertrend — el valor de la línea del indicador (para graficar).
direction — la dirección de la tendencia. Este es el campo que genera las señales.

El detalle que confunde a todos: en Pine v5, direction es negativa (-1) cuando el SuperTrend está por debajo del precio (tendencia alcista) y positiva (+1) cuando está por encima (tendencia bajista). Mucha gente lo invierte y falla las señales.

Detectando el cambio (señales)

La señal nace del cambio de dirección, no del valor en sí. Usa la función ta.change() o compara con la barra anterior:

// cambió a ALCISTA: direction pasó de +1 a -1 buySignal = direction[1] > 0 and direction < 0 // cambió a BAJISTA: direction pasó de -1 a +1 sellSignal = direction[1] < 0 and direction > 0

Indicador completo (listo para pegar)

Pega este código en el Pine Editor de TradingView (v5). Grafica la línea coloreada, pinta el fondo y marca compras/ventas:

//@version=5 indicator(«SuperTrend Pronto – IA Trader Pro», overlay=true) factor = input.float(3.0, «Factor (multiplicador ATR)», step=0.1) atrPeriod = input.int(10, «Periodo ATR») [supertrend, direction] = ta.supertrend(factor, atrPeriod) // color de la línea según la tendencia upTrend = direction < 0 lineColor = upTrend ? color.green : color.red plot(supertrend, «SuperTrend», color=lineColor, linewidth=2) // fondo suave según la tendencia bgcolor(upTrend ? color.new(color.green, 90) : color.new(color.red, 90)) // señales en el cambio buySignal = direction[1] > 0 and direction < 0 sellSignal = direction[1] < 0 and direction > 0 plotshape(buySignal, title=»Compra», style=shape.labelup, location=location.belowbar, color=color.green, text=»BUY», textcolor=color.white, size=size.small) plotshape(sellSignal, title=»Venda», style=shape.labeldown, location=location.abovebar, color=color.red, text=»SELL», textcolor=color.white, size=size.small) // alertas (para webhook/automatización) alertcondition(buySignal, «Sinal de Compra», «SuperTrend virou para ALTA») alertcondition(sellSignal, «Sinal de Venda», «SuperTrend virou para BAIXA»)
Ajuste de parámetros: en activos volátiles, aumenta el factor (ej.: 3.5–4.0) para reducir señales falsas. En mercados más lentos, valores menores reaccionan más rápido — pero generan más ruido. Haz siempre backtest antes de confiar.

Errores comunes

Invertir la dirección: recuerda, alcista es direction < 0. Si tus señales parecen al revés, casi siempre es esto.
Usar el valor en vez del cambio: la señal es el cambio de dirección, no «precio por encima de la línea».
Repintar expectativas: SuperTrend se basa en el ATR y confirma en la barra; no esperes predecir techos y suelos exactos.
Operar cada señal: SuperTrend solo genera muchas señales en mercado lateral. Combínalo con un filtro de tendencia o volumen.

Preguntas frecuentes

¿ta.supertrend existe en Pine v4?
La función integrada es de v5. En versiones antiguas tenías que calcular el ATR y la línea manualmente. Migra a v5.

¿Cuáles son los mejores valores de factor y atrPeriod?
El estándar clásico es 3.0 y 10, pero lo ideal depende del activo y el timeframe. Prueba y haz backtest.

¿Se pueden automatizar las señales?
Sí: el alertcondition permite crear alertas que disparan webhooks. A partir de ahí, un script externo puede ejecutar la orden — siempre probado en demo primero.

¿SuperTrend funciona en cualquier timeframe?
Funciona, pero en plazos muy cortos el ruido aumenta. Las tendencias más claras suelen aparecer en timeframes mayores.

Aviso: el trading es una actividad de alto riesgo y la mayoría de los traders minoristas pierde dinero. Este contenido es educativo y técnico, no constituye recomendación de inversión, oferta ni asesoramiento financiero. Los indicadores no predicen el futuro y los resultados pasados no garantizan resultados futuros. Prueba siempre en cuenta demo antes de arriesgar capital real y nunca inviertas más de lo que puedes perder.