El Oscilador de Volumen (Volume Oscillator, VO) es una herramienta técnica que ayuda a los traders a medir el cambio en el volumen de negociación durante dos períodos diferentes. Esta diferencia en volumen puede indicar la fuerza y dirección de una tendencia en el mercado. A continuación, se explica cada bloque de código del script y su propósito.
Definición del Instrumento
El script comienza definiendo el nombre y el nombre corto del indicador.
luaCopiar códigoinstrument { name = "Volume Oscillator", short_name = "VO" }
- name: Nombre completo del indicador, «Volume Oscillator».
- short_name: Nombre corto del indicador, «VO».
Configuración del Grupo de Entrada para los Períodos y Apariencia
A continuación, se define un grupo de entrada para configurar los períodos de cálculo y la apariencia del oscilador de volumen.
luaCopiar códigoinput_group {
"front.ind.dpo.generalline",
short_period = input (5, "Short Cycle", input.integer, 1, 200),
long_period = input (10, "Long Cycle", input.integer, 1, 200),
vo_color = input { default = "#25E154", type = input.color },
vo_width = input { default = 1, type = input.line_width}
}
- short_period: Período corto para calcular la media exponencial móvil (EMA) del volumen, predeterminado a 5.
- long_period: Período largo para calcular la EMA del volumen, predeterminado a 10.
- vo_color: Color de la línea del oscilador de volumen, predeterminado a «#25E154».
- vo_width: Ancho de la línea del oscilador, predeterminado a 1.
Configuración de la Línea Base
Se define un grupo de entrada para configurar la apariencia de la línea base (cero).
luaCopiar códigoinput_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 },
zero_visible = input { default = true, type = input.plot_visibility }
}
- zero_color: Color de la línea base (cero), predeterminado a un color blanco con 15% de opacidad.
- zero_width: Ancho de la línea base, predeterminado a 1.
- zero_visible: Visibilidad de la línea base, predeterminado a
true
(visible).
Cálculo de las Medias Exponenciales Móviles (EMA) del Volumen
Se calculan las medias exponenciales móviles del volumen para los períodos corto y largo.
luaCopiar códigoshort = ema (volume, short_period)
long = ema (volume, long_period)
- ema (volume, short_period): Calcula la EMA del volumen utilizando el período corto.
- ema (volume, long_period): Calcula la EMA del volumen utilizando el período largo.
Cálculo del Oscilador de Volumen
Se calcula el oscilador de volumen basado en la diferencia entre las dos EMAs.
luaCopiar códigovo = (short - long) / long * 100
- (short – long) / long * 100: Calcula la diferencia porcentual entre las EMAs del volumen corto y largo, multiplicada por 100 para obtener el valor en porcentaje.
Visualización de la Línea Base
Si la línea base es visible, se dibuja en el gráfico.
luaCopiar códigoif zero_visible then
hline (0, "", zero_color, zero_width)
end
- hline (0, «», zero_color, zero_width): Dibuja una línea horizontal en el nivel cero con el color y ancho especificados.
Visualización del Oscilador de Volumen
Finalmente, se dibuja la línea del oscilador de volumen en el gráfico.
luaCopiar códigoplot (vo, "VO", vo_color, vo_width)
- plot (vo, «VO», vo_color, vo_width): Dibuja la línea del oscilador de volumen con el color y ancho especificados.
Conclusión
El Oscilador de Volumen (Volume Oscillator) es una herramienta útil para evaluar los cambios en el volumen de negociación durante dos períodos distintos. Al analizar la diferencia entre las EMAs del volumen, los traders pueden identificar posibles cambios en la tendencia y la fuerza del mercado. Este indicador puede ser especialmente útil cuando se combina con otros indicadores técnicos para confirmar señales de trading.
Script Completo
instrument { name = "Volume Oscillator", short_name = "VO" }
input_group {
"front.ind.dpo.generalline",
short_period = input (5, "Short Cycle", input.integer, 1, 200),
long_period = input (10, "Long Cycle", input.integer, 1, 200),
vo_color = input { default = "#25E154", type = input.color },
vo_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 },
zero_visible = input { default = true, type = input.plot_visibility }
}
short = ema (volume, short_period)
long = ema (volume, long_period )
vo = (short - long) / long * 100
if zero_visible then
hline (0, "", zero_color, zero_width)
end
plot (vo, "VO", vo_color, vo_width)