El Índice de Caminata Aleatoria (Random Walk Index, RWI) es un indicador técnico que mide la tendencia del mercado y la fuerza de los movimientos de precios. A diferencia de otros indicadores, el RWI se enfoca en comparar los movimientos de precios a lo largo de un período específico con lo que sería esperado en un mercado de «caminata aleatoria». A continuación, explicamos cómo funciona este script de RWI en detalle.
Configuración Inicial
El primer bloque de código define el nombre del indicador y el período de análisis.
luaCopiar códigoinstrument { name = "Random Walk Index" }
period = input (14, "front.period", input.integer, 2)
- instrument: Define el nombre del indicador como «Random Walk Index».
- period: Establece el período de análisis del RWI, que por defecto es 14. Esto significa que el indicador calculará los valores del RWI usando los últimos 14 periodos.
Configuración de Estilo de Línea
Este bloque define el estilo y color de las líneas que representarán el RWI de los precios altos y bajos en el gráfico.
luaCopiar códigoinput_group {
"RWI of High",
high_color = input { default = "#2CAC40", type = input.color },
high_width = input { default = 1, type = input.line_width },
high_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"RWI of Low",
low_color = input { default = "#DB4931", type = input.color },
low_width = input { default = 1, type = input.line_width },
low_visible = input { default = true, type = input.plot_visibility }
}
- high_color y low_color: Establecen los colores de las líneas del RWI para los precios altos (verde) y bajos (rojo).
- high_width y low_width: Definen el grosor de las líneas.
- high_visible y low_visible: Determinan si las líneas son visibles en el gráfico.
Cálculo del RWI
El siguiente bloque realiza los cálculos necesarios para el RWI de los precios altos y bajos.
luaCopiar códigorwi_h = make_series ()
rwi_l = make_series ()
for n=2, period do
local sqp = sqrt (n)
local denom = rma (tr, n) * sqp
local rwi_h_c = (high - low [n - 1]) / denom
local rwi_l_c = (high [n - 1] - low) / denom
rwi_h:set (max (nz (rwi_h, rwi_h_c), rwi_h_c))
rwi_l:set (max (nz (rwi_l, rwi_l_c), rwi_l_c))
end
- rwi_h y rwi_l: Inicializan las series para almacenar los valores del RWI de los precios altos y bajos.
- for n=2, period do: Itera desde 2 hasta el período especificado (14 por defecto).
- sqp: Calcula la raíz cuadrada del período actual.
- denom: Calcula el denominador utilizando el RMA (Media Móvil Exponencial de los Rangos Verdaderos).
- rwi_h_c y rwi_l_c: Calculan los valores del RWI para los precios altos y bajos.
- rwi_hy rwi_l: Actualizan las series con los valores máximos calculados.
Trazado del RWI en el Gráfico
El siguiente bloque dibuja las líneas del RWI de los precios altos y bajos en el gráfico.
luaCopiar códigoif high_visible then
plot (rwi_h, "RWI High", high_color, high_width)
end
if low_visible then
plot (rwi_l, "RWI Low", low_color, low_width)
end
- plot: Dibuja las líneas del RWI en el gráfico con los colores y grosores definidos previamente.
Interpretación del Índice de Caminata Aleatoria
El Índice de Caminata Aleatoria (RWI) ayuda a determinar si un mercado está en tendencia o se mueve de forma aleatoria:
- RWI de precios altos (RWI High): Mide la fuerza de los movimientos alcistas. Valores altos indican una fuerte tendencia alcista.
- RWI de precios bajos (RWI Low): Mide la fuerza de los movimientos bajistas. Valores altos indican una fuerte tendencia bajista.
Los traders pueden utilizar el RWI para identificar puntos de entrada y salida en el mercado, basándose en la fuerza y dirección de las tendencias.
Conclusión
El Índice de Caminata Aleatoria (RWI) es una herramienta poderosa para el análisis técnico, proporcionando una visión única sobre la fuerza y dirección de las tendencias del mercado. Al entender y utilizar el RWI, los traders pueden mejorar sus estrategias y tomar decisiones más informadas en sus operaciones.
Script Completo
instrument { name = "Random Walk Index" }
period = input (14, "front.period", input.integer, 2)
input_group {
"RWI of High",
high_color = input { default = "#2CAC40", type = input.color },
high_width = input { default = 1, type = input.line_width },
high_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"RWI of Low",
low_color = input { default = "#DB4931", type = input.color },
low_width = input { default = 1, type = input.line_width },
low_visible = input { default = true, type = input.plot_visibility }
}
rwi_h = make_series ()
rwi_l = make_series ()
for n=2, period do
local sqp = sqrt (n)
local denom = rma (tr, n) * sqp
local rwi_h_c = (high - low [n - 1]) / denom
local rwi_l_c = (high [n - 1] - low) / denom
rwi_h:set (max (nz (rwi_h, rwi_h_c), rwi_h_c))
rwi_l:set (max (nz (rwi_l, rwi_l_c), rwi_l_c))
end
if high_visible then
plot (rwi_h, "RWI High", high_color, high_width)
end
if low_visible then
plot (rwi_l, "RWI Low", low_color, low_width)
end