Esta estrategia implementa la negociación cuantitativa mediante el cálculo de la media móvil de Hull y sus bandas porcentual para tomar decisiones de entrada y stop-loss. Sus ventajas incluyen parámetros ajustables, implementación simple y estricta stop loss.
Calcular la media móvil del casco con la longitud de la longitud.
Las bandas de porcentaje de gráficos xL1, xL3, xL2, xL4 basadas en el casco.
Long cuando el cierre se cruza por debajo de xL2 o xL4, close long cuando el cierre se cruza por encima de xL1, xL2 o xL3.
Las ventajas incluyen:
HullMA es sensible a los cambios de precios y sigue bien las tendencias.
Las bandas de porcentaje son muy ajustables para diferentes productos.
La estrategia de doble banda filtra las señales equivocadas de manera efectiva.
La estrategia de stop loss controla los riesgos de manera efectiva.
Algunos riesgos:
Persiguiendo picos y matando bajas.
Deslizamiento por el comercio frecuente.
El ajuste incorrecto de los parámetros conduce a un exceso de comercio.
La posición stop loss necesita optimización iterativa.
Algunas direcciones de optimización:
Optimizar el parámetro de longitud del casco MA para diferentes productos.
Optimice las bandas de porcentaje para reducir las operaciones incorrectas.
Agregue operaciones a corto plazo para obtener más ganancias.
Optimizar la estrategia de stop loss para garantizar su eficacia.
Prueba de robustez en diferentes productos.
Esta estrategia construye un sistema de negociación de ruptura relativamente simple utilizando HullMA y bandas porcentuales.
/*backtest start: 2023-03-01 00:00:00 end: 2024-02-29 00:00:00 period: 5d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("hullma percentage lines", overlay=true) length = input(9, minval=1) src = input(close, title="Source") hullma = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length))) plot(hullma) Uband1 = input(3, minval=1, step = .5) Lband1 = input(3, minval=1, step = .5) Uband2 = input(6, minval=1, step = .5) Lband2 = input(6, minval=1, step = .5) v1 = Uband1+100 v2 = 100 - Lband1 v3 = Uband2+100 v4 = 100 - Lband2 xL1 = (hullma / 100) * v1 xL2 = (hullma / 100) * v2 xL3 = (hullma / 100) * v3 xL4 = (hullma / 100) * v4 plot(xL1, color=yellow, title="H1") plot(xL2, color=yellow, title="L1") plot(xL3, color=yellow, title="H2") plot(xL4, color=yellow, title="L2") longCondition1 = crossover(close, xL4) if (longCondition1) strategy.entry("l1", strategy.long) longCondition2 = crossover(close, xL2) if (longCondition2) strategy.entry("l1", strategy.long) shortCondition1 = crossover(close, xL1) if (shortCondition1) strategy.close("l1", strategy.long) shortCondition2 = crossover(close, xL2) if (shortCondition2) strategy.close("l1", strategy.long) shortCondition3 = crossover(close, xL3) if (shortCondition3) strategy.close("l1", strategy.long)