El Supertrend es un indicador técnico popular que ayuda a los traders a identificar la dirección de la tendencia y los posibles puntos de entrada y salida. Este indicador es fácil de interpretar y puede ser usado en diferentes marcos de tiempo. A continuación, explicamos cómo funciona el script del indicador Supertrend y cómo puedes utilizarlo en tus gráficos de trading.
Configuración del Indicador
Primero, el script define las configuraciones básicas del indicador, incluyendo el período de cálculo y el multiplicador.
luaCopiar códigoinstrument { name = "Supertrend", overlay = true }
period = input (7, "front.period", input.integer, 1)
multiplier = input (3, "front.newind.multiplier", input.double, 0.01, 100, 0.01)
- period: Define el período utilizado para calcular el rango medio verdadero (ATR).
- multiplier: Es el multiplicador aplicado al ATR para determinar las líneas de tendencia superior e inferior.
Configuración del Grupo de Entrada
El grupo de entrada especifica los colores y el grosor de las líneas para las tendencias alcistas y bajistas.
luaCopiar códigoinput_group {
"front.ind.dpo.generalline",
up_color = input { default = "#25E154", type = input.color },
down_color = input { default = "#FF6C58", type = input.color },
width = input { default = 1, type = input.line_width }
}
- up_color: El color de la línea de tendencia alcista.
- down_color: El color de la línea de tendencia bajista.
- width: El grosor de las líneas de tendencia.
Cálculo del Supertrend
El siguiente bloque de código calcula las líneas de tendencia superior e inferior basadas en el rango medio verdadero (ATR) y el multiplicador.
luaCopiar códigooffset = rma (tr, period) * multiplier
up = hl2 - offset
down = hl2 + offset
- offset: Calcula el desplazamiento usando el ATR multiplicado por el multiplicador.
- up: Calcula la línea de tendencia superior restando el desplazamiento del promedio del rango alto-bajo (hl2).
- down: Calcula la línea de tendencia inferior sumando el desplazamiento al promedio del rango alto-bajo (hl2).
Determinación de la Tendencia
El siguiente bloque determina si la tendencia es alcista o bajista basándose en el cierre del precio y las líneas de tendencia calculadas.
luaCopiar códigotrend_up = iff (not na(trend_up) and close [1] > trend_up [1], max (up, trend_up [1]), up)
trend_down = iff (not na(trend_down) and close [1] < trend_down [1], min (down, trend_down [1]), down)
trend = iff (close > trend_down [1], true, iff (close < trend_up [1], false, nz(trend [1], true)))
tsl = iff (trend, trend_up, trend_down)
- trend_up: Actualiza la línea de tendencia superior.
- trend_down: Actualiza la línea de tendencia inferior.
- trend: Determina si la tendencia es alcista o bajista.
- tsl: Define la línea de tendencia actual que se usará para la visualización.
Visualización del Supertrend
Finalmente, el script visualiza el Supertrend en el gráfico, utilizando diferentes colores para las tendencias alcistas y bajistas.
luaCopiar códigoplot (tsl, "Supertrend", trend () and up_color or down_color, width)
- plot: Dibuja la línea del Supertrend en el gráfico, utilizando el color correspondiente según la tendencia (alcista o bajista).
Conclusión
El indicador Supertrend es una herramienta poderosa y sencilla para identificar la dirección de la tendencia del mercado. Utilizando el ATR y un multiplicador, este indicador puede ayudar a los traders a determinar puntos de entrada y salida basados en la dirección de la tendencia. Además, su representación visual clara facilita la interpretación rápida de las condiciones del mercado, haciendo que sea un complemento valioso para cualquier estrategia de trading.
Script Completo
instrument { name = "Supertrend", overlay = true }
period = input (7, "front.period", input.integer, 1)
multiplier = input (3, "front.newind.multiplier", input.double, 0.01, 100, 0.01)
input_group {
"front.ind.dpo.generalline",
up_color = input { default = "#25E154", type = input.color },
down_color = input { default = "#FF6C58", type = input.color },
width = input { default = 1, type = input.line_width }
}
offset = rma (tr, period) * multiplier
up = hl2 - offset
down = hl2 + offset
trend_up = iff (not na(trend_up) and close [1] > trend_up [1], max (up, trend_up [1]), up)
trend_down = iff (not na(trend_down) and close [1] < trend_down [1], min (down, trend_down [1]), down)
trend = iff (close > trend_down [1], true, iff (close < trend_up [1], false, nz(trend [1], true)))
tsl = iff (trend, trend_up, trend_down)
plot (tsl, "Supertrend", trend () and up_color or down_color, width)