La estrategia de seguimiento de tendencias de promedios móviles dobles es una estrategia de trading cuantitativa que utiliza dos promedios móviles con períodos diferentes para determinar la dirección de tendencia del mercado.
La estrategia emplea dos promedios móviles, incluyendo un promedio móvil rápido (por ejemplo, 10 períodos) y un promedio móvil lento (por ejemplo, 30 períodos). Si ambos promedios móviles apuntan hacia arriba, indica una tendencia alcista. Si ambos promedios móviles apuntan hacia abajo, indica una tendencia bajista.
Específicamente, la estrategia primero calcula los promedios móviles rápidos y lentos. Luego compara el promedio móvil rápido actual con el período anterior para ver si el actual es mayor que el anterior. Si es así, asigna el valor 1 que indica tendencia alcista. De lo contrario, asigna -1 para tendencia descendente. Haga lo mismo para el promedio móvil lento.
Finalmente, determine la tendencia por los valores de las dos medias móviles. Si ambos valores son 1, la decisión final es 1, lo que indica tendencia alcista. Si ambos son -1, la decisión final es -1, lo que indica tendencia bajista. Si los valores son diferentes, mantenga la decisión de tendencia anterior.
Una vez identificada la dirección de la tendencia, la estrategia será larga en tendencia alcista y corta en tendencia bajista.
La estrategia tiene las siguientes ventajas:
También existen algunos riesgos de la estrategia:
Para reducir los riesgos, los parámetros de las medias móviles pueden establecerse de manera más razonable, se pueden introducir otros indicadores, establecer un stop loss y un take profit y ajustar el tamaño de la posición en consecuencia.
La estrategia se puede optimizar aún más en los siguientes aspectos:
La estrategia de seguimiento de tendencia de la media móvil dual tiene una lógica clara de usar medias móviles duales para filtrar el ruido e identificar la tendencia, y comerciar a lo largo de la dirección de la tendencia. Es una estrategia típica de tendencia. Los comerciantes pueden elegir solo largo o corto basado en la preferencia. Todavía hay algunos riesgos de la estrategia.
/*backtest start: 2022-12-12 00:00:00 end: 2023-12-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © noro // 2020 //@version=4 strategy(title = "Noro's TrendMA Strategy", shorttitle = "TrendMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1) //Settings needlong = input(true, title = "Long") needshort = input(true, title = "Short") fast = input(10, minval = 1, title = "MA Fast (red)") slow = input(30, minval = 2, title = "MA Slow (blue)") type = input(defval = "SMA", options = ["SMA", "EMA"], title = "MA Type") src = input(ohlc4, title = "MA Source") showma = input(true, title = "Show MAs") showbg = input(false, title = "Show Background") //MAs fastma = type == "EMA" ? ema(src, fast) : sma(src, fast) slowma = type == "EMA" ? ema(src, slow) : sma(src, slow) //Lines colorfast = showma ? color.red : na colorslow = showma ? color.blue : na plot(fastma, color = colorfast, title = "MA Fast") plot(slowma, color = colorslow, title = "MA Slow") //Trend trend1 = fastma > fastma[1] ? 1 : -1 trend2 = slowma > slowma[1] ? 1 : -1 trend = 0 trend := trend1 == 1 and trend2 == 1 ? 1 : trend1 == -1 and trend2 == -1 ? -1 : trend[1] //Backgrouns colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na bgcolor(colbg, transp = 80) //Trading if trend == 1 if needlong strategy.entry("Long", strategy.long) if needlong == false strategy.close_all() if trend == -1 if needshort strategy.entry("Short", strategy.short) if needshort == false strategy.close_all()