
La estrategia de comercio cuantitativo de doble confirmación reduce el riesgo de negociación mediante la combinación de la estrategia de inversión 123 y dos subestrategias de índice de oscilación porcentual de la transacción (PVO), lo que permite la doble confirmación de la señal de negociación. La estrategia se aplica principalmente a las operaciones de posición de línea media y larga.
La estrategia de inversión 123 se realiza en forma de línea K de un indicador aleatorio. En concreto, cuando el precio de cierre es inferior al precio de cierre del día anterior durante 2 días consecutivos y el indicador aleatorio lento es inferior a 50 durante 9 días; cuando el precio de cierre es superior al precio de cierre del día anterior durante 2 días consecutivos y el indicador aleatorio rápido es superior a 50 durante 9 días.
El PVO es un indicador de movimiento de la masa basada en el volumen de transacciones. Mide la diferencia entre las medias móviles del índice de volumen de transacciones de dos períodos diferentes y el promedio de los períodos más largos, expresado en forma de porcentaje. Cuando el promedio de los períodos cortos es superior al promedio de los períodos largos, es positivo, por el contrario, es negativo. El indicador refleja la tendencia al alza y baja de la masa de transacciones.
Esta estrategia, combinada con indicadores de precios y volúmenes de transacción, permite filtrar efectivamente las brechas falsas. Al mismo tiempo, se puede reducir la frecuencia de las transacciones y reducir el riesgo de transacciones a través de un mecanismo de doble confirmación.
La estrategia depende de un largo período de tenencia de posiciones, con el riesgo de retiro. Además, la configuración incorrecta de los parámetros puede causar una frecuencia de negociación excesiva o señales erróneas.
Se puede optimizar el rendimiento de las subestrategias ajustando los parámetros de los indicadores aleatorios y el PVO. También se puede introducir un mecanismo de stop loss para controlar el riesgo. Además, la combinación de señales de filtración de otros indicadores puede mejorar aún más la estabilidad de las estrategias.
La estrategia de comercio cuantitativo de doble confirmación tiene en cuenta los factores de precio y volumen de transacción, y el efecto de retroalimentación es ideal. La estrategia tiene la posibilidad de mejorar aún más la estabilidad a través de la optimización de parámetros y la filtración de señales optimizadas, convirtiéndose en una herramienta poderosa para el comercio cuantitativo.
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/04/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// 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.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
PVO(LengthShortEMA,LengthLongEMA,LengthSignalEMA) =>
pos = 0.0
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)))
pos
strategy(title="Combo Backtest 123 Reversal & Percentage Volume Oscillator (PVO)", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Percentage Volume OscillatorA ----")
LengthShortEMA = input(12, minval=1)
LengthLongEMA = input(26, minval=1)
LengthSignalEMA = input(9, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPVO = PVO(LengthShortEMA,LengthLongEMA,LengthSignalEMA)
pos = iff(posReversal123 == 1 and posPVO == 1 , 1,
iff(posReversal123 == -1 and posPVO == -1, -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)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )