Estrategia de negociación cuantitativa de doble confirmación

El autor:¿ Qué pasa?, Fecha: 2024-01-15 15:21:39
Las etiquetas:

img

Resumen general

La estrategia de negociación de cantidad de confirmación doble realiza la doble confirmación de las señales de negociación mediante la combinación de la estrategia de inversión 123 y las subestrategias del oscilador de volumen porcentual (PVO) para reducir el riesgo de negociación.

Principios comerciales

123 Estrategia de reversión

La estrategia de reversión 123 se basa en patrones de línea K implementados por el indicador estocástico. Específicamente, va largo cuando el precio de cierre es inferior al precio de cierre del día anterior durante dos días consecutivos y el estocástico lento de 9 días está por debajo de 50; va corto cuando el precio de cierre es superior al precio de cierre del día anterior durante dos días consecutivos y el estocástico rápido de 9 días está por encima de 50.

Ocilador de volumen por porcentaje (PVO)

PVO es un oscilador de impulso basado en el volumen. Mide la diferencia entre dos promedios móviles exponenciales de volumen en diferentes períodos como porcentaje del promedio del período más largo. Es positivo cuando el período más corto EMA está por encima del período más largo EMA y negativo cuando el período más corto EMA está por debajo. Este indicador refleja los altibajos del volumen de negociación.

Análisis de ventajas

Esta estrategia combina los indicadores de precio y volumen para filtrar eficazmente las falsas rupturas.Al mismo tiempo, mediante el uso del mecanismo de doble confirmación, puede reducir la frecuencia de las transacciones y reducir los riesgos comerciales.

Análisis de riesgos

Esta estrategia se basa en períodos de retención más largos, con el riesgo de reducciones. Además, la configuración inadecuada de los parámetros también puede conducir a un exceso de operaciones o a señales faltantes.

Direcciones de optimización

El rendimiento de las sub-estrategias puede optimizarse ajustando los parámetros del estocástico y del PVO. También se pueden introducir mecanismos de stop loss para controlar los riesgos. Además, filtrar las señales con otros indicadores puede mejorar aún más la estabilidad de la estrategia.

Conclusión

La estrategia de comercio de cantidad de doble confirmación tiene en cuenta tanto los factores de precio como de volumen con buenos resultados de pruebas de retroceso.


/*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 )

Más.