Strategi ini didasarkan pada indikator RSI dan MACD, dikombinasikan dengan level support/resistance untuk penilaian sinyal perdagangan. Namanya adalah
Strategi ini terutama bergantung pada dua indikator - RSI dan MACD. Indikator RSI menilai status overbought/oversold, sementara indikator MACD menentukan status bullish/bearish trend. Pertama-tama menghitung nilai RSI 14 periode, dan menetapkan ambang overbought sebagai 70 dan ambang oversold sebagai 30. Kemudian menghitung nilai MACD berdasarkan garis cepat 12 hari, garis lambat 26 hari, dan garis sinyal 9 hari. RSI di bawah 30 dianggap oversold; RSI di atas 70 dianggap overbought.
Selain itu, strategi ini juga menghitung harga tertinggi dan terendah selama 100 periode terakhir sebagai level support/resistance. Ketika sinyal beli dipicu, harga harus dekat dengan level support, yaitu dalam 1% dari level support, untuk benar-benar mengeluarkan order beli.
Strategi ini menggabungkan analisis tren dan deteksi tingkat overbought/oversold untuk menghindari sinyal palsu yang hanya bergantung pada satu indikator. Dengan memperkenalkan filter support/resistance, strategi ini dapat mengurangi perdagangan yang salah karena rebound di dekat tingkat S/R utama. Kombinasi MACD dan RSI dapat secara akurat mengidentifikasi pergerakan harga dan status OB/OS. Dibandingkan dengan strategi moving average sederhana, strategi ini dapat menangkap tren harga jangka panjang dengan lebih fleksibel.
Risiko utama dari strategi ini meliputi:
Hal ini mungkin kehilangan sebagian besar keuntungan dalam tren yang kuat, karena cenderung masuk setelah pembalikan selesai.
Pengaturan parameter RSI dan MACD yang tidak tepat dapat menyebabkan sinyal yang salah.
Logika deteksi S/R sederhana dapat melebih-lebihkan atau meremehkan zona S/R yang sebenarnya.
Kurangnya mekanisme stop loss. Tidak mampu mengontrol kerugian secara efektif dalam kondisi pasar yang ekstrim.
Untuk mengatasi risiko ini, metode seperti MACD adaptif, penyesuaian parameter RSI yang dioptimalkan, identifikasi S / R yang ditingkatkan, pemodelan rezim pasar dll dapat digunakan untuk meningkatkan strategi.
Strategi dapat ditingkatkan dari dimensi berikut:
Memperkenalkan mekanisme stop loss misalnya CANVAS stop loss
Menggunakan MACD adaptif untuk pengaturan parameter dinamis
Memperkenalkan pengakuan pola harga untuk identifikasi S/R yang lebih ilmiah
Menggabungkan lebih banyak data untuk membangun logika deteksi keadaan pasar untuk menggunakan parameter yang berbeda secara adaptif
Gunakan algoritma pembelajaran mesin untuk mengoptimalkan strategi dari ujung ke ujung
Melalui perbaikan ini, kita dapat lebih mengurangi penarikan dan meningkatkan stabilitas strategi.
Strategi ini mengintegrasikan indikator RSI dan MACD untuk menentukan status OB/OS, dan perdagangan di sekitar level support/resistance, mewakili pendekatan trend-following. Dengan menggabungkan filter support/resistance, risikonya berkurang. Keuntungannya terletak pada sinyal yang stabil dan risiko yang dapat dikendalikan yang cocok untuk kepemilikan jangka panjang.
/*backtest start: 2023-12-28 00:00:00 end: 2024-01-04 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("RSI + MACD with Support and Resistance", shorttitle="RSI_MACD_SR", overlay=true) // Input for RSI and MACD values rsiOverbought = input(70, title="RSI Overbought Threshold") rsiOversold = input(30, title="RSI Oversold Threshold") macdFastLength = input(12, title="MACD Fast Length") macdSlowLength = input(26, title="MACD Slow Length") macdSignalSmoothing = input(9, title="MACD Signal Smoothing") // Calculating RSI and MACD rsiValue = ta.rsi(close, 14) [macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing) // Support and Resistance support = ta.lowest(100) resistance = ta.highest(100) // Drawing support and resistance lines // line.new(x1=bar_index[0], y1=support, x2=bar_index[-1], y2=support, color=color.green, width=1) // line.new(x1=bar_index[0], y1=resistance, x2=bar_index[-1], y2=resistance, color=color.red, width=1) // Buy Condition: If RSI is oversold and MACD line crosses above the signal line // Additionally, check if price is near the support line longCondition = ta.crossover(macdLine, signalLine) and rsiValue < rsiOversold and (close - support) < (close * 0.01) strategy.entry("Long", strategy.long, when=longCondition, comment="Buy") // Sell Condition: If RSI is overbought and MACD line crosses below the signal line // Additionally, check if price is near the resistance line shortCondition = ta.crossunder(macdLine, signalLine) and rsiValue > rsiOverbought and (resistance - close) < (close * 0.01) strategy.entry("Short", strategy.short, when=shortCondition, comment="Sell") // Plot values on the chart for visualization plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")