Menggabungkan indikator MACD dan RSI untuk memperdagangkan pasar yang bergejolak


Tanggal Pembuatan: 2023-09-13 15:14:43 Akhirnya memodifikasi: 2023-09-13 15:14:43
menyalin: 0 Jumlah klik: 749
1
fokus pada
1617
Pengikut

Strategi ini disebut strategi perdagangan pasar goyangan dengan penggabungan MACD dan RSI. Strategi ini dirancang khusus untuk pasar penggabungan goyangan cryptocurrency yang baru-baru ini lebih ekspansif, dan membentuk sinyal perdagangan dengan menggabungkan indikator tren MACD dan indikator momentum RSI.

MACD adalah indeks rata-rata bergerak diferensial, yang dapat menilai tren pasar dan trend reversal. Ketika MACD di garis cepat melewati garis lambat menghasilkan sinyal beli; dan di bawah garis cepat melewati garis lambat menghasilkan sinyal jual.

RSI adalah indikator yang relatif kuat untuk menilai pasar overbought dan oversold. RSI lebih tinggi dari 50 berarti overbought, dan lebih rendah dari 50 berarti oversold. Strategi ini menggunakan indikator RSI untuk menyaring sebagian dari sinyal kebisingan yang dihasilkan oleh indikator MACD.

Strategi perdagangan yang spesifik adalah sebagai berikut:

Ketika MACD melintasi garis lambat di garis cepat, yang mewakili tren jangka pendek dari berbalik ke bawah, tetapi harus berada di RSI low (<< parameter default) untuk mengkonfirmasi sinyal beli, untuk menghindari kerugian di overbought area reversal;

Ketika MACD melewati garis lambat di bawah garis cepat, yang mewakili tren jangka pendek yang berbalik ke bawah, tetapi harus berada di RSI tinggi ((di atas parameter default) untuk mengkonfirmasi sinyal jual, untuk menghindari kerugian berbalik di zona oversold.

Strategi ini berlaku untuk pasar kriptocurrency yang baru-baru ini lebih berkembang yang bergejolak horizontal, untuk mengambil peluang untuk mendapatkan keuntungan dari reversal level tinggi-rendah. Namun, langkah-langkah stop loss harus diambil untuk membatasi kerugian tunggal. Selain itu, parameter MACD dan RSI perlu disesuaikan dengan pasar untuk menghasilkan sinyal perdagangan yang lebih andal.

Secara keseluruhan, penggunaan gabungan indikator MACD dan RSI dapat meningkatkan efektivitas strategi perdagangan untuk pasar yang bergolak. Namun, tidak ada indikator teknis yang dapat memprediksi pasar dengan sempurna, dan pedagang perlu mempertahankan penilaian tren pasar dan fleksibilitas untuk menyesuaikan strategi.

Kode Sumber Strategi
/*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)