Bollinger Bands dan Strategi Perdagangan RSI

Penulis:ChaoZhang, Tarikh: 2024-03-28 18:11:08
Tag:

img

Ringkasan

Strategi ini menggabungkan Bollinger Bands dan Indeks Kekuatan Relatif (RSI) untuk menjana isyarat beli dan jual. Isyarat beli diaktifkan apabila harga memecahkan di bawah Bollinger Band yang lebih rendah dan RSI berada di bawah tahap yang lebih rendah. Isyarat jual diaktifkan apabila harga memecahkan di atas Bollinger Band atas dan RSI berada di atas tahap atas yang ditentukan. Di samping itu, strategi memperkenalkan parameter selang beli untuk mengelakkan perdagangan yang kerap, yang kondusif untuk pengurusan kedudukan piramid.

Prinsip Strategi

  1. Mengira penunjuk RSI untuk mengukur keadaan overbought dan oversold.
  2. Mengira Bollinger Band atas dan bawah untuk menentukan harga pecah.
  3. Set isyarat beli dan jual berdasarkan RSI dan Bollinger Bands:
    • Isyarat beli dihasilkan apabila harga penutupan berada di bawah Bollinger Band bawah dan RSI berada di bawah tahap bawah yang ditentukan.
    • Isyarat jual dihasilkan apabila harga penutupan berada di atas Bollinger Band atas dan RSI berada di atas tahap atas yang ditentukan.
  4. Memperkenalkan parameter selang beli untuk mengehadkan kekerapan pembelian berturut-turut, memudahkan pengurusan kedudukan piramid.

Kelebihan Strategi

  1. Pengesahan berganda: Strategi ini menggunakan kedua-dua Bollinger Bands dan penunjuk RSI, menyediakan pengesanan pembalikan trend yang lebih boleh dipercayai dan mengurangkan isyarat palsu.
  2. Pembinaan kedudukan piramid: Dengan menetapkan parameter selang beli, strategi secara beransur-ansur menambah kedudukan apabila trend ditubuhkan, yang membantu mengawal risiko dan mengoptimumkan pulangan.
  3. Parameter fleksibel: Pengguna boleh menetapkan tahap atas dan bawah RSI dengan fleksibel dan membeli parameter selang mengikut ciri pasaran dan pilihan peribadi.

Risiko Strategi

  1. Risiko kesinambungan trend: Jika harga mengalami penurunan pendek selepas menembusi Bollinger Bands, strategi mungkin menutup kedudukan lebih awal dan terlepas trend berikutnya.
  2. Risiko pengoptimuman parameter: Gabungan parameter optimum mungkin berbeza dengan ketara dalam persekitaran pasaran yang berbeza, dan strategi mungkin menghadapi risiko terlalu sesuai.
  3. Peristiwa angsa hitam: Strategi ini dibina berdasarkan data sejarah dan mungkin tidak dapat menangani keadaan pasaran yang melampau dengan berkesan.

Arahan Pengoptimuman Strategi

  1. Memperkenalkan stop-loss dan take-profit: Tambah logik stop trailing atau stop-loss dan take-profit tetap kepada strategi untuk mengawal risiko perdagangan individu.
  2. Pengoptimuman parameter dinamik: Sesuaikan parameter secara dinamik seperti tahap atas dan bawah RSI dan membeli selang berdasarkan perubahan dalam keadaan pasaran untuk meningkatkan kesesuaian strategi.
  3. Menggabungkan dengan penunjuk teknikal lain: Memperkenalkan penunjuk trend atau pengayun lain sebagai penilaian tambahan untuk meningkatkan ketahanan strategi.

Ringkasan

Strategi ini dengan bijak menggabungkan dua penunjuk teknikal klasik: Bollinger Bands dan RSI. Ia menggunakan mekanisme pengesahan berganda untuk menangkap peluang trend. Pada masa yang sama, strategi memperkenalkan kaedah pembinaan kedudukan piramid untuk mengawal risiko sambil mengoptimumkan pulangan. Walau bagaimanapun, strategi ini juga menghadapi risiko seperti risiko kesinambungan trend, risiko pengoptimuman parameter, dan risiko peristiwa angsa hitam. Pada masa akan datang, strategi ini boleh dioptimumkan lagi dengan memperkenalkan stop-loss dan mengambil keuntungan, pengoptimuman parameter dinamik, dan menggabungkan dengan penunjuk lain. Secara keseluruhan, ini adalah strategi perdagangan kuantitatif yang jelas dan logik yang ketat yang bernilai penerokaan dan amalan lanjut.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

//@version=4
strategy(overlay=true, shorttitle="cakes'Strategy For RSI", default_qty_type = strategy.percent_of_equity, initial_capital = 100000, default_qty_value = 100, pyramiding = 0, title="cakes'Strategy", currency = 'USD')

////////// ** Inputs ** //////////

// Stoploss and Profits Inputs

v1 = input(true, title="GoTradePlz")

////////// ** Indicators ** //////////

// RSI

len = 14
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)



//  Bollinger Bands

length1 = 20
src1 = close
mult1 = 1.0
basis1 = sma(src1, length1)
dev1 = mult1 * stdev(src1, length1)
upper1 = basis1 + dev1
lower1 = basis1 - dev1



////////// ** Triggers and Guards ** //////////


// 输入
RSILowerLevel1 = input(30, title="RSI 下限水平")
RSIUpperLevel1 = input(70, title="RSI 上限水平")

// 购买间隔
buyInterval = input(5, title="购买间隔(K线数量)")

// 跟踪购买间隔
var int lastBuyBar = na
lastBuyBar := na(lastBuyBar[1]) ? bar_index : lastBuyBar

// 策略信号
BBBuyTrigger1 = close < lower1
BBSellTrigger1 = close > upper1
rsiBuyGuard1 = rsi < RSILowerLevel1
rsiSellGuard1 = rsi > RSIUpperLevel1

Buy_1 = BBBuyTrigger1 and rsiBuyGuard1 and (bar_index - lastBuyBar) >= buyInterval
Sell_1 = BBSellTrigger1 and rsiSellGuard1

if (Buy_1)
    lastBuyBar := bar_index

strategy.entry("Long", strategy.long, when = Buy_1, alert_message = "Buy Signal!")
strategy.close("Long", when = Sell_1, alert_message = "Sell Signal!")

Lebih lanjut