A estratégia de tendência de cruzamento de média móvel é uma estratégia de tendência baseada em sinais de cruzamento de média móvel.
A estratégia usa o cruzamento do histograma MACD e da linha de sinal para identificar o início e o fim das tendências. Especificamente, ele constrói o histograma MACD com base na EMA rápida de 12 períodos e na EMA lenta de 26 períodos. Quando o histograma cruza acima da linha de sinal, um sinal de compra é gerado, indicando o início de uma tendência de alta. Quando o histograma cruza abaixo da linha de sinal, um sinal de venda é acionado, marcando o início de uma tendência de queda.
Para as entradas, a estratégia só dura quando um sinal de compra é gerado no gráfico de 15 minutos para capitalizar o estágio inicial dos começos da tendência.
A maior vantagem desta estratégia é a sua capacidade de captar o início da tendência em tempo hábil e sair de sinais de reversão, alcançando boas taxas de risco-recompensação.
Existem também alguns riscos, principalmente nos seguintes aspectos:
Para mitigar os riscos, podem ser realizadas otimizações em:
Os principais aspetos para otimizar ainda mais a estratégia incluem:
Em geral, a estratégia de tendência de cruzamento de média móvel é um sistema simples e prático de acompanhamento de tendências. Capitaliza as tendências identificando começos e finais usando cruzamento do MACD e combinando posições de curto e longo prazo. As vantagens estão em suas entradas oportunas, paradas eficazes e equilíbrio de risco-recompensa.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Moving Average Convergence Divergence", shorttitle="MACD", overlay=true) // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src = input(title="Source", defval=close) signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=9) sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"]) // Calculating MACD fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal_line = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) // Entry conditions longCondition = macd < 0 and ta.crossover(macd, signal_line) shortCondition = ta.crossover(signal_line, macd) // Plot signals plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal") // Strategy if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)