
Descripción general:
El PVO mide el cambio en la tendencia del volumen de transacciones calculando el porcentaje de diferencia entre las medias móviles del índice de volumen de transacciones de dos períodos diferentes. La estrategia utiliza el indicador PVO para descubrir la tendencia del volumen de transacciones para confirmar o negar la evolución de los precios.
Principio de la estrategia:
La estrategia utiliza una combinación de dos EMA para formar un indicador de PVO, y luego se combina con una línea de señales para detectar la tendencia de los cambios en el volumen de transacciones y orientar la dirección de las transacciones de precios. A diferencia de los EMA normales, el PVO se centra más en el porcentaje de diferencia de volumen de transacciones, lo que permite determinar con mayor claridad el aumento o la disminución del volumen de transacciones.
Análisis de las ventajas:
La estrategia aprovecha al máximo la función de indicación de los cambios en el volumen de transacciones sobre la evolución de los precios. En comparación con un solo indicador, la estructura de PVO es más estable, y se puede personalizar el conjunto de parámetros para determinar los cambios en la tendencia del volumen de transacciones, lo que permite detectar con anticipación la posible dirección de los cambios en los precios.
Análisis de riesgos:
Los cambios en el volumen de transacciones a menudo se quedan atrás en el movimiento del precio, y cuando el precio entra en la fase final de la tendencia, el PVO puede emitir una señal errónea. La configuración incorrecta de los parámetros también puede afectar el efecto del juicio.
La estrategia para optimizar:
Se puede probar y optimizar la combinación de parámetros EMA para encontrar el mejor ciclo para determinar la tendencia de compra y venta. Se pueden establecer condiciones de amplitud de fluctuación del volumen de transacción, filtrar las señales de invalidez. Se pueden introducir indicadores como MACD, KD y otros para confirmar aún más el punto de entrada específico. También se puede establecer una línea de stop loss para controlar las pérdidas individuales. Esto mejorará considerablemente la practicidad de la estrategia.
En resumen:
La estrategia utiliza una estructura simple y eficaz de dos EMA para medir la fluctuación de la transacción, con el color K de la línea intuitiva para aumentar el efecto visual. Se puede elegir el comercio inverso según sea necesario, la configuración de los parámetros es flexible, tanto para la línea media larga como para la línea corta, y es una herramienta muy práctica para las estrategias basadas en el comercio.
/*backtest
start: 2023-10-06 00:00:00
end: 2023-10-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 27/09/2017
// The Percentage Volume Oscillator (PVO) is a momentum oscillator for volume.
// PVO measures the difference between two volume-based moving averages as a
// percentage of the larger moving average. As with MACD and the Percentage Price
// Oscillator (PPO), it is shown with a signal line, a histogram and a centerline.
// PVO is positive when the shorter volume EMA is above the longer volume EMA and
// negative when the shorter volume EMA is below. This indicator can be used to define
// the ups and downs for volume, which can then be use to confirm or refute other signals.
// Typically, a breakout or support break is validated when PVO is rising or positive.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Percentage Volume Oscillator (PVO)", shorttitle="PVO")
LengthShortEMA = input(12, minval=1)
LengthLongEMA = input(26, minval=1)
LengthSignalEMA = input(9, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xShortEMA = ema(volume , LengthShortEMA)
xLongEMA = ema(volume , LengthLongEMA)
xPVO = ((xShortEMA - xLongEMA) / xLongEMA) * 100
xSignalEMA = ema(xPVO , LengthSignalEMA)
xPVOHisto = xPVO - xSignalEMA
pos = iff(xSignalEMA < xPVO, -1,
iff(xSignalEMA > xPVO, 1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xPVO, color=blue, title="PVO")
plot(xSignalEMA, color=red, title="Signal")
plot(xPVOHisto, color=gray, title="PVO Histo", style=histogram)