Estrategia de media móvil de doble casco


Fecha de creación: 2023-09-15 16:39:48 Última modificación: 2023-09-15 16:43:45
Copiar: 0 Número de Visitas: 1525
1
Seguir
1617
Seguidores

Principio de estrategia:

La estrategia de las medias móviles HULL es una estrategia de negociación basada en el indicador de medias móviles HULL creado por Alan HULL. La estrategia utiliza dos medias móviles HULL, una línea larga y una línea corta, para determinar el momento de comprar y vender. La media móvil HULL es una media móvil mejorada que reduce el atraso al ponderar la media de los precios.

La fórmula para calcular el promedio móvil HULL 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)))

Dentro de ellos, PDL representa el período largo y PDS representa el período corto. La estrategia determina las condiciones de compra y venta comparando los valores de las líneas corta y larga.

Análisis de las ventajas:

  1. Reducción de la latencia: Las medias móviles HULL tienen menos latencia en comparación con las medias móviles tradicionales y pueden responder más rápidamente a los cambios en la tendencia de los precios, proporcionando una señal de compra y venta más precisa.
  2. Sencilla y fácil de entender: La estrategia utiliza dos medias móviles para el juicio cruzado, la lógica es relativamente simple, fácil de entender y aplicar.
  3. Alta personalización: los parámetros de ciclo en la estrategia se pueden ajustar según el mercado específico y la variedad de transacciones, para que la estrategia se adapte mejor a diferentes entornos de negociación.

Análisis de riesgos:

  1. La oscilación del mercado: durante la fase de oscilación del mercado, los promedios móviles pueden cruzarse con frecuencia, lo que lleva a señales de compra y venta frecuentes, que son propensas a generar señales erróneas, lo que provoca operaciones frecuentes y pérdidas.
  2. Puntos de deslizamiento y retrasos: la ejecución de la estrategia se ve afectada por puntos de deslizamiento y retrasos, especialmente en operaciones de alta frecuencia, lo que puede provocar que el precio de ejecución no coincida con el precio esperado y afecte a los resultados de las operaciones.
  3. Dependencia de un solo indicador: la estrategia depende solo del indicador de promedios móviles HULL, sin la combinación de otros indicadores técnicos o inteligencia de mercado, y puede no capturar completamente los cambios y tendencias del mercado.

En resumen:

La estrategia de promedio móvil HULL doble es una estrategia de negociación basada en promedios móviles HULL para determinar el momento de comprar y vender mediante la comparación de las líneas de corto plazo y las líneas de largo plazo. La estrategia tiene la ventaja de reducir el retraso, ser simple y fácil de entender y altamente personalizable, pero también existe el riesgo de fluctuaciones, deslizamientos y retrasos en el mercado y la dependencia de un solo indicador. En la práctica, la estrategia se puede ajustar y optimizar en función de las circunstancias, combinada con otros indicadores técnicos y métodos de gestión de riesgos para mejorar el éxito y la rentabilidad de las operaciones.

Código Fuente de la Estrategia
/*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)