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.
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.
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ı")