Estrategia de seguimiento de tendencias basada en la media móvil de Hull y el rango real


Fecha de creación: 2024-01-15 15:26:08 Última modificación: 2024-01-15 15:26:08
Copiar: 0 Número de Visitas: 775
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en la media móvil de Hull y el rango real

Descripción general

La idea central de esta estrategia es identificar la dirección de la tendencia del mercado en combinación con la línea media de Hull y la amplitud de la onda real (ATR) y entrar en el mercado después de la confirmación de la dirección de la tendencia. Concretamente, se calcula el diferencial entre la línea media de Hull en un período determinado y la línea media de Hull del período anterior.

Principio de estrategia

Esta estrategia se basa principalmente en dos tipos de indicadores: la línea media de Hull y el ATR.

La línea media de Hull es un indicador de seguimiento de tendencias desarrollado por el comerciante de futuros estadounidense Alan Hull. La línea media de Hull es similar a la media móvil, pero la línea media de Hull tiene una mayor sensibilidad para capturar las tendencias de los cambios de precio más rápidamente. La estrategia tiene un parámetro ajustable hullLength para controlar la longitud del ciclo de la línea media de Hull, para determinar la dirección de la tendencia de los precios actuales mediante el cálculo de la diferencia entre el ciclo actual y el promedio de Hull del ciclo anterior.

ATR es el promedio verdadero rango, es decir, la amplitud real. Refleja la amplitud de las fluctuaciones diarias de los precios. Cuando la fluctuación aumenta, la amplitud real aumenta; cuando la fluctuación disminuye, la amplitud real disminuye.

En concreto, la lógica de la estrategia es la siguiente:

  1. Calcula el promedio de Hull currentHullMA del ciclo actual (en el ajuste de hullLength) y el promedio de Hull previousHullMA del ciclo anterior
  2. Calcula el diferencial entre ambos hullDiff = currentHullMA - previousHullMA
  3. Cuando hullDiff > 0 se juzga como tendencia de más cabezas; cuando hullDiff < 0 se juzga como tendencia de cabezas vacías
  4. Al mismo tiempo, se calcula el valor de ATR de un período determinado (en la configuración atLength) como un indicador de la amplitud de la tendencia
  5. Hacer más cuando se juzgue como una tendencia a la cabeza y el ATR es mayor que el precio y el precio es mayor que el precio antes del período de atrLength; hacer más cuando se juzgue como una tendencia a la cabeza y el ATR es menor que el precio y el precio es menor que el precio antes del período de atrLength
  6. La señal de equilibrio se determina por el diferencial positivo-negativo del hull

Análisis de las ventajas estratégicas

La estrategia tiene las siguientes ventajas:

  1. La combinación de un juicio de tendencia y un indicador de volatilidad permite optar por entrar cuando la tendencia de los precios es clara y la volatilidad aumenta, evitando quedar atrapado en un mercado convulso.
  2. La línea media de Hull es más sensible a los cambios en los precios y puede juzgar rápidamente la dirección de las nuevas tendencias.
  3. El ATR refleja la volatilidad y el calor del mercado y sirve de base para la elección de la hora de entrada.
  4. Hay más parámetros ajustables que se pueden optimizar para obtener la mejor combinación de parámetros.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. La línea media del casco y el ATR no pueden evitar completamente el problema de la falsa brecha, y aún así es posible que se encuentre en la misma.
  2. La configuración incorrecta de los parámetros puede causar que las transacciones sean frecuentes o no lo suficientemente sensibles, lo que afecta la eficacia de la estrategia.
  3. No puede responder eficazmente a situaciones extremas, como una subida rápida, una ruptura o una caída.

Resolución de las mismas:

  1. La detención debe ser con la debida flexibilidad para evitar ser forzado a entrar en la celda.
  2. Optimizar los parámetros mediante pruebas repetidas para adaptar los indicadores a las diferentes circunstancias del mercado.
  3. La estrategia de suspensión de la operación en caso de una situación extrema.

Dirección de optimización

El espacio para la optimización de esta estrategia es amplio y se puede comenzar principalmente en los siguientes aspectos:

  1. Prueba los diferentes parámetros del ciclo de la línea media de Hull para encontrar la configuración de ciclo más adecuada para el entorno de mercado actual.
  2. Prueba diferentes combinaciones de parámetros de ATR para encontrar el ciclo que mejor capta el calor del mercado.
  3. Pruebe diferentes tipos de suavización de ATR (RMA, SMA, EMA, etc.) para ver cuál es la que mejor funciona.
  4. Optimización de las condiciones de apertura de posiciones, como la combinación de los indicadores de volatilidad Reaction y ATR.
  5. Optimización de los métodos de detención de pérdidas, flexibilización adecuada de la amplitud de detención de pérdidas y evitación de la fijación.

Resumir

Esta estrategia integra la capacidad de seguimiento de tendencias de la línea media de Hull y la capacidad de juicio de indicadores de calor de ATR, y al confirmar una tendencia, al mismo tiempo que selecciona un punto de entrada de tiempo positivo y con gran fluctuación, puede filtrar algunas señales no eficaces. La optimización de los parámetros de los indicadores y el uso de medios de gestión de riesgos pueden aumentar aún más la eficacia de la estrategia. En general, esta estrategia combina varios factores de seguimiento de tendencias y juicio de calor, que pueden obtener mejores resultados si los parámetros se ajustan y optimizan.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//                                                Hull cross and ATR
strategy("Hull cross and ATR", shorttitle="H&ATR", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Hull Length",defval=50)
length = input(title="ATR Length", defval=50, minval=1)
smoothing = input(title="ATR Smoothing", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"])
p=input(ohlc4,title="Price data")
n2ma=2*wma(p,round(keh/2))
nma=wma(p,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(p[1],round(keh/2))
nma1=wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
ma_function(source, length) => 
    if smoothing == "RMA"
        rma(p, length)
    else
        if smoothing == "SMA"
            sma(p, length)
        else
            if smoothing == "EMA"
                ema(p, length)
            else
                wma(p, length)
plot(ma_function(tr(true), length), title = "ATR", color=black, transp=50)
closelong = n1<n2
if (closelong)
    strategy.close("buy")
closeshort = n1>n2
if (closeshort)
    strategy.close("sell")
if (ma_function(tr(true), length)<p and p>p[length] and n1>n2)
    strategy.entry("buy", strategy.long, comment="BUY")
if (ma_function(tr(true), length)>p and p<p[length] and n1<n2)
    strategy.entry("sell", strategy.short, comment="SELL")