La Estrategia de promedio móvil doble HULL es una estrategia de negociación basada en el indicador de promedio móvil HULL (HMA) creado por Alan HULL. La estrategia utiliza dos líneas HMA, una línea a largo plazo y una línea a corto plazo, para determinar los puntos de entrada y salida.
La fórmula de cálculo de la HMA es la siguiente:
HmaL = wma(2 * wma(close, round(PDL/2)) - wma(close, PDL), round(sqrt(PDL)))
HmaS = wma(2 * wma(close, round(PDS/2)) - wma(close, PDS), round(sqrt(PDS)))
En este caso, PDL representa el período a más largo plazo y PDS representa el período a más corto plazo.
La Estrategia de promedio móvil doble HULL es una estrategia de negociación basada en el indicador de promedio móvil HULL. Utiliza el cruce de líneas HMA a corto y largo plazo para determinar los puntos de entrada y salida. La estrategia ofrece ventajas como reducción de retraso, simplicidad y alta personalización. Sin embargo, también conlleva riesgos relacionados con la volatilidad del mercado, el deslizamiento y la latencia, y la dependencia de un solo indicador. En aplicaciones prácticas, la estrategia se puede ajustar y optimizar en función de circunstancias específicas, incorporando otros indicadores técnicos y métodos de gestión de riesgos para mejorar el éxito y la rentabilidad de la negociación.
/*backtest start: 2023-09-07 00:00:00 end: 2023-09-14 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // Credit Indicator from KIVANC // author and idea: KIVANC @fr3762 on twitter // creator: Alan HULL // strategy("Double HULL Moving Average Strategy", overlay=true) PDL=input(title="LongerPeriod", defval=21, minval=1,maxval=500) PDS=input(title="ShorterPeriod", defval=8, minval=1,maxval=500) // === INPUT BACKTEST RANGE === FromYear = input(defval = 2019, title = "From Year", minval = 2009) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2009) ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" HmaL=wma(2*wma(close,round(PDL/2))-wma(close,PDL),round(sqrt(PDL))) HmaS=wma(2*wma(close,round(PDS/2))-wma(close,PDS),round(sqrt(PDS))) plot(HmaL,color=red, linewidth=2) plot(HmaS,color=blue, linewidth=2) Buy = HmaS > HmaL Sell = HmaS < HmaL strategy.entry("Buy",true,when=window() and Buy) strategy.close_all(when=window() and Sell)