Bollinger Bands dan Strategi Perdagangan RSI

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

img

Gambaran umum

Strategi ini menggabungkan Bollinger Bands dan Relative Strength Index (RSI) untuk menghasilkan sinyal beli dan jual. Sinyal beli dipicu ketika harga pecah di bawah Bollinger Band bagian bawah dan RSI berada di bawah tingkat bawah yang ditentukan. Sinyal jual dipicu ketika harga pecah di atas Bollinger Band bagian atas dan RSI berada di atas tingkat atas yang ditentukan. Selain itu, strategi ini memperkenalkan parameter interval beli untuk menghindari perdagangan yang sering, yang kondusif untuk manajemen posisi piramida.

Prinsip Strategi

  1. Menghitung indikator RSI untuk mengukur kondisi overbought dan oversold.
  2. Menghitung Bollinger Band atas dan bawah untuk menentukan harga breakout.
  3. Siapkan sinyal beli dan jual berdasarkan RSI dan Bollinger Bands:
    • Sinyal beli dihasilkan ketika harga penutupan berada di bawah Bollinger Band bawah dan RSI berada di bawah level bawah yang ditentukan.
    • Sinyal jual dihasilkan ketika harga penutupan berada di atas Bollinger Band atas dan RSI berada di atas level atas yang ditentukan.
  4. Memperkenalkan parameter interval pembelian untuk membatasi frekuensi pembelian berturut-turut, memfasilitasi manajemen posisi piramida.

Keuntungan Strategi

  1. Konfirmasi ganda: Strategi ini menggunakan indikator Bollinger Bands dan RSI, memberikan deteksi pembalikan tren yang lebih dapat diandalkan dan mengurangi sinyal palsu.
  2. Pembentukan posisi piramida: Dengan menetapkan parameter interval pembelian, strategi secara bertahap menambahkan posisi saat tren ditetapkan, yang membantu mengendalikan risiko dan mengoptimalkan pengembalian.
  3. Parameter fleksibel: Pengguna dapat mengatur tingkat atas dan bawah RSI secara fleksibel dan membeli parameter interval sesuai dengan karakteristik pasar dan preferensi pribadi.

Risiko Strategi

  1. Risiko kelanjutan tren: Jika harga mengalami penurunan pendek setelah menembus Bollinger Bands, strategi dapat menutup posisi lebih awal dan melewatkan tren berikutnya.
  2. Risiko optimasi parameter: Kombinasi parameter optimal dapat bervariasi secara signifikan dalam lingkungan pasar yang berbeda, dan strategi dapat menghadapi risiko overfit.
  3. Black swan events: Strategi ini dibangun berdasarkan data historis dan mungkin tidak efektif menangani kondisi pasar yang ekstrim.

Arah Optimasi Strategi

  1. Memperkenalkan stop-loss dan take-profit: Tambahkan logika trailing stop atau stop-loss tetap dan take-profit ke strategi untuk lebih mengendalikan risiko perdagangan individu.
  2. Optimasi parameter dinamis: Sesuaikan secara dinamis parameter seperti tingkat atas dan bawah RSI dan interval pembelian berdasarkan perubahan kondisi pasar untuk meningkatkan kemampuan adaptasi strategi.
  3. Menggabungkan dengan indikator teknis lainnya: Memperkenalkan indikator tren atau osilator lain sebagai penilaian tambahan untuk meningkatkan ketahanan strategi.

Ringkasan

Strategi ini dengan cerdas menggabungkan dua indikator teknis klasik: Bollinger Bands dan RSI. Ini memanfaatkan mekanisme konfirmasi ganda untuk menangkap peluang tren. Pada saat yang sama, strategi memperkenalkan metode pembuatan posisi piramida untuk mengendalikan risiko sambil mengoptimalkan pengembalian. Namun, strategi ini juga menghadapi risiko seperti risiko kelanjutan tren, risiko optimasi parameter, dan risiko peristiwa angsa hitam. Di masa depan, strategi dapat lebih dioptimalkan dengan memperkenalkan stop-loss dan take-profit, optimasi parameter dinamis, dan menggabungkan dengan indikator lain. Secara keseluruhan, ini adalah strategi perdagangan kuantitatif yang jelas dan logis yang ketat yang layak dieksplorasi dan dipraktekkan lebih 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 banyak