Esta estrategia genera señales comerciales basadas en el cruce entre las bandas de Bollinger y el indicador de Hull. Se hace largo cuando el indicador de Hull cruza por encima de la banda inferior de las bandas de Bollinger, y se hace corto cuando el indicador de Hull cruza por debajo de la banda superior de las bandas de Bollinger. La estrategia combina la estrategia de ruptura de las bandas de Bollinger y la estrategia de seguimiento de tendencias del indicador de Hull para utilizar las ventajas de ambos.
La estrategia utiliza principalmente el cruce entre las bandas de Bollinger y el indicador Hull para generar señales de negociación.
Las bandas de Bollinger contienen tres líneas: línea media, línea superior e inferior. La línea media es la media móvil de N días, mientras que las líneas superior e inferior son la línea media ± desviación estándar. Si el precio rompe la línea superior, indica una oportunidad de avance; si el precio rompe la línea inferior, indica una oportunidad de devolución.
El indicador de Hull es un indicador de tendencia. Utiliza la diferencia entre dos promedios móviles ponderados de diferentes períodos para determinar la tendencia actual. Si el promedio móvil de corto período está por encima del de largo período, indica una tendencia alcista, y viceversa.
La estrategia combina los puntos fuertes de ambos indicadores. Cuando el indicador Hull cruza por encima de la banda inferior de las bandas de Bollinger, se considera que el precio de las acciones puede entrar en una tendencia alcista, por lo que ir largo. Cuando el indicador Hull cruza por debajo de la banda superior, se considera que el precio de las acciones puede entrar en una devolución a la baja, por lo que ir corto.
Combina los puntos fuertes de las bandas de Bollinger y el indicador de Hull para hacer que las señales comerciales sean más confiables.
Utiliza el indicador Hull para determinar la dirección de la tendencia y las bandas de Bollinger para determinar los niveles de soporte/resistencia, generando señales cruzadas para mejorar la rentabilidad.
Los parámetros de ambos indicadores pueden optimizarse para las existencias de diferentes ciclos para ampliar su aplicabilidad.
La estrategia puede generar más señales falsas durante los movimientos de rango, causando pérdidas.
Los precios pueden fluctuar violentamente, haciendo que ambos indicadores emitan señales simultáneamente. Asegúrese de la secuenciación de la señal para evitar un juicio erróneo de la señal cruzada. Considere agregar stop loss a las pérdidas de control.
La estrategia establece el tamaño de la posición al 100% directamente. En el despliegue real, el tamaño de la posición debe ajustarse para evitar pérdidas ampliadas debido a la apertura completa de la posición.
Prueba y optimización de los parámetros de ambos indicadores para adaptarse a más ciclos de acciones.
Añadir filtros como el volumen de operaciones o la volatilidad para evitar señales erróneas durante la consolidación.
Optimice las estrategias de stop loss estableciendo órdenes de stop loss o stop limit.
Ajustar las reglas de dimensionamiento de la posición añadiendo condiciones de reentrada para evitar el aumento de la pérdida.
Esta estrategia combina la estrategia de ruptura de las bandas de Bollinger y la estrategia de seguimiento de tendencias del indicador Hull mediante el uso de señales de cruce entre ellas para lograr efectos de seguimiento de tendencias y ruptura. La estrategia tiene una fuerte adaptabilidad a las acciones a mediano y corto plazo sin cambios fundamentales importantes. Pero los parámetros, el tamaño de la posición, las estrategias de stop loss aún necesitan optimización durante el despliegue real para hacer que la estrategia sea más robusta.
/*backtest start: 2023-11-30 00:00:00 end: 2023-12-07 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Strategy Hull Bollinger", shorttitle="Hull bollinger",overlay=true, calc_on_order_fills=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=false) n=input(title="period",defval=3) n2ma=2*wma(close,round(n/2)) nma=wma(close,n) diff=n2ma-nma sqn=round(sqrt(n)) n2ma1=2*wma(close[1],round(n/2)) nma1=wma(close[1],n) diff1=n2ma1-nma1 sqn1=round(sqrt(n)) n1=wma(diff,sqn) n2=wma(diff1,sqn) c=n1>n2?green:red i = input(1) PP = close[i] length1 = input(20, minval=1) src = input(close, title="Source") mult = input(2.0, minval=0.001, maxval=10, step=0.2) basis = sma(src, length1) dev = mult * stdev(src, length1) upper = basis + dev lower = basis - dev TP = input(500) * 10 SL = input(500) * 10 TS = input(20) * 10 TO = input(10) * 10 CQ = 100 TPP = (TP > 0) ? TP : na SLP = (SL > 0) ? SL : na TSP = (TS > 0) ? TS : na TOP = (TO > 0) ? TO : na longCondition = crossover(n1,lower) if (longCondition) strategy.entry("Long", strategy.long) shortCondition = crossunder(n1,upper) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Close Short", "Short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP) strategy.exit("Close Long", "Long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)