
Strategi ini menggunakan kombinasi indikator MACD dan RSI untuk mewujudkan mekanisme double confirmation entry, yang menyeimbangkan antara profitabilitas dan pengendalian risiko, yang bertujuan untuk mendapatkan keuntungan yang stabil di garis tengah dan panjang.
Strategi ini terutama menggunakan indikator MACD untuk menentukan tren pasar dan waktu masuk. Garis MACD yang menerobos garis sinyal dianggap sebagai sinyal beli, dan garis MACD yang menembus garis sinyal sebagai sinyal jual. Selain itu, area overbought oversold indikator RSI digunakan untuk memfilter penembusan palsu.
Untuk memastikan keandalan sinyal perdagangan, kebijakan ini juga menambahkan penilaian volume transaksi. Strategi ini hanya akan mengirimkan sinyal perdagangan jika volume transaksi lebih besar dari rata-rata volume transaksi 20 hari. Ini dapat menghindari sinyal kesalahan yang dihasilkan ketika volume perdagangan pasar tidak mencukupi.
Akhirnya, strategi ini juga menggunakan arah entitas K-line sebagai cara untuk melacak stop loss dan konfirmasi. Ketika arah entitas K-line berubah, posisi saat ini dipadamkan. Ini dapat mengunci profit dan mencegah pengembalian profit.
Strategi ini secara keseluruhan memiliki keseimbangan antara stabilitas dan profitabilitas. MACD menilai tren utama, RSI dan penyaringan ganda volume transaksi meningkatkan kualitas sinyal, K-line melacak risiko pengendalian kerugian. Strategi ini dapat ditingkatkan lebih lanjut dengan mengoptimalkan parameter dan menambahkan indikator teknis lainnya.
/*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ı")