Strategi mengikut aliran berdasarkan Bollinger Bands dan RSI


Tarikh penciptaan: 2023-12-20 14:32:40 Akhirnya diubah suai: 2023-12-20 14:32:40
Salin: 0 Bilangan klik: 817
1
fokus pada
1621
Pengikut

Strategi mengikut aliran berdasarkan Bollinger Bands dan RSI

Gambaran keseluruhan

Strategi ini menggabungkan penggunaan Brin belts, RSI dan 200-hari purata bergerak untuk mengenal pasti arah trend, dan bertukar perdagangan di dekat Brin belts dan downtrend apabila arah trend sesuai, dan dengan itu mendapat keuntungan.

Prinsip Strategi

Pertama, menggunakan purata bergerak 200 tempoh untuk menentukan arah trend secara kasar, harga ditakrifkan sebagai tren multihead ketika naik, harga ditakrifkan sebagai tren overhead ketika turun. Kedua, ketika berada dalam tren multihead, lakukan operasi beli jika RSI menunjukkan oversold dan mendekati garis bawah Bollinger Bands; ketika berada dalam trend overhead, lakukan operasi jual jika RSI menunjukkan membeli dan mendekati garis bawah Bollinger Bands.

Analisis kelebihan

Kelebihan terbesar strategi ini adalah penggunaan gabungan beberapa petunjuk untuk menentukan arah trend dan masa perdagangan. Pertama, purata bergerak 200 hari dapat menentukan arah trend besar dengan berkesan. Kedua, jalur Brin naik ke bawah dapat menunjukkan kawasan di mana harga mungkin berbalik.

Analisis risiko

Risiko utama strategi ini adalah kesilapan penghakiman trend besar dan isyarat pembalikan. Jika kesilapan penghakiman trend besar, kemungkinan besar akan menyebabkan kerugian yang berterusan; Jika isyarat pembalikan salah, kemungkinan besar kerugian berhenti akan dicetuskan.

Untuk mengelakkan risiko di atas, disyorkan untuk menyesuaikan parameter purata bergerak dengan sewajarnya, atau menambah indikator lain untuk pengesahan, sehingga meningkatkan ketepatan penghakiman. Di samping itu, disyorkan untuk melepaskan lebar stop loss dengan sewajarnya, untuk mengelakkan stop loss yang terlalu mudah dicetuskan.

Arah pengoptimuman

Strategi ini mempunyai ruang yang besar untuk pengoptimuman, yang boleh bermula dari beberapa aspek berikut: pertama, menyesuaikan parameter purata bergerak, mengoptimumkan ketepatan penghakiman trend besar. Kedua, menyesuaikan parameter Brin atau menambah saluran Kalman, untuk meningkatkan kesan penghakiman kawasan harga. Ketiga, menambah indikator lain seperti MACD untuk pengesahan pembalikan, mengurangkan isyarat yang salah.

ringkaskan

Strategi ini menggabungkan penggunaan Brinband, RSI dan purata bergerak untuk menentukan trend dan masa perdagangan, dan telah mencapai kesan yang baik. Namun, lebih banyak pengoptimuman parameter dan pengurusan risiko diperlukan untuk meningkatkan keuntungan yang stabil. Secara keseluruhan, strategi ini jelas dan mudah dilaksanakan, dan patut diteliti dan diterapkan.

Kod sumber strategi
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Gab EMA + rsi + bb", overlay=true)
// Custom RSI
RSIlength = input(3, minval=1 , title="lookback length of RSI")
RSIOverBought = input(70, title="RSI OB")
RSIOverSold = input(30, title="RSI OS")
RSIprice = close
vrsi = rsi(RSIprice, RSIlength)


//Bollinger Bands
BBlength = input(20, minval=1,title="Bollinger Period Length")
BBmult = input(2.0, minval=0.001, maxval=50, title="Bollinger Bands Standard Deviation")
BBbasis = sma(close, BBlength)
BBdev = BBmult * stdev(close, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close

//EMA
emaLength=input(200)

//Set TP and SL values
sl_short = high + (syminfo.mintick * 5 * 10)
tp_short = low - (syminfo.mintick * 10 * 10)
sl_long = low - (syminfo.mintick * 5 * 10)
tp_long = high + (syminfo.mintick * 10 * 10)


//Strategy Entry and Exit
strategy.entry("sell", strategy.short, when = low < ema(low, emaLength) and vrsi < RSIOverSold and low < BBlower and barstate.isconfirmed)
strategy.exit("closeshort", from_entry="sell", limit=tp_short, stop=sl_short, when=strategy.position_size != 0)

strategy.entry("buy", strategy.long, when = high > ema(high, emaLength) and vrsi > RSIOverBought and high > BBupper and barstate.isconfirmed)
strategy.exit("closelong", from_entry="buy", limit=tp_long, stop=sl_long, when=strategy.position_size != 0)