RSI Bollinger Bands Strategi Perdagangan Jangka Pendek

Penulis:ChaoZhang, Tanggal: 2023-12-19 11:31:09
Tag:

img

Gambaran umum

Strategi ini menggabungkan Indeks Kekuatan Relatif (RSI) dan Bollinger Bands untuk membangun strategi perdagangan jangka pendek. Ini terutama memanfaatkan sinyal beli dan jual ketika RSI menerobos Bollinger Bands atas atau bawah. Sementara itu, mekanisme stop loss disertakan untuk mengontrol risiko secara efektif.

Logika Strategi

  1. Menghitung indikator RSI dengan parameter 14 periode.
  2. Menghitung Bollinger Midband menggunakan rata-rata bergerak tertimbang dari RSI, dengan periode ditetapkan menjadi 25.
  3. Menghitung Upper Band dan Lower Band of Bollinger Bands. Upper Band adalah Midband ditambah amplitudo, sedangkan Lower Band adalah Midband dikurangi amplitudo. Amplitudo diatur menjadi 20 kali standar deviasi RSI.
  4. Pergi panjang ketika RSI menerobos Band Bawah, dan pergi pendek ketika RSI menerobos Band Atas.
  5. Atur mekanisme stop loss bahwa jika harga turun di bawah 6% dari harga masuk panjang, tutup posisi panjang.

Analisis Keuntungan

Strategi ini menggabungkan kekuatan RSI dan Bollinger Bands untuk perdagangan jangka pendek.

  1. RSI dapat secara efektif menentukan skenario overbought dan oversold.
  2. Bollinger Bands dinamis untuk menyesuaikan rentang secara otomatis berdasarkan volatilitas pasar.
  3. Pengaturan stop loss wajar dengan toleransi 6% untuk fluktuasi normal sambil mengendalikan kerugian.

Analisis Risiko

Risiko potensial dari strategi ini meliputi:

  1. RSI memiliki karakteristik tertinggal dan mungkin melewatkan peluang pembalikan cepat.
  2. Parameter Bollinger Bands yang salah atau perubahan pasar yang drastis dapat menyebabkan sinyal yang buruk.
  3. Parameter stop loss yang diatur secara tidak bijaksana dapat menyebabkan kerugian yang tidak perlu.

Solusi:

  1. Pertimbangkan untuk menggabungkan dengan indikator lain seperti KDJ untuk penilaian yang komprehensif.
  2. Dinamis mengoptimalkan parameter untuk pasar yang berbeda.
  3. Backtest dan mengoptimalkan parameter stop loss untuk pengaturan terbaik.

Arahan Optimasi

Ada ruang untuk optimasi lebih lanjut:

  1. Perubahan stop loss tetap ke stop loss trailing dinamis sesuai dengan fluktuasi harga.
  2. Tambahkan aturan Bollinger Band Width Index untuk menunda perdagangan ketika Band berkembang atau berkontraksi terlalu banyak.
  3. Gabungkan indikator volume seperti Chaikin Cash Flow untuk konfirmasi yang lebih baik.

Ringkasan

Secara singkat, ini adalah strategi perdagangan jangka pendek yang relatif stabil dan dapat diandalkan. Dengan menggabungkan kekuatan penilaian overbought-oversold RSI dan kisaran adaptif Bollinger Bands, ini membentuk sistem jangka pendek yang menguntungkan. Dengan penyesuaian parameter dan penyempurnaan logika, strategi ini dapat mencapai keuntungan yang konsisten.


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

//@version=3
strategy("rsi+bb st", shorttitle="rsibb st 0.3")

len_rsi=input(14)
len_bb = input(25)
mul10 = input(20.0)
mul=mul10/10
sl100 = input(94.0, title='stop loss rate')
sl=sl100/100

lw = 3

vwma_e(src, len) =>
    ema(src*volume, len)/ema(volume,len)

rsi = rsi(close, len_rsi)
plot(rsi, color=blue, title= 'rsi blue', linewidth=lw)
plot(70, color=gray, title='line 70', linewidth=lw)
plot(30, color=gray, title='line 30', linewidth=lw)

bbg = stdev(rsi, len_bb)*mul
bbc = vwma_e(rsi, len_bb)
//bbc=ema(rsi,len_bb)
ratio = 0.6
bbc := bbc*ratio + 50*(1-ratio)

bbu = bbc+bbg
bbl = bbc-bbg
plot(bbu, color=green, title='bb_up green', linewidth=lw)
plot(bbl, color=red, title='bb_low red', linewidth=lw)
plot(bbc, color=#808000ff, title='bb center', linewidth=lw)

plot(50, color=black)

lc = crossover(rsi, bbl) //or crossover(rsi, bbc)
sc = crossunder(rsi, bbu)

last_pos = 0*close
if lc
    last_pos := 1
else
    last_pos := last_pos[1]
if sc
    last_pos := 2

last_price = 0*close
if last_pos[1] !=1 and last_pos == 1
    last_price := close
else
    last_price := last_price[1]
    
if last_pos==1 and close < last_price*sl
    lc:=false
    sc:=true
    last_pos:=2

if (lc)
    strategy.entry("long", strategy.long)

if (sc)
    strategy.entry("short", strategy.short)

Lebih banyak