El Índice de Vigor Relativo (RVI) es un indicador técnico diseñado para medir la fuerza de la tendencia actual del mercado, comparando el nivel de cierre del precio con su rango de negociación. Este script de RVI proporciona una visualización detallada del indicador, junto con una línea de señal y un histograma para facilitar su interpretación. A continuación, desglosamos el script en sus componentes clave.
Configuración Inicial
Primero, se definen las propiedades básicas del indicador, como su nombre y las configuraciones de entrada.
luaCopiar códigoinstrument {
name = "Relative Vigor Index"
}
input_group {
"front.ind.dpo.generalline",
period = input (10, "front.period", input.integer, 1, 250),
rvi_color = input { default = "#56CEFF", type = input.color },
rvi_width = input { default = 1, type = input.line_width },
rvi_visible = input { default = true, type = input.plot_visibility }
}
- instrument: Define el nombre del indicador como “Relative Vigor Index”.
- period: Establece el período de análisis para el RVI, por defecto es 10.
- rvi_color y rvi_width: Configuran el color y el grosor de la línea del RVI.
- rvi_visible: Determina si la línea del RVI es visible en el gráfico.
Configuración de la Línea de Señal y Línea Base
A continuación, se configuran las propiedades de la línea de señal y la línea base.
luaCopiar códigoinput_group {
"front.platform.signal-line",
signal_color = input { default = "#DBCF0D", type = input.color },
signal_width = input { default = 1, type = input.line_width },
signal_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"front.platform.baseline",
zero_line_visible = input { default = true, type = input.plot_visibility },
zero_line_color = input { default = rgba(255,255,255,0.15), type = input.color },
zero_line_width = input { default = 1, type = input.line_width }
}
- signal_color y signal_width: Configuran el color y el grosor de la línea de señal.
- signal_visible: Determina si la línea de señal es visible en el gráfico.
- zero_line_visible, zero_line_color y zero_line_width: Configuran la visibilidad, el color y el grosor de la línea base en el nivel cero.
Configuración del Histograma
El siguiente bloque define las propiedades del histograma que visualiza la diferencia entre el RVI y la línea de señal.
luaCopiar códigoinput_group {
"front.newind.barcolors",
histogram_visible = input { default = true, type = input.plot_visibility },
histogram_up_color = input { default = "#2CAC40", type = input.color },
histogram_down_color = input { default = "#DB4931", type = input.color }
}
- histogram_up_color y histogram_down_color: Configuran los colores del histograma para movimientos alcistas y bajistas, respectivamente.
- histogram_visible: Determina si el histograma es visible en el gráfico.
Cálculo del RVI y su Línea de Señal
Aquí se realizan los cálculos principales del RVI y su línea de señal.
luaCopiar códigoCO = close - open
HL = high - low
num = sum (CO + 2*CO[1] + 2*CO[2] + CO[3], period) / 6
denom = sum (HL + 2*HL[1] + 2*HL[2] + HL[3], period) / 6
rvi = num / denom
signal = (rvi + 2*rvi[1] + 2*rvi[2] + rvi[3]) / 6
hist = rvi - signal
- CO: Calcula la diferencia entre el cierre y la apertura.
- HL: Calcula la diferencia entre el máximo y el mínimo.
- num: Calcula el numerador del RVI utilizando una media móvil ponderada.
- denom: Calcula el denominador del RVI utilizando una media móvil ponderada.
- rvi: Calcula el valor del RVI dividiendo el numerador por el denominador.
- signal: Calcula la línea de señal como una media móvil ponderada del RVI.
- hist: Calcula la diferencia entre el RVI y la línea de señal.
Visualización en el Gráfico
Finalmente, se configuran las instrucciones para visualizar el RVI, la línea de señal y el histograma en el gráfico.
luaCopiar códigoif rvi_visible then
plot(rvi, "RVI", rvi_color, rvi_width)
end
if signal_visible then
plot(signal, "front.platform.signal-line", signal_color, signal_width)
end
if histogram_visible then
rect {
first = 0,
second = hist,
color = hist >= hist [1] and histogram_up_color or histogram_down_color,
width = 0.2
}
end
if zero_line_visible then
hline (0, "Zero", zero_line_color, zero_line_width)
end
- plot: Dibuja las líneas del RVI y la línea de señal en el gráfico.
- rect: Dibuja el histograma utilizando barras rectangulares.
- hline: Dibuja la línea base en el nivel cero.
Conclusión
El Índice de Vigor Relativo (RVI) es una herramienta valiosa para medir la fuerza de la tendencia del mercado. Al proporcionar una comparación entre los niveles de cierre y el rango de negociación, el RVI puede ayudar a los traders a identificar oportunidades de compra y venta basadas en la dirección y la fuerza de la tendencia. Este script de RVI, con su línea de señal y histograma, proporciona una representación visual clara y útil para la toma de decisiones en el trading.
Script Completo
instrument {
name = "Relative Vigor Index"
}
input_group {
"front.ind.dpo.generalline",
period = input (10, "front.period", input.integer, 1, 250),
rvi_color = input { default = "#56CEFF", type = input.color },
rvi_width = input { default = 1, type = input.line_width },
rvi_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"front.platform.signal-line",
signal_color = input { default = "#DBCF0D", type = input.color },
signal_width = input { default = 1, type = input.line_width },
signal_visible = input { default = true, type = input.plot_visibility }
}
input_group {
"front.platform.baseline",
zero_line_visible = input { default = true, type = input.plot_visibility },
zero_line_color = input { default = rgba(255,255,255,0.15), type = input.color },
zero_line_width = input { default = 1, type = input.line_width }
}
input_group {
"front.newind.barcolors",
histogram_visible = input { default = true, type = input.plot_visibility },
histogram_up_color = input { default = "#2CAC40", type = input.color },
histogram_down_color = input { default = "#DB4931", type = input.color }
}
CO=close-open
HL=high-low
num = sum (CO + 2*CO[1] + 2*CO[2] + CO[3], period)/6
denom = sum (HL + 2*HL[1] + 2*HL[2] + HL[3], period)/6
rvi = num / denom
signal = (rvi+ 2*rvi[1] + 2*rvi[2] + rvi[3]) / 6
hist = rvi - signal
if rvi_visible then
plot(rvi, "RVI", rvi_color, rvi_width)
end
if signal_visible then
plot(signal, "front.platform.signal-line", signal_color, signal_width)
end
if histogram_visible then
rect {
first = 0,
second = hist,
color = hist >= hist [1] and histogram_up_color or histogram_down_color,
width = 0.2
}
end
if zero_line_visible then
hline (0, "Zero", zero_line_color, zero_line_width)
end