Bollinger Momentum Breakout Strategi

Penulis:ChaoZhang, Tarikh: 2023-12-22 13:09:32
Tag:

img

Ringkasan

Strategi ini menggunakan Bollinger Bands untuk menentukan arah trend pasaran digabungkan dengan penunjuk RSI untuk menapis isyarat bullish, melaksanakan operasi pecah momentum untuk mengejar kenaikan dan membunuh kejatuhan.

Prinsip Strategi

  1. Apabila penunjuk Bollinger Bands menentukan harga pecah melalui band atas, ia menunjukkan pasaran memasuki trend menaik. Pada masa ini, gunakan penunjuk RSI untuk penapisan. Membuat isyarat beli apabila RSI lebih besar daripada 60. Apabila penunjuk BB menentukan harga pecah melalui band bawah, ia menunjukkan pasaran memasuki trend menurun. Pada masa ini, gunakan penunjuk RSI untuk penapisan. Membuat isyarat jual apabila RSI kurang daripada 40.

  2. Tetapkan stop loss selepas memasuki pasaran untuk mengelakkan kerugian lanjut.

  3. Kriteria keluar adalah menutup kedudukan panjang apabila harga kembali di bawah jalur tengah BB, dan menutup kedudukan pendek apabila harga kembali di atas jalur tengah BB.

Analisis Kelebihan

  1. Indikator Bollinger Bands boleh menentukan trend pasaran utama dan menangkap titik perubahan.

  2. Operasi mengejar naik dan membunuh jatuh boleh mencapai pulangan yang berlebihan.

  3. Menetapkan stop loss boleh mengawal risiko.

Analisis Risiko

  1. Penunjuk BB tidak berkesan dalam menilai pasaran sampingan, yang boleh menghasilkan isyarat palsu.

  2. Tetapan stop loss yang tidak betul boleh menyebabkan kerugian lebih lanjut.

  3. Frekuensi perdagangan yang tinggi dipengaruhi oleh kos perdagangan dan slippage.

  4. Isyarat pecah perlu dikemas kini tepat pada masanya, jika tidak peluang masuk yang terbaik mungkin terlepas.

Arahan pengoptimuman

  1. Gabungkan dengan penunjuk lain untuk menilai kebolehpercayaan isyarat pecah BB, seperti jumlah, purata bergerak dll.

  2. Sesuaikan parameter BB secara dinamik untuk mengoptimumkan prestasi penunjuk.

  3. Mengoptimumkan kedudukan stop loss, seperti stop loss yang tertinggal, peratusan stop loss untuk mengurangkan kerugian yang tidak perlu.

Ringkasan

Strategi ini mempunyai logik yang jelas untuk menentukan trend pasaran melalui BB dan menapis isyarat dengan RSI untuk mengejar trend momentum. Ia mempunyai kekerapan operasi yang tinggi, kitaran keuntungan / kerugian yang cepat, lebih sesuai untuk peniaga yang mengejar pulangan yang berlebihan. Walau bagaimanapun, kekerapan perdagangan yang tinggi juga meningkatkan kos transaksi dan memerlukan pengurusan modal yang ketat dan kawalan emosi. Penambahbaikan prestasi dan kestabilan dapat dicapai melalui pengoptimuman parameter dan pengoptimuman stop loss.


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


//@version=4
strategy(title="Bollinger Band Breakout", shorttitle = "BB-Stoxguru",default_qty_type = strategy.percent_of_equity,default_qty_value = 100, overlay=true)
source = close
start = timestamp (2007, 1,1,0,0) 
end = timestamp (2021,11,05,0,0)
stop_level = (high[1]-low[1])
profit_level = (high[1]-low[1])
length = input(20, minval=1, title = "Period") //Length of the Bollinger Band 
mult = input(2, minval=0.001, maxval=50, title = "Standard Deviation") 

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev
band=upper-lower
stop_loss=low-atr(14)
if time >= start 
// and time < end
    strategy.entry("Long", strategy.long, when = crossover(source, upper) and rsi(close,14)>=60 and rsi(close,14)<=70)
    // strategy.entry("Long", strategy.long, when = crossover(source, upper) and rsi(close,14)>60 and band<200)
    // strategy.exit("SL", "Long", stop=stop_loss)
    strategy.close(id="Long", when=crossunder(close, basis))
    strategy.entry("Short", strategy.short, when = crossunder(source, lower) and rsi(close,14)<=40 and rsi(close,14)>=35)
    strategy.close(id="Short", when=crossover(close, basis))
    // strategy.entry("Short", strategy.short, when = crossunder(source, lower) and rsi(close,14)<40 and band<200)
    // plot(upper-lower, color=color.purple,title= "DIFF",style=plot.style_linebr)
plot(basis, color=color.red,title= "SMA")
p1 = plot(upper, color=color.blue,title= "UB")
p2 = plot(lower, color=color.blue,title= "LB")
// fill(p1, p2)
BW = ((upper - lower)) / basis * 100

plot(BW, title="Bollinger bandwidth", color=color.red)


Lebih lanjut