Strategi perdagangan pembalikan penangkapan indikator momentum RSI


Tanggal Pembuatan: 2024-01-03 12:09:48 Akhirnya memodifikasi: 2024-01-03 12:09:48
menyalin: 1 Jumlah klik: 661
1
fokus pada
1621
Pengikut

Strategi perdagangan pembalikan penangkapan indikator momentum RSI

Ringkasan

Strategi ini pertama-tama menghitung ADX dan SMA pada frame waktu tinggi untuk mengidentifikasi arah tren dan perubahan tren. Kemudian menghitung RSI pada frame waktu rendah untuk mengidentifikasi fenomena overbought dan oversold untuk membentuk sinyal perdagangan.

Prinsip Strategi

  1. Perhitungan kekuatan tren pada ADX di atas jangka waktu yang tinggi. ADX yang tinggi mewakili penguatan tren.

  2. Perhitungan SMA terhadap arah tren pada kerangka waktu tinggi. SMA yang naik berarti harga naik, SMA yang turun berarti harga turun.

  3. Perhitungan RSI pada kerangka waktu rendah untuk menilai overbought dan oversold. RSI di atas threshold berarti overbought dan RSI di bawah threshold berarti oversold.

  4. Ketika ADX naik, SMA naik, RSI time frame rendah overbought, menganggap tren sedang menguat ke atas, ini adalah waktu untuk melakukan shorting.

  5. Ketika ADX naik, SMA turun, dan RSI oversold pada time frame rendah, maka kita bisa melakukan lebih banyak lagi.

Analisis Keunggulan

  1. Kombinasi penilaian tren dan perdagangan reversal dapat menangkap peluang reversal dalam tren yang lebih besar.

  2. Menggunakan kombinasi indikator pada berbagai kerangka waktu dapat meningkatkan keandalan sinyal.

  3. RSI strategi simplicity sendiri, mudah dipahami dan diterapkan.

Analisis risiko

  1. RSI memiliki kemungkinan untuk menghasilkan sinyal palsu yang membuat perdagangan mengalami kerugian. Kemungkinan untuk mengurangi kemungkinan sinyal palsu dapat dilakukan dengan mengoptimalkan parameter.

  2. Pengadilan tren siklus besar mungkin salah, sehingga strategi tidak cocok untuk lingkungan pasar. Anda dapat mempertimbangkan untuk menggabungkan lebih banyak indikator untuk menilai tren.

  3. Frekuensi perdagangan mungkin terlalu tinggi, dan biaya perdagangan mempengaruhi profitabilitas. Parameter RSI dapat disesuaikan dengan tepat untuk mengurangi jumlah transaksi.

Arah optimasi

  1. Uji lebih banyak kombinasi parameter untuk mencari RSI yang paling cocok dengan ADX, SMA.

  2. Menambahkan mekanisme stop loss untuk mengendalikan kerugian tunggal.

  3. Pertimbangkan untuk menurunkan posisi ketika volatilitas sedang rendah, dengan indikator volatilitas.

  4. Mengoptimalkan harga masuk dan keluar tertentu, misalnya harga tertinggi untuk menembus garis K sebelumnya untuk masuk ke posisi kosong.

Meringkaskan

Strategi ini mengintegrasikan penilaian tren dan sinyal perdagangan reversal untuk mencari peluang reversal lokal dalam tren siklus besar. Dibandingkan dengan menggunakan RSI secara tunggal, reliabilitasnya lebih tinggi dan menghindari penargetan. Secara keseluruhan merupakan strategi yang lebih konservatif dan cocok untuk investor yang mengurangi probabilitas sinyal palsu.

Kode Sumber Strategi
/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("RSI scalping", overlay=true)

CustSession 	= input(defval=true,title= "Custom Resolution / TF ? ",type=bool)
SessionTF0	= input(title="Custom Resolution / TF", defval="180")
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
length = input(7, title= "RSI length")
overSold = input( 28, title= "RSI oversold" )
overBought = input( 68, title= "RSI overbought" )

RSI = rsi(close, 7)

res		=	CustSession ? SessionTF0 : period

o = request.security(syminfo.tickerid, res, open)
c = request.security(syminfo.tickerid, res, close)
l = request.security(syminfo.tickerid, res, low)
h = request.security(syminfo.tickerid, res, high)

 // ADX higher time frame
dirmov(len) =>
	up = change(h)
	down = -change(l)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
    truer = request.security(syminfo.tickerid, res, tr)
	truerange = rma(truer, len)
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)
	[plus, minus]

adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)

sig = adx(dilen, adxlen)

// SMA higher time frame
len = input(20, minval=1, title="SMA HTF Length")
smma = 0.0
smma := na(smma[1]) ? sma(c, len) : (smma[1] * (len - 1) + c) / len

ADXrising = (sig > sig[1]) and (sig[1] > sig[2]) and (sig[2]  > sig[3]) and (sig > 15)
SMAdrop= (smma < smma[1]) and (smma[1] < smma[2]) and (smma[2] < smma[3])
SMArising = (smma > smma[1]) and (smma[1] > smma[2]) and (smma[2] > smma[3])
longCondition = crossover(RSI, overBought) and ADXrising and SMArising
shortCondition = crossunder(RSI, overSold) and SMAdrop and ADXrising 

if (longCondition)
    strategy.entry("Long entry", strategy.long)

if (shortCondition)
    strategy.entry("Short Entry", strategy.short)