RSI Range Breakout Strategi

Penulis:ChaoZhang, Tanggal: 2023-10-11 15:54:11
Tag:

Gambaran umum

Strategi RSI range breakout adalah strategi trend following yang khas. RSI menggunakan Relative Strength Index (RSI) sebagai indikator teknis utama untuk mencari peluang breakout ketika RSI berada di tingkat overbought atau oversold, dengan tujuan mengikuti tren.

Logika Strategi

Strategi ini terutama bergantung pada indikator RSI untuk menentukan tingkat overbought dan oversold di pasar. RSI rumus perhitungan adalah: RSI = (Rata Up Value / (Rata Up Value + Rata-rata Down Value)) x 100. Rata-rata Up Value adalah rata-rata bergerak sederhana dari amplitudo close-up selama N hari terakhir. Rata-rata Down Value adalah rata-rata bergerak sederhana dari amplitudo close-down selama N hari terakhir.

Ketika RSI lebih tinggi dari garis overbought (default 80), itu menunjukkan pasar berada dalam keadaan overbought. Ketika RSI lebih rendah dari zona oversold (default 35), itu menunjukkan pasar berada dalam keadaan oversold. Strategi mencari peluang pendek ketika RSI memecahkan garis overbought, dan peluang panjang ketika RSI memecahkan zona oversold.

Secara khusus, strategi ini menggunakan dua garis SMA untuk menentukan tren indikator RSI. Ketika garis SMA yang lebih cepat memecah garis SMA yang lebih lambat, sementara RSI menerobos zona oversold, pergi panjang. Ketika garis SMA yang lebih cepat memecah garis SMA yang lebih lambat, sementara RSI menerobos garis overbought, pergi pendek. Strategi ini juga menetapkan stop loss dan take profit line untuk mengendalikan risiko.

Keuntungan

  • Menggunakan indikator RSI untuk menentukan tingkat overbought dan oversold, dengan kemampuan penilaian tren tertentu
  • Digabungkan dengan garis SMA ganda untuk menghindari pecah palsu yang disebabkan oleh osilasi RSI
  • Atur stop loss dan take profit untuk mengontrol single loss
  • Penembakan, tidak sering dibuka dan ditutup

Risiko dan Solusi

  • Indikator RSI memiliki efek keterlambatan, mungkin melewatkan titik pembalikan tren
    • Sesuaikan parameter RSI dengan tepat untuk mengoptimalkan sensitivitas indikator
  • Pengaturan zona overbought dan oversold tidak tepat, meningkatnya kesulitan rentang keuntungan
    • Sesuaikan parameter sesuai dengan pasar yang berbeda untuk memastikan pengaturan yang wajar
  • Titik stop loss terlalu dekat, mudah dihentikan oleh fluktuasi semalam
    • Luaskan jarak stop loss dengan tepat untuk menghindari terjebak
  • Mengambil keuntungan pengaturan terlalu kecil, tidak dapat sepenuhnya menangkap trend berjalan
    • Sesuaikan garis keuntungan secara fleksibel berdasarkan volatilitas pasar

Arahan Optimasi

  • Gabungkan dengan indikator lain untuk menentukan waktu masuk, seperti KDJ, MACD, dll., Untuk menghindari masalah keterlambatan RSI
  • Tambahkan penilaian tren utama untuk menghindari perdagangan melawan tren
  • Mengoptimalkan strategi stop loss dan take profit, seperti trailing stop, move take profit, dll.
  • Membedakan pengaturan parameter untuk produk yang berbeda, menentukan parameter yang wajar berdasarkan karakteristik pasar
  • Tambahkan strategi manajemen posisi, menyesuaikan posisi melalui penambahan pesanan

Ringkasan

RSI range breakout strategy adalah strategi trend following secara keseluruhan. RSI menentukan sinyal trading melalui indikator RSI, menyaring sinyal dengan garis SMA ganda, dan menetapkan stop loss dan take profit untuk mengendalikan risiko.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//strategy("Strategy RSI | Fadior", shorttitle="Strategy RSI", pyramiding=10, calc_on_order_fills=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100, overlay=false)
 
len = input(3, minval=1, title="RSI Length") 
threshLow = input(title="Treshold Low", defval=35)
threshHigh = input(title="Treshold High", defval=80)
rsiLength1 = input(title="RSI Smoothing 1", defval=3)
rsiLength2 = input(title="RSI Smoothing 2", defval=5)
SL = input(title="Stop loss %", type=float, defval=.026, step=.001)
TP = input( defval=300)

// 3 40 70 2
// 14 40 70 2 16 0.05 50

src = close
  
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

plot(sma(rsi,rsiLength2), color=orange)
plot(sma(rsi,rsiLength1), color=green)

band1 = hline(threshHigh)
band0 = hline(threshLow)
fill(band1, band0, color=purple, transp=90)

strategy = input(type=bool, title="Long only ?", defval=true)
strategy.risk.allow_entry_in(strategy ? strategy.direction.long : strategy.direction.all)

longCondition = sma(rsi,rsiLength1) < threshLow and sma(rsi,rsiLength2) > sma(rsi,rsiLength2)[1] 

if (longCondition)
    strategy.entry("Long", strategy.long) //, qty=10)
    strategy.exit("Close Long", "Long", stop=src-close*SL, profit=TP)
    
shortCondition = sma(rsi,rsiLength1) > threshHigh and sma(rsi,rsiLength2) < sma(rsi,rsiLength2)[1]
if (shortCondition)
    strategy.entry("Short", strategy.short) //, qty=10)
    strategy.exit("Close Short", "Short") //, stop=src-close*SL, profit=TP)


Lebih banyak