Cette stratégie combine l'indicateur MACD et l'indicateur RSI pour mettre en œuvre un double mécanisme de confirmation des signaux d'entrée, équilibrant la rentabilité et le contrôle des risques, en vue d'obtenir des rendements stables à moyen et long terme.
La stratégie utilise principalement l'indicateur MACD pour déterminer les tendances du marché et les points d'entrée. Un croisement de la ligne MACD au-dessus de la ligne de signal est considéré comme un signal d'achat, tandis qu'un croisement de la ligne MACD au-dessous de la ligne de signal est considéré comme un signal de vente.
Pour assurer la fiabilité des signaux de trading, cette stratégie intègre également une analyse du volume.
Enfin, la stratégie utilise également la direction des corps de bougies comme moyen de suivre les arrêts et la confirmation.
Dans l'ensemble, cette stratégie équilibre la stabilité et la rentabilité. Le MACD juge la tendance principale, le RSI et le volume fournissent un double filtrage pour améliorer la qualité du signal, le suivi des bougies permet de contrôler le risque. La stratégie peut être améliorée grâce à l'optimisation des paramètres et à l'intégration d'indicateurs techniques supplémentaires.
/*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ı")