Tendencia de la media móvil del casco siguiendo la estrategia

El autor:¿ Qué pasa?, Fecha: 2023-11-02 14:57:37
Las etiquetas:

img

Resumen general

Esta estrategia se basa en el indicador del Hull Moving Average para construir una tendencia siguiendo el sistema de negociación.

Estrategia lógica

Esta estrategia utiliza el promedio móvil de Hull como el principal indicador técnico. El promedio móvil de Hull fue propuesto por el comerciante estadounidense Alan Hull en 2005.

Específicamente, el promedio móvil de Hull contiene dos promedios: uno es el promedio móvil MA ((n) del período n, el otro es el promedio móvil MA ((n/2) del período n/2.

Cuando la curva de Hull se inclina hacia arriba, la media móvil de período más corto cruza por encima de la del período más largo, dando una señal larga.

Esta estrategia establece el período n de la curva de Hull a 16. Cálcula el MA de 8 períodos (n/2=8), el MA de 16 períodos y la diferencia entre ellos para obtener la curva de Hull. Luego toma el MA de 4 períodos (raíz cuadrada de n=4) de la curva de Hull en sí. Cuando la curva de Hull se cruza hacia arriba, va largo. Cuando la curva de Hull se cruza hacia abajo, va corto.

Análisis de ventajas

En comparación con las medias móviles ordinarias, la media móvil Hull tiene las siguientes ventajas:

  1. Al usar una función de raíz cuadrada, la curva de Hull abraza la acción del precio más cerca y es más rápida para detectar inversiones de tendencia.

  2. La curva de casco puede filtrar algo de ruido y evitar intercambios innecesarios.

  3. La curva del casco solo necesita un parámetro n, lo que facilita la optimización.

  4. El valor n de la curva del casco se puede ajustar para diferentes mercados y adaptarse a diferentes instrumentos.

  5. El sistema de casco es robusto y evita la selección manual, adherirse a la consistencia de los sistemas de comercio mecánico.

Análisis de riesgos

A pesar de sus ventajas respecto a los sistemas de medias móviles, el sistema Hull todavía conlleva los siguientes riesgos:

  1. Como una estrategia de persecución de tendencias, los sistemas de casco son propensos a detenerse durante cambios drásticos de tendencia.

  2. La rápida respuesta de las curvas de Hull puede aumentar la frecuencia de las operaciones y conducir a un exceso de operaciones.

  3. La sobreoptimización de parámetros. Tener sólo un parámetro n puede conducir a riesgos de ajuste de curva de la sobreoptimización.

  4. El sistema Hull funciona menos bien para los instrumentos con alta volatilidad. Los parámetros deben ajustarse en consecuencia.

Direcciones de mejora

Basándose en las limitaciones anteriores, la estrategia de media móvil de Hull puede mejorarse en los siguientes aspectos:

  1. Agregue filtros con indicadores adicionales para evitar falsos cruces.

  2. Añadir estrategias de stop loss para controlar las pérdidas de una sola operación, por ejemplo, con trailing stops o take profit stops.

  3. Optimizar la selección de parámetros n para evitar la sobreoptimización.

  4. Utilice modelos de aprendizaje automático como RNN para optimizar dinámicamente los valores de parámetros.

  5. Optimizar los parámetros por separado para diferentes instrumentos utilizando el ajuste de aprendizaje automático.

  6. Optimice el tamaño de la posición para reducir la frecuencia comercial.

Conclusión

La estrategia del Hull Moving Average es una estrategia típica de seguimiento de tendencias. A pesar de sus ventajas sobre los MAs, todavía enfrenta problemas como la sobreoptimización y el sobrecomercio. Podemos mejorar la estrategia a través de la optimización de parámetros, stop losses, dimensionamiento de posiciones, etc. El sistema Hull es simple y práctico. Merece más investigación y mejora al incorporar más indicadores y técnicas para construir un sistema comercial robusto.


/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's HullMA Strategy", shorttitle = "HullMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
n = input(title = "HullMA period", defval=16)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//HullMA
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
ma=plot(n1,color=c)
    
//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if n1 > n2
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if n1 < n2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
if true
    strategy.close_all()

Más.