Strategi histogram MACD dari RSI

Penulis:ChaoZhang, Tanggal: 2023-12-25 11:45:10
Tag:

img

Gambaran umum

Strategi ini menghasilkan sinyal perdagangan berdasarkan MACD dari indikator RSI. Ini menggabungkan kemampuan indikator RSI untuk menilai tingkat overbought dan oversold di pasar, serta keuntungan MACD dalam menentukan tren pasar dan perubahan momentum, untuk merancang strategi yang memanfaatkan beberapa indikator untuk memberikan sinyal perdagangan.

Logika Strategi

Strategi ini pertama-tama menghitung indikator RSI, kemudian menghitung MACD berdasarkan indikator RSI. Indikator RSI dapat menentukan kondisi overbought dan oversold di pasar, sementara MACD menangkap perubahan tren dan momentum pasar.

Secara khusus, strategi pertama menghitung indikator RSI 14 periode. Kemudian berdasarkan RSI, indikator MACD dihitung, termasuk EMA 12 dan 26 periode, serta garis sinyal 9 periode. histogram MACD kemudian dihitung.

Ketika histogram MACD melintasi di atas 0, sinyal beli dihasilkan. Ketika histogram MACD melintasi di bawah 0, sinyal jual dipicu. Dengan cara ini, strategi menggunakan RSI untuk menilai tingkat overbought / oversold, sementara juga menggunakan MACD untuk menentukan perubahan tren dan momentum, untuk menghasilkan sinyal perdagangan.

Keuntungan dari Strategi

Strategi ini menggabungkan kekuatan dari indikator RSI dan MACD, memungkinkan penilaian kondisi pasar yang lebih komprehensif, menghasilkan sinyal yang lebih dapat diandalkan.

  1. Menggunakan RSI untuk menilai tingkat overbought / oversold membantu dengan pemilihan saham dan mencegah pecah palsu.

  2. Penghakiman MACD terhadap perubahan tren dan momentum membuat sinyal perdagangan lebih jelas.

  3. Kombinasi RSI dan MACD, dengan penilaian berdasarkan beberapa faktor, membantu menyaring sinyal palsu.

Risiko dari Strategi

  1. Pengaturan parameter untuk RSI dan MACD mempengaruhi kinerja strategi dan membutuhkan penyesuaian dan optimalisasi.

  2. Kombinasi dari beberapa indikator meningkatkan kompleksitas strategi dan kemungkinan kesalahan.

  3. Sinyal perdagangan MACD mungkin tertinggal dan perlu dilengkapi dengan indikator lain.

Arahan Optimasi

  1. Mengoptimalkan parameter RSI dan MACD untuk menemukan kombinasi parameter terbaik.

  2. Menggabungkan indikator lain seperti KDJ, Bollinger Bands untuk membentuk kelompok indikator dan meningkatkan akurasi sinyal.

  3. Menggabungkan strategi stop loss untuk mengendalikan kerugian per perdagangan.

  4. Mengoptimalkan masuk dan keluar logika untuk mencegah sinyal yang bertentangan.

Kesimpulan

Strategi ini memanfaatkan kekuatan gabungan dari indikator RSI dan MACD untuk membentuk sinyal perdagangan, menilai tingkat overbought / oversold sambil juga mempertimbangkan faktor tren dan momentum, secara efektif menyaring sinyal palsu dan memberikan sinyal berkualitas. Langkah selanjutnya melibatkan peningkatan lebih lanjut seperti optimasi parameter, stop loss, menambahkan lebih banyak indikator dll untuk meningkatkan akurasi dan keandalan sinyal.


/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "MACD of RSI", overlay = false)
//////////////////////// RSI ///////////////////////////

src = close, len = input(14, minval=1, title="Length")

up = sma(max(change(src), 0), len)

down = sma(-min(change(src), 0), len)

rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

//////////////////////// RSI   //////////////////////////

//////////////// MACD  ////////////////////////////

sourcemacd = rsi

fastLength = input(12, minval=1), slowLength=input(26,minval=1)

signalLength=input(9,minval=1)


fastMA = ema(sourcemacd, fastLength)

slowMA = ema(sourcemacd, slowLength)

macd = fastMA - slowMA

signal = ema(macd, signalLength)

delta=macd-signal

swap1 = delta>0?green:red


plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20)

p1 = plot(macd,color=blue,title='MACD Line')

p2 = plot(signal,color=red,title='Signal')

fill(p1, p2, color=blue)

hline(0)

/////////////////////////MACD  //////////////////////////

// Conditions

longCond = na

sellCond = na

longCond :=  crossover(delta,0)

sellCond :=  crossunder(delta,0)

monthfrom =input(6)

monthuntil =input(12)

dayfrom=input(1)

dayuntil=input(31)

if (  longCond   )

    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")

else

    strategy.cancel(id="BUY")

if ( sellCond   )

    strategy.close("BUY")

Lebih banyak