Estrategia de seguimiento de tendencias basada en el cruce de medias móviles


Fecha de creación: 2024-01-31 15:17:31 Última modificación: 2024-01-31 15:17:31
Copiar: 1 Número de Visitas: 597
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias basada en el cruce de medias móviles

Descripción general

Esta estrategia determina la tendencia de los mercados y realiza un seguimiento de la tendencia mediante el cálculo de diferentes tipos de medias (SMA, EMA, HMA y VWMA) y la búsqueda de sus puntos de cruce. Se genera una señal de compra cuando una media más corta atraviesa una media más larga desde abajo; se genera una señal de venta cuando una media más corta atraviesa una media más larga desde arriba.

Principio de estrategia

Esta estrategia se basa en la comparación de las relaciones entre dos líneas medias diferentes para determinar el movimiento del mercado. En concreto, el tipo y la longitud de las dos líneas medias se establecen a través de los parámetros de entrada. La primera de las líneas medias es más larga y representa la tendencia a largo plazo; la segunda es más corta y representa la tendencia a corto plazo.

Cuando la media corta cruza la media larga desde abajo, la tendencia corta se fortalece y el precio entra en una tendencia alcista, por lo tanto, emite una señal de compra en este cruce. Por el contrario, cuando la media corta cruza la media larga desde arriba, la tendencia corta se debilita y el precio entra en una tendencia bajista, por lo tanto, emite una señal de venta en este cruce.

El sistema de arbitraje es un sistema de arbitraje que permite a los inversores seguir las tendencias del mercado.

Ventajas estratégicas

  • El uso de la medianía de la línea de cruce en las principales tendencias es un indicador técnico clásico y práctico.
  • Soporta una variedad de diferentes tipos de combinaciones de línea media, alta flexibilidad
  • La lógica de la estrategia es simple, clara y fácil de entender, adecuada para la automatización de transacciones cuantitativas
  • Parámetros configurables con flexibilidad para diferentes entornos de mercado

Análisis de riesgos

  • La línea media tiene un carácter de retraso, cuando se emite una señal de cruce, el movimiento de los precios puede haber ocurrido o estar cerca de un punto de reversión, existe un cierto riesgo de error de retraso
  • El juicio de tendencias puede ser erróneo y causar pérdidas innecesarias
  • Se requiere una configuración razonable de los parámetros de la línea media, los diferentes parámetros pueden causar una gran diferencia en los resultados

La solución al riesgo:

  • Reducir adecuadamente el ciclo de medias y aumentar la sensibilidad a los cambios en el mercado
  • Verificación en combinación con otros indicadores para evitar errores
  • Métodos de optimización de parámetros: recorrido, aprendizaje automático, algoritmos genéticos, etc.
  • Control adecuado del tamaño de las posiciones y los puntos de parada

Dirección de optimización de la estrategia

  • Aumentar la precisión de la toma de decisiones mediante la adición de filtros de otros indicadores, combinados con varios indicadores
  • Ajuste automático de los parámetros de la línea media según el entorno del mercado
  • Parámetros de búsqueda automática de ventajas en combinación con algoritmos de aprendizaje automático
  • Optimización de las estrategias de stop loss

Resumir

Esta estrategia se basa en el pensamiento clásico de las tendencias principales de la determinación de la cruz de la línea de uniformidad, y se aplica de manera flexible a través de una combinación de diferentes líneas de uniformidad. La lógica de la estrategia es simple, fácil de implementar y adecuada para la automatización de la negociación. En general, la estrategia tiene cierta utilidad, pero también hay espacio para mejorar y optimizar.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//study(title="MA Crossover Strategy", overlay = true)
strategy("MA Crossover Strategy", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(25, title="1st MA Length")
type1 = input("HMA", "1st MA Type", options=["SMA", "EMA", "HMA", "VWMA"])

ma2 = input(7, title="2nd MA Length")
type2 = input("HMA", "2nd MA Type", options=["SMA", "EMA", "HMA", "VWMA"])

f_hma(_src, _length)=>
    _return = wma((2*wma(_src, _length/2))-wma(_src, _length), round(sqrt(_length)))

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    if (type1 == "EMA")
        ema(price, ma1)
    else
        if (type1 == "VWMA")
            vwma(price, ma1)
        else
            f_hma(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    if (type2 == "EMA")
        ema(price, ma2)
    else
        if (type2 == "VWMA")
            vwma(price, ma2)
        else
            f_hma(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


longCondition = crossover(price1, price2)
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = crossunder(price1, price2)
if (shortCondition)
    strategy.entry("Short", strategy.short)