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


Data de criação: 2024-02-18 16:24:06 última modificação: 2024-02-18 16:24:06
cópia: 0 Cliques: 1158
1
focar em
1617
Seguidores

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

Visão geral

Esta estratégia permite um mecanismo de entrada de dupla confirmação através da combinação de indicadores MACD e RSI, alcançando um equilíbrio entre a capacidade de lucratividade e o controle de risco, com o objetivo de obter resultados estáveis na linha média e longa.

Princípio da estratégia

A estratégia utiliza principalmente o indicador MACD para determinar a tendência do mercado e o momento de entrada. A linha de sinal de ruptura da linha MACD é considerada um sinal de compra, e a linha de sinal de queda da linha MACD é um sinal de venda. Além disso, a área de sobrevenda do indicador RSI é usada para filtrar a falsa ruptura.

Para garantir a confiabilidade dos sinais de negociação, a estratégia também inclui o julgamento do volume de transações. A estratégia só emite um sinal de negociação quando o volume de transações é maior do que a média de transações de 20 dias. Isso evita o sinal de erro que ocorre quando o volume de transações no mercado é insuficiente.

Finalmente, a estratégia também usa a direção da entidade de linha K como uma forma de rastrear e confirmar o stop loss. Quando a direção da entidade de linha K muda, a posição atual é liquidada. Isso pode bloquear o lucro e evitar o retorno do lucro.

Análise de vantagens

  • O MACD é usado para determinar a tendência do mercado e o momento de entrada, permitindo a entrada no início da tendência e a maior margem de lucro.
  • O RSI evita entrar em zonas de sobrecompra e sobrevenda para reduzir perdas
  • A avaliação do volume de transações pode filtrar ainda mais os falsos sinais e aumentar a probabilidade de lucro
  • K-line entities rastreiam o stop loss de forma razoável e controlam o risco muito bem

Análise de Riscos

  • MACD está atrasado e pode ter perdido a reversão da linha curta
  • A regra de volume de transação pode ter perdido a tendência de inicialização de baixo volume
  • O K-line stop loss pode ser atingido por um surto de curto prazo

Direção de otimização

  • Considere a adição de mais indicadores de filtragem, como o julgamento da faixa de Brin, para melhorar ainda mais a qualidade do sinal.
  • Pode ser testado adicionando perda de trajetória para bloquear o ganho de linha longa
  • Pode-se tentar otimizar a combinação de parâmetros do MACD, aumentando a sensibilidade do indicador

Resumir

Esta estratégia tem um equilíbrio entre estabilidade e rentabilidade. A MACD julga a tendência principal, o RSI e a dupla filtragem do volume de transação melhoram a qualidade do sinal, e a linha K rastreia o risco de controle de perda. A estratégia pode ser melhorada ainda mais através da otimização de parâmetros e da adição de outros indicadores técnicos.

Código-fonte da estratégia
/*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ı")