A estratégia de cruzamento de tendências é uma estratégia de rastreamento de tendências baseada em sinais de cruzamento de médias móveis. A estratégia usa o cruzamento de medias móveis rápidas e médias móveis lentas para determinar a tendência do mercado, estabelecendo posições no início da tendência e parando quando o sinal de fim da tendência aparece.
A estratégia usa a linha de diferença do indicador MACD e o bico de ouro da linha de sinal para determinar o início e o fim da tendência. Especificamente, usa uma EMA rápida de 12 ciclos e uma EMA lenta de 26 ciclos para construir uma linha de diferença do MACD. Quando a linha de diferença atravessa a linha de sinal, um sinal de compra é gerado, indicando o início da tendência do mercado de touros; quando a linha de diferença atravessa a linha de sinal, um sinal de venda é gerado, indicando o início da tendência do mercado de ursos.
No momento da entrada, a estratégia só é usada para abrir mais posições quando a linha K produz um sinal de compra em 15 minutos, aproveitando a oportunidade de entrar no mercado no início da tendência. No equilíbrio de stop loss, ela indica uma reversão da tendência quando um bico morto atravessa a linha de sinal abaixo da linha de desvio do MACD da linha K em 4 horas, o que significa que todas as posições são paradas.
A maior vantagem desta estratégia é ser capaz de aproveitar as oportunidades de início de tendências em tempo hábil, mas também de parar os prejuízos em tempo hábil através de sinais de forca morta, obtendo um bom risco-recompensa.
A estratégia também apresenta alguns riscos, concentrados principalmente nos seguintes aspectos:
Para reduzir esses riscos, pode-se otimizar em vários aspectos:
A estratégia pode ser melhorada principalmente nos seguintes aspectos:
A estratégia de cruzamento de linha média é uma estratégia simples e prática de rastreamento de tendências. Ela determina o início e o fim da tendência através do cruzamento rápido da linha média do MACD e combina uma combinação de curto e longo. A estratégia tem a vantagem de entrar em tempo, parar de perder e equilibrar os riscos e os ganhos.
/*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)