RSI Range Breakout Strategi

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

Ringkasan

Strategi penembusan julat RSI adalah strategi trend berikut yang tipikal. Ia menggunakan Indeks Kekuatan Relatif (RSI) sebagai penunjuk teknikal utama untuk mencari peluang penembusan apabila RSI berada di tahap overbought atau oversold, dengan tujuan mengikuti trend.

Logika Strategi

Strategi ini terutamanya bergantung kepada penunjuk RSI untuk menentukan tahap overbought dan oversold di pasaran. Rumus pengiraan RSI adalah: RSI = (Rata-rata Nilai Up / (Rata-rata Nilai Up + Nilai Down Rata-rata)) x 100. Nilai Up Purata adalah purata bergerak mudah amplitudo dekat-up selama N hari yang lalu. Nilai Rata-rata Down adalah purata bergerak mudah amplitudo dekat-down selama N hari yang lalu.

Apabila RSI lebih tinggi daripada garis overbought (default 80), ia menunjukkan pasaran berada dalam keadaan overbought. Apabila RSI lebih rendah daripada zon oversold (default 35), ia menunjukkan pasaran berada dalam keadaan oversold. Strategi ini mencari peluang pendek apabila RSI memecahkan garis overbought, dan peluang panjang apabila RSI memecahkan zon oversold.

Secara khusus, strategi ini menggunakan dua garis SMA untuk menentukan trend penunjuk RSI. Apabila garis SMA yang lebih cepat memecahkan garis SMA yang lebih perlahan, sementara RSI memecahkan zon oversold, pergi panjang. Apabila garis SMA yang lebih cepat memecahkan garis SMA yang lebih perlahan, sementara RSI memecahkan garis overbought, pergi pendek. Strategi ini juga menetapkan stop loss dan mengambil garis keuntungan untuk mengawal risiko.

Kelebihan

  • Menggunakan penunjuk RSI untuk menentukan tahap overbought dan oversold, dengan keupayaan penilaian trend tertentu
  • Digabungkan dengan garis SMA berganda untuk mengelakkan pecah palsu yang disebabkan oleh goyangan RSI
  • Tetapkan stop loss dan mengambil keuntungan untuk mengawal kerugian tunggal
  • Penembusan masuk, tiada pembukaan dan penutupan kerap

Risiko dan Penyelesaian

  • Indikator RSI mempunyai kesan kelewatan, mungkin terlepas titik pembalikan trend
    • Sesuaikan parameter RSI dengan betul untuk mengoptimumkan kepekaan penunjuk
  • Tetapan zon overbought dan oversold tidak betul, peningkatan kesukaran julat keuntungan
    • Sesuaikan parameter mengikut pasaran yang berbeza untuk memastikan tetapan yang munasabah
  • Titik stop loss terlalu dekat, mudah dihentikan oleh turun naik semalaman
    • Memperluas jarak kehilangan henti dengan sewajarnya untuk mengelakkan terperangkap
  • Ambil keuntungan menetapkan terlalu kecil, tidak dapat sepenuhnya menangkap trend berjalan
    • Sesuaikan baris keuntungan secara fleksibel berdasarkan turun naik pasaran

Arahan pengoptimuman

  • Gabungkan dengan penunjuk lain untuk menentukan masa kemasukan, seperti KDJ, MACD, dan lain-lain, untuk mengelakkan isu-isu kelewatan RSI
  • Tambah penilaian trend utama untuk mengelakkan perdagangan terhadap trend
  • Mengoptimumkan strategi stop loss dan mengambil keuntungan, seperti berhenti, bergerak mengambil keuntungan, dll.
  • Membezakan tetapan parameter untuk produk yang berbeza, menentukan parameter yang munasabah berdasarkan ciri pasaran
  • Tambah strategi pengurusan kedudukan, menyesuaikan kedudukan melalui penambahan pesanan

Ringkasan

Strategi penembusan julat RSI adalah strategi trend berikut secara keseluruhan. Ia menentukan isyarat perdagangan melalui penunjuk RSI, menapis isyarat dengan garis SMA berganda, dan menetapkan stop loss dan mengambil keuntungan untuk mengawal 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 lanjut