
A estratégia de tendência de cruzamento de linha média é uma estratégia de acompanhamento de tendência baseada em sinais de cruzamento de média móvel. A estratégia usa médias móveis rápidas e médias móveis lentas para avaliar a tendência do mercado, estabelecendo posições no início da tendência e posições claras quando o sinal de término da tendência aparece.
A estratégia usa a linha de diferença do indicador MACD e a forquilha dourada da linha de sinal para determinar o início e o fim de uma tendência. Concretamente, ela usa um EMA rápido de 12 ciclos e um EMA lento de 26 ciclos para construir a linha de diferença MACD. Quando a linha de diferença atravessa a linha de sinal, gera um sinal de compra, indicando o início de uma tendência de mercado em alta; Quando a linha de diferença atravessa a linha abaixo, gera um sinal de venda, indicando o início de uma tendência de mercado em baixa.
No momento da entrada, a estratégia apenas abre uma posição extra quando a linha K gera um sinal de compra em 15 minutos, aproveitando a oportunidade de entrar no mercado no início da fase de tendência. Em uma posição de parada de perda, ela aparece na linha de diferença de 4 horas da linha K MACD quando um forco morto atravessa a linha de sinal, indicando uma reversão de tendência, que compensa todo o stop loss da posição.
A maior vantagem da estratégia é a capacidade de capturar oportunamente as oportunidades de início da tendência, mas também de parar o prejuízo com um sinal de forquilha morta, obtendo assim uma boa relação risco-receita. As vantagens específicas são as seguintes:
A estratégia também apresenta alguns riscos, que se concentram nos seguintes aspectos:
Para minimizar esses riscos, pode-se fazer otimizar os seguintes aspectos:
A estratégia pode ser aperfeiçoada nos seguintes aspectos:
A estratégia de tendência de cruzamento de linha média é, em geral, uma estratégia de acompanhamento de tendência simples e prática. Ela determina o início e o fim da tendência através do cruzamento de linha média rápida e lenta do MACD, e trabalha com uma combinação de linha curta e longa para aproveitar a tendência.
/*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)