Strategi perdagangan untuk pasar osilasi yang menggabungkan indikator MACD dan RSI

Penulis:ChaoZhangTanggal: 2023-09-13 15:14:43
Tag:

Strategi ini diberi nama Strategi Perdagangan untuk Pasar Berosilasi Menggabungkan Indikator MACD dan RSI. Strategi ini dirancang khusus untuk pasar crypto berosilasi dan berkisar baru-baru ini, menghasilkan sinyal perdagangan dengan mengintegrasikan indikator tren MACD dan osilator momentum RSI.

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)



Lebih banyak