Estratégia MACD e RSI de confirmação dupla

Autora:ChaoZhang, Data: 2024-02-18 16:24:06
Tags:

img

Resumo

Esta estratégia combina o indicador MACD e o indicador RSI para implementar um mecanismo de confirmação dupla para os sinais de entrada, equilibrando a rentabilidade e o controlo do risco, visando rendimentos constantes a médio e longo prazo.

Estratégia lógica

A estratégia usa principalmente o indicador MACD para determinar tendências de mercado e pontos de entrada. Um cruzamento da linha MACD acima da linha de sinal é considerado um sinal de compra, enquanto um cruzamento da linha MACD abaixo da linha de sinal é como sinal de venda. Além disso, a área de sobrecompra do indicador RSI é usada para filtrar falsos breakouts. A estratégia só emite um sinal de compra quando o sinal de compra MACD ocorre e o indicador RSI não entrou na zona de sobrecompra.

Para garantir a confiabilidade dos sinais de negociação, esta estratégia também incorpora análise de volume. Somente quando o volume é maior que o volume médio de 20 dias, a estratégia emitirá sinais de negociação. Isso evita sinais errados quando o mercado tem volume de negociação insuficiente.

Por fim, a estratégia também usa a direção dos corpos do candelabro como uma maneira de rastrear paradas e confirmações.

Análise das vantagens

  • O MACD julga as tendências do mercado e os pontos de entrada, permitindo a entrada no início das tendências para um maior potencial de lucro
  • O RSI evita entrar durante os níveis de sobrecompra/supervenda, reduzindo as perdas
  • A análise do volume continua a filtrar sinais falsos, aumentando a rentabilidade
  • O controlo dos riscos por candelabro

Análise de riscos

  • O MACD tem capacidade de atraso e pode perder inversões de tendência a curto prazo
  • As regras de volume podem não observar tendências decorrentes de baixos volumes
  • As paradas de candlestick podem ser interrompidas por picos de curto prazo

Orientações de otimização

  • Considere a adição de mais indicadores de filtragem como as Bandas de Bollinger para melhorar ainda mais a qualidade do sinal
  • Teste de adição de paradas ferroviárias para garantir lucros a longo prazo
  • Otimizar as combinações dos parâmetros MACD para aumentar a sensibilidade do indicador

Resumo

No geral, esta estratégia equilibra a estabilidade e a lucratividade. O MACD julga a tendência principal, o RSI e o volume fornecem filtragem dupla para melhorar a qualidade do sinal, o rastreamento de velas para controlar o risco. A estratégia pode ser melhorada através da otimização de parâmetros e incorporando indicadores técnicos adicionais.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Al-Sat Sinyali ve Teyidi", overlay=true)

// MACD (Hareketli Ortalama Yakınsaklık Sapma)
[macdLine, signalLine, _] = ta.macd(close, 5, 13, 5)

// RSI (Göreceli Güç Endeksi)
rsiValue = ta.rsi(close, 14)

// Hacim
volumeAverage = ta.sma(volume, 20)

// RSI ve MACD Filtreleri
rsiOverbought = rsiValue > 70
rsiOversold = rsiValue < 30
macdBuySignal = ta.crossover(macdLine, signalLine) and not rsiOverbought
macdSellSignal = ta.crossunder(macdLine, signalLine) and not rsiOversold

// Al-Sat Stratejisi
shouldBuy = ta.crossover(close, open) and not ta.crossover(close[1], open[1]) and macdBuySignal and volume > volumeAverage
shouldSell = ta.crossunder(close, open) and not ta.crossunder(close[1], open[1]) and macdSellSignal and volume > volumeAverage

strategy.entry("Buy", strategy.long, when=shouldBuy)
strategy.entry("Sell", strategy.short, when=shouldSell)

// Teyit için bir sonraki mumu bekleme
strategy.close("Buy", when=ta.crossover(close, open))
strategy.close("Sell", when=ta.crossunder(close, open))

// Görselleştirmeyi devre dışı bırakma
plot(na)

// Al-Sat Etiketleri
plotshape(series=shouldBuy, title="Al Sinyali", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, text="Al")
plotshape(series=shouldSell, title="Sat Sinyali", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sat")

// Varsayımsal bir sonraki mumun kapanış fiyatını hesapla
nextBarClose = close[1]
plot(nextBarClose, color=color.blue, linewidth=2, title="Tahmin Edilen Kapanış Fiyatı")


Mais.