Esta estrategia combina una estrategia de inversión de tendencia con una estrategia de volatilidad estadística para generar señales comerciales más fuertes.
La estrategia consta de dos partes:
Estrategia de reversión de tendencia
Estrategia estadística de volatilidad
La estrategia genera una señal comercial solo cuando ambas estrategias están de acuerdo en la dirección (ambas largas o ambas cortas).
La estrategia combinada mejora la fiabilidad de la señal mediante la combinación de dos tipos diferentes de estrategias:
El patrón 123 captura con precisión los puntos de inversión de tendencia y evita ser engañado por picos de precios únicos.
La volatilidad estadística se centra en los períodos de alta volatilidad y de alta oportunidad basados en el movimiento del mercado durante el último mes.
Al verificarse entre sí, las dos estrategias combinadas capturan los puntos clave de inflexión del mercado con mayor precisión y generan señales comerciales más precisas.
123 patrones no pueden evitar completamente el riesgo de fallas erráticas.
La volatilidad estadística solo considera datos históricos y no puede predecir cambios futuros en la volatilidad.
Ambas estrategias dependen en gran medida del ajuste de parámetros.
Aunque es más confiable en general, el enfoque combinado puede perder algunas señales fuertes de las estrategias individuales.
Incorporar más indicadores como Bollinger Bands, KDJ para formar un mecanismo de votación.
Añadir algoritmos de aprendizaje automático para determinar las probabilidades de inversión de tendencia utilizando más datos históricos.
Establezca umbrales de intensidad de la señal para filtrar el ruido.
Optimizar los parámetros para diferentes productos y plazos.
Añadir mecanismos de stop loss para controlar el riesgo de la estrategia combinada.
La estrategia mejora la calidad de la señal al combinar estrategias de inversión de tendencia y volatilidad estadística, proporcionando señales comerciales más precisas alrededor de los puntos de inflexión del mercado.
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-23 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 31/07/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 // This indicator used to calculate the statistical volatility, sometime // called historical volatility, based on the Extreme Value Method. // Please use this link to get more information about Volatility. // // 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 SV(Length,TopBand,LowBand) => pos = 0.0 xMaxC = highest(close, Length) xMaxH = highest(high, Length) xMinC = lowest(close, Length) xMinL = lowest(low, Length) SqrTime = sqrt(253 / Length) Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5 nRes = iff(Vol < 0, 0, iff(Vol > 2.99, 2.99, Vol)) pos := iff(nRes > TopBand, 1, iff(nRes < LowBand, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Statistical Volatility", 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, "---- Statistical Volatility ----") LengthSV = input(30, minval=1) TopBand = input(0.005, step=0.001) LowBand = input(0.0016, step=0.001) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posSV = SV(LengthSV,TopBand,LowBand) pos = iff(posReversal123 == 1 and posSV == 1 , 1, iff(posReversal123 == -1 and posSV == -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 )