Strategi Dagangan Long Swing Berdasarkan Bollinger Bands dan RSI


Tarikh penciptaan: 2024-03-11 11:51:22 Akhirnya diubah suai: 2024-03-11 11:51:22
Salin: 0 Bilangan klik: 698
1
fokus pada
1617
Pengikut

Strategi Dagangan Long Swing Berdasarkan Bollinger Bands dan RSI

Gambaran keseluruhan

Strategi ini berdasarkan kepada dua petunjuk teknikal Bollinger Bands dan RSI yang agak kuat untuk melakukan perdagangan bergoyang-goyang dalam trend menaik. Logik strategi ini sederhana tetapi berkesan: buka lebih banyak apabila harga jatuh ke bawah Bollinger Bands dan RSI di bawah 35, dan buka lebih banyak apabila RSI di atas 69.

Prinsip Strategi

  1. Hitung RSI: Menggunakan RMA (Relative Moving Average) untuk mengira purata kenaikan harga dan penurunan harga, kemudian membahagikan kenaikan harga dengan jumlah RSI. RSI mencerminkan kekuatan harga dalam jangka masa tertentu.

  2. Hitung Burin Band: Menggunakan SMA (Simple Moving Average) untuk mengira garis rata-rata harga, kemudian menambah dan mengurangkan perbezaan piawai untuk mendapatkan naik dan turun. Burin Band adalah kawasan turun naik yang dapat mencerminkan harga secara dinamik.

  3. Buka Lebihan: Apabila harga jatuh di bawah Bollinger Bands dan RSI kurang daripada 35, ia dianggap sebagai oversold. Kedua-dua syarat ini dapat menangkap masa untuk berbalik ke atas.

  4. Pindo: Apabila RSI mencapai 69, ia dianggap sebagai overbought, dan pada masa ini ia melonggarkan kedudukan teratas dan mengunci keuntungan.

  5. Stop Stop Loss: Selepas membuka kedudukan, harga berhenti dan harga berhenti dikira mengikut peratusan yang ditetapkan oleh pengguna. Apabila menyentuh harga berhenti atau harga berhenti, anda dapat mengawal risiko dan keuntungan setiap perdagangan.

Analisis kelebihan

  1. Brinband dapat mencerminkan jarak pergerakan harga secara objektif, menyesuaikan dengan pergerakan harga, dan tidak terhad kepada penurunan nilai tetap.

  2. RSI dapat mencerminkan daya tarikan yang lebih intuitif, dan juga relatif objektif, dan sering digunakan untuk menilai overbought dan oversold.

  3. Digunakan dalam trend menaik, lebih sesuai untuk perdagangan berayun. Dengan Brin membawa turun dan RSI rendah untuk menangkap harga rebound, dengan RSI tinggi untuk melakukan penutupan tepat pada masanya, dapat secara berkesan menangkap pergerakan gelombang.

  4. Tetapan Stop Loss membolehkan risiko strategi dapat dikawal, dan pelabur dapat menyesuaikan parameternya secara fleksibel mengikut keutamaan risiko mereka.

  5. Logik dan kod strategi agak mudah, mudah difahami dan dilaksanakan, dan pengukuran semula agak stabil.

Analisis risiko

  1. Untuk keadaan yang bergolak, Brin dan RSI mungkin akan memberi isyarat perdagangan yang lebih banyak, menyebabkan frekuensi perdagangan yang terlalu tinggi dan kos bayaran yang lebih tinggi.

  2. Indikator tunggal seperti RSI mudah dipengaruhi oleh turun naik harga jangka pendek, menghasilkan isyarat yang menyesatkan. Oleh itu, isyarat RSI lebih baik dianalisis dengan pergerakan harga dan sebagainya.

  3. Pilihan parameter Brin dan RSI mempunyai kesan besar terhadap prestasi strategi, parameter yang berbeza mungkin diperlukan untuk pasaran dan varieti yang berbeza. Pengguna perlu membuat penyesuaian yang sesuai mengikut keadaan tertentu.

  4. Dalam keadaan yang tidak biasa, seperti peristiwa yang tidak dijangka, Brin dan RSI mungkin tidak berfungsi. Pada masa ini, jika tidak ada alat kawalan angin lain, mungkin membawa pulangan yang lebih besar kepada strategi.

Arah pengoptimuman

  1. Anda boleh mempertimbangkan untuk memperkenalkan petunjuk teknikal lain seperti purata bergerak sebagai penapis, contohnya, hanya membuka kedudukan apabila MA berlarutan, meningkatkan kebolehpercayaan isyarat.

  2. Anda boleh mengoptimumkan paras RSI, parameter Brin dan sebagainya untuk mencari kombinasi parameter yang terbaik untuk setiap jenis dan setiap kitaran.

  3. Ia boleh diuji ke hadapan berdasarkan pengesanan semula, dan melakukan perdagangan simulasi, mengesahkan keberkesanan dan kestabilan strategi sebelum berniaga.

  4. Kaedah-kaedah seperti pengurusan kedudukan, hentian hentian dinamik dan lain-lain boleh digunakan untuk mengawal lebih jauh penarikan balik strategi dan meningkatkan pulangan yang disesuaikan dengan risiko.

  5. Strategi ini boleh dimasukkan ke dalam portfolio, dan digunakan bersama-sama dengan strategi lain untuk melindungi daripada digunakan secara berasingan, untuk meningkatkan kestabilan portfolio.

ringkaskan

Artikel ini memperkenalkan strategi perdagangan berayun berbilang arah berdasarkan dua petunjuk teknikal Brin Belt dan RSI. Strategi ini sesuai untuk menangkap pergerakan gelombang dalam trend menaik, logik dan pelaksanaan relatif mudah. Terbuka lebih banyak melalui Brin Belt dan RSI rendah, RSI tinggi rata, serta menetapkan hentian berhenti. Keuntungan strategi adalah dapat mencerminkan secara objektif harga dalam rentang pergerakan harga dan daya tarik bebas, dan risikonya agak terkawal. Tetapi dalam penggunaan khusus, perhatian perlu diberikan untuk mengawal frekuensi perdagangan, menggabungkan lebih banyak isyarat hentian indikator, parameter yang baik pengoptimuman dan pengurusan kedudukan.

Kod sumber strategi
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Bollinger Band with RSI", shorttitle="BB&RSI")
len = input(14, minval=1, title="Length")
src = input(close, "Source", type = input.source)
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(rsi, "RSI", color=#8E1599)
band1 = hline(69, "Upper Band", color=#C0C0C0)
band0 = hline(31, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")

length_bb = input(20,title="BB Length", minval=1)
mult = input(2.0, minval=0.001, maxval=50, title="BB StdDev")
basis = sma(src, length_bb)
dev = mult * stdev(src, length_bb)
upper = basis + dev
lower = basis - dev
offset = input(0, "BB Offset", type = input.integer, minval = -500, maxval = 500)


Plot_PnL = input(title="Plot Cummulative PnL", type=input.bool, defval=false)
Plot_Pos = input(title="Plot Current Position Size", type=input.bool, defval=false)

long_tp_inp = input(10, title='Long Take Profit %', step=0.1)/100
long_sl_inp = input(25, title='Long Stop Loss %', step=0.1)/100
// Take profit/stop loss
long_take_level = strategy.position_avg_price * (1 + long_tp_inp)
long_stop_level = strategy.position_avg_price * (1 - long_sl_inp)

entry_long = rsi < 35.58 and src < lower
exit_long = rsi > 69
 
plotshape(entry_long, style=shape.labelup, color=color.green,  location=location.bottom, text="L", textcolor=color.white, title="LONG_ORDER")
plotshape(exit_long, style=shape.labeldown, color=color.red,  location=location.top, text="S", textcolor=color.white, title="SHORT_ORDER")

strategy.entry("Long",true,when=entry_long)    
strategy.exit("TP/SL","Long", limit=long_take_level, stop=long_stop_level)
strategy.close("Long", when=exit_long, comment="Exit")
plot(Plot_PnL ? strategy.equity-strategy.initial_capital : na, title="PnL", color=color.red)
plot(Plot_Pos ? strategy.position_size : na, title="open_position", color=color.fuchsia)