A estratégia de rastreamento de tendência de média móvel dupla é uma estratégia quantitativa de negociação que usa duas médias móveis com períodos diferentes para determinar a direção da tendência do mercado.
A estratégia emprega duas médias móveis, incluindo uma média móvel rápida (por exemplo, de 10 períodos) e uma média móvel lenta (por exemplo, de 30 períodos).
Especificamente, a estratégia primeiro calcula as médias móveis rápidas e lentas. Em seguida, compara a média móvel rápida atual com o período anterior para ver se a atual é maior que a anterior. Se sim, atribuir valor 1 indicando tendência ascendente. Caso contrário, atribuir -1 para tendência descendente. Faça o mesmo para a média móvel lenta.
Finalmente, determine a tendência pelos valores das duas médias móveis. Se ambos os valores forem 1, a decisão final é 1, indicando tendência de alta. Se ambos forem -1, a decisão final é -1, indicando tendência de queda. Se os valores forem diferentes, mantenha a decisão de tendência anterior.
Após a identificação da direcção da tendência, a estratégia será longa na tendência ascendente e curta na tendência descendente.
A estratégia tem as seguintes vertentes:
Há também alguns riscos da estratégia:
Para reduzir os riscos, os parâmetros das médias móveis podem ser definidos de forma mais razoável, podem ser introduzidos outros indicadores, podem ser definidos stop loss e take profit e o tamanho da posição pode ser ajustado em conformidade.
A estratégia pode ser ainda melhorada nos seguintes aspectos:
A estratégia de rastreamento de tendência de média móvel dupla tem uma lógica clara de usar médias móveis duplas para filtrar o ruído e identificar a tendência e negociar ao longo da direção da tendência. É uma estratégia típica de tendência. Os comerciantes podem escolher longo ou curto apenas com base na preferência.
/*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()