Strategi ini diberi nama
MACD adalah indikator divergensi konvergensi rata-rata bergerak, menilai tren pasar dan pembalikan.
RSI adalah indeks kekuatan relatif, mengukur kondisi overbought dan oversold. RSI di atas 50 menunjukkan keadaan overbought, sementara di bawah 50 adalah oversold. Strategi ini menggunakan RSI untuk menyaring beberapa sinyal bising dari MACD.
Logika perdagangan adalah sebagai berikut:
Ketika MACD crossover terjadi dengan garis cepat melintasi garis lambat, ini menunjukkan tren jangka pendek berubah dari bawah ke atas, tetapi sinyal beli hanya dikonfirmasi ketika RSI berada pada tingkat rendah (di bawah parameter yang telah ditetapkan) untuk menghindari whipsaws di zona overbought.
Ketika MACD crossover terjadi dengan garis cepat melintasi di bawah garis lambat, itu menandakan tren jangka pendek yang berbalik dari atas ke bawah, tetapi sinyal jual hanya dikonfirmasi ketika RSI mencapai tingkat tinggi (di atas parameter yang telah ditetapkan) untuk menghindari whipsaws di zona oversold.
Strategi ini cocok untuk pasar crypto yang berosilasi dan berkisar saat ini untuk menangkap peluang pembalikan pada puncak dan terendah untuk keuntungan. Tetapi stop loss harus diterapkan untuk membatasi kerugian perdagangan tunggal. Juga, parameter MACD dan RSI membutuhkan optimasi yang disesuaikan dengan pasar untuk sinyal yang dapat diandalkan.
Sebagai kesimpulan, menggabungkan MACD dan RSI dapat meningkatkan efektivitas strategi untuk pasar osilasi. Tetapi tidak ada indikator yang dapat secara sempurna memprediksi pasar. Pedagang masih membutuhkan penilaian tren pasar yang kuat dan penyesuaian strategi yang fleksibel.
/*backtest start: 2022-09-06 00:00:00 end: 2023-03-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Range Strat - MACD/RSI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, precision=2, initial_capital=100, pyramiding=2, commission_value=0.05) // Make input options that configure backtest date range startDate = input(title="Start Date", defval=13) startMonth = input(title="Start Month", defval=6) startYear = input(title="Start Year", defval=2022) endDate = input(title="End Date", defval=1) endMonth = input(title="End Month", defval=7) endYear = input(title="End Year", defval=2200) // Look if the close time of the current bar // falls inside the date range inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0)) // RSI Settings length = input( 14 ) overSold = input( 55 ) overBought = input( 50 ) price = open vrsi = ta.rsi(price, length) cu = (vrsi <= overSold) co = (vrsi >= overBought) //MACD Settings fastLength = input(12) slowlength = input(26) MACDLength = input(9) MACD = ta.ema(open, fastLength) - ta.ema(open, slowlength) aMACD = ta.ema(MACD, MACDLength) delta = MACD - aMACD MACDco = ta.crossover(delta, 0) MACDcu = ta.crossunder(delta, 0) // Strategy Entry if (not na(vrsi)) if (inDateRange and MACDco and cu) strategy.entry("LONG", strategy.long, comment="LONG") if (inDateRange and MACDcu and co) strategy.entry("SHORT", strategy.short, comment="SHORT") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)