El Swing Index es un indicador técnico utilizado en el análisis de mercado para identificar cambios en la dirección del precio y medir la fuerza de esos cambios. Este indicador fue desarrollado por Welles Wilder y se basa en los movimientos de precios recientes para proporcionar una medida de la fuerza y la dirección de una tendencia.
A continuación, explicamos el funcionamiento del script del indicador Swing Index y cómo puedes utilizarlo en tus gráficos de trading.
Configuración Inicial
El script comienza definiendo el nombre del indicador y configurando el valor límite para los movimientos de precios.
luaCopiar códigoinstrument { name = "Swing Index", overlay = false }
limit = input (0.5, "Limit Move Value", input.double, 0.01)
- limit: Es el valor límite que se usa para calcular el índice de oscilación.
Grupo de Entrada de Configuración
El grupo de entrada define los colores y el grosor de las líneas que se utilizarán para representar el índice de oscilación.
luaCopiar códigoinput_group {
"front.ind.dpo.generalline",
color = input { default = "#FF7700", type = input.color },
width = input { default = 1, type = input.line_width}
}
input_group {
"front.platform.baseline",
zero_color = input { default = rgba(255,255,255,0.15), type = input.color },
zero_width = input { default = 1, type = input.line_width}
}
- color: El color de la línea del índice de oscilación.
- width: El grosor de la línea del índice de oscilación.
- zero_color: El color de la línea base (cero).
- zero_width: El grosor de la línea base (cero).
Cálculo de los Componentes del Swing Index
El siguiente bloque de código calcula los componentes necesarios para determinar el Swing Index.
luaCopiar códigoH2_C1 = abs(high - close[1])
L2_C1 = abs(low - close[1])
H2_L2 = abs(high - low)
C1_O1 = abs(close[1] - open[1])
K = max(H2_C1, L2_C1)
- H2_C1: La diferencia absoluta entre el alto actual y el cierre anterior.
- L2_C1: La diferencia absoluta entre el bajo actual y el cierre anterior.
- H2_L2: La diferencia absoluta entre el alto y el bajo actuales.
- C1_O1: La diferencia absoluta entre el cierre anterior y la apertura anterior.
- K: El valor máximo entre H2_C1 y L2_C1.
Cálculo del Valor R
El valor R se calcula usando las diferencias y máximos de los componentes.
luaCopiar códigoR = iff(H2_C1 >= max(L2_C1, H2_L2), H2_C1 - 0.5 * L2_C1 + 0.25 * C1_O1,
iff(L2_C1 >= max(H2_C1, H2_L2),
L2_C1 - 0.5 * H2_C1 + 0.25 * C1_O1,
H2_L2 + 0.25 * C1_O1
)
)
- R: El valor calculado basado en las condiciones específicas de los movimientos de precios.
Cálculo del Swing Index
El Swing Index se calcula utilizando la fórmula de Welles Wilder, que toma en cuenta los componentes anteriores y el valor límite.
luaCopiar códigores = 50 * ((close - close[1] + 0.5 * (close - open) + 0.25 * (close[1] - open[1])) / R) * K / limit
- res: El resultado final del Swing Index, que se utilizará para el trazado en el gráfico.
Visualización del Swing Index
Finalmente, el script dibuja el Swing Index en el gráfico, junto con una línea base en el valor cero para referencia.
luaCopiar códigohline { value = 0, color = zero_color, width = zero_width }
plot (res, "SI", color, width)
- hline: Dibuja la línea base en el valor cero.
- plot: Dibuja el Swing Index en el gráfico con el color y grosor especificados.
Conclusión
El Swing Index es una herramienta eficaz para los traders que buscan medir la fuerza y dirección de las tendencias en el mercado. Este indicador puede proporcionar señales valiosas sobre posibles puntos de entrada y salida, basándose en los movimientos recientes de los precios. Al utilizar el Swing Index en combinación con otros indicadores y análisis técnicos, los traders pueden mejorar su capacidad para tomar decisiones informadas y estratégicas en el mercado.
Script Completo
instrument { name = "Swing Index", overlay = false }
limit = input (0.5, "Limit Move Value", input.double, 0.01)
input_group {
"front.ind.dpo.generalline",
color = input { default = "#FF7700", type = input.color },
width = input { default = 1, type = input.line_width}
}
input_group {
"front.platform.baseline",
zero_color = input { default = rgba(255,255,255,0.15), type = input.color },
zero_width = input { default = 1, type = input.line_width}
}
H2_C1 = abs(high - close[1])
L2_C1 = abs(low - close[1])
H2_L2 = abs(high - low)
C1_O1 = abs(close[1] - open[1])
K = max(H2_C1, L2_C1)
R = iff(H2_C1 >= max(L2_C1, H2_L2), H2_C1 - 0.5 * L2_C1 + 0.25 * C1_O1,
iff(L2_C1 >= max(H2_C1, H2_L2),
L2_C1 - 0.5 * H2_C1 + 0.25 * C1_O1,
H2_L2 + 0.25 * C1_O1
)
)
res = 50 * ((close - close[1] + 0.5 * (close - open) + 0.25 * (close[1] - open[1])) / R) * K / limit
hline { value = 0, color = zero_color, width = zero_width }
plot (res, "SI", color, width)