Bollinger Momentum Breakout Strategi

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

img

Gambaran umum

Strategi ini menggunakan Bollinger Bands untuk menentukan arah tren pasar dikombinasikan dengan indikator RSI untuk menyaring sinyal bullish, menerapkan operasi momentum breakout untuk mengejar naik dan membunuh jatuh.

Prinsip Strategi

  1. Ketika indikator Bollinger Bands menentukan harga pecah melalui band atas, itu menunjukkan pasar memasuki tren bullish. Pada saat ini, gunakan indikator RSI untuk penyaringan. Membuat sinyal beli ketika RSI lebih besar dari 60. Ketika indikator BB menentukan harga pecah melalui band bawah, itu menunjukkan pasar memasuki tren penurunan. Pada saat ini, gunakan indikator RSI untuk penyaringan. Membuat sinyal jual ketika RSI kurang dari 40.

  2. Atur stop loss setelah memasuki pasar untuk menghindari kerugian lebih lanjut.

  3. Kriteria keluar adalah penutupan posisi panjang ketika harga kembali di bawah BB band tengah, dan penutupan posisi pendek ketika harga kembali di atas BB band tengah.

Analisis Keuntungan

  1. Indikator Bollinger Bands dapat menentukan tren pasar utama dan menangkap titik infleksi.

  2. Chase naik dan membunuh operasi jatuh dapat mencapai keuntungan yang berlebihan.

  3. Menetapkan stop loss dapat mengendalikan risiko.

Analisis Risiko

  1. Indikator BB tidak efektif dalam menilai pasar sampingan, yang dapat menghasilkan sinyal palsu.

  2. Pengaturan stop loss yang tidak benar dapat menyebabkan kerugian lebih lanjut.

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

  4. Sinyal breakout perlu diperbarui tepat waktu, jika tidak peluang masuk terbaik mungkin hilang.

Arahan Optimasi

  1. Gabungkan dengan indikator lain untuk menilai keandalan sinyal BB, seperti volume, moving average, dll.

  2. Sesuaikan parameter BB secara dinamis untuk mengoptimalkan kinerja indikator.

  3. Mengoptimalkan posisi stop loss, seperti trailing stop loss, persentase stop loss untuk mengurangi kerugian yang tidak perlu.

Ringkasan

Strategi ini memiliki logika yang jelas untuk menentukan tren pasar melalui BB dan menyaring sinyal dengan RSI untuk mengejar tren momentum. Strategi ini memiliki frekuensi operasi yang tinggi, siklus laba / kerugian yang cepat, lebih cocok untuk pedagang yang mengejar laba yang berlebihan. Namun, frekuensi perdagangan yang tinggi juga meningkatkan biaya transaksi dan membutuhkan manajemen modal yang ketat dan kontrol emosional. Performa dan stabilitas yang lebih baik dapat dicapai melalui optimasi parameter dan optimasi 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 banyak