Sumber dimuat naik... memuat...

Bollinger Bands Dual Standard Deviation Strategi Dagangan

Penulis:ChaoZhang, Tarikh: 2023-12-18 17:23:42
Tag:

img

Ringkasan

Strategi ini adalah strategi dagangan yang direka berdasarkan model deviasi standard ganda Bollinger Bands. Ia menggunakan rel atas dan bawah Bollinger Bands dan satu dan dua deviasi standard sebagai isyarat dagangan. Ia pergi lama apabila harga menembusi rel atas dan pergi pendek apabila harga menembusi rel bawah. Strategi ini juga menggunakan satu dan dua deviasi standard sebagai garis stop loss.

Logika Strategi

Strategi pertama mengira rel tengah, rel atas dan rel bawah Bollinger Bands. rel tengah adalah SMA CLOSE, rel atas adalah rel tengah + 2Penyimpangan standard, dan rel bawah adalah rel tengah - 2Apabila harga memecahkan rel atas, isyarat beli dihasilkan untuk pergi panjang. Apabila harga memecahkan rel bawah, isyarat jual dihasilkan untuk pergi pendek. Di samping itu, strategi ini juga memetakan garis rel tengah + 1 penyimpangan standard dan rel tengah - 1 penyimpangan standard. Mereka digunakan sebagai garis stop loss. Logik khusus adalah:

  1. Mengira SMA CLOSE sebagai rel tengah Bollinger Bands
  2. Mengira STD penyimpangan piawai CLOSE, dan mengira 2*STD
  3. Rel tengah + 2STD adalah rel atas Bollinger Bands, rel tengah - 2STD adalah rel bawah
  4. Pergi panjang apabila harga memecahkan rel atas
  5. Pergi pendek apabila harga pecah melalui rel bawah
  6. Rel tengah + 1 * STD berfungsi sebagai garis stop loss. Jika garis stop loss terputus, tutup kedudukan.

Kelebihan Strategi

  1. Reka bentuk penyimpangan piawai berganda menjadikan penghakiman pecah lebih ketat untuk mengelakkan isyarat yang salah
  2. Reka bentuk garis stop loss berganda memaksimumkan kawalan risiko
  3. Ruang pengoptimuman parameter yang besar, tempoh rel tengah dan kelipatan penyimpangan standard boleh diselaraskan
  4. Pengeluaran boleh dikawal dengan menyesuaikan tahap stop loss

Risiko Strategi

  1. Strategi Bollinger Bands terdedah kepada pecah palsu, yang membawa kepada isyarat perdagangan yang tidak tepat
  2. Penentuan garis penyimpangan piawai berganda dan stop loss berganda mungkin terlalu ketat, kehilangan peluang dengan menapis terlalu banyak isyarat
  3. Tetapan parameter yang tidak betul boleh meningkatkan risiko strategi
  4. Kawalan pengambilan tidak cukup sempurna untuk mengawal kerugian secara berkesan dalam keadaan pasaran yang melampau

Arahan pengoptimuman

  1. Pertimbangkan untuk menggabungkan penunjuk lain untuk menapis isyarat perdagangan Bollinger Bands untuk mengelakkan pecah palsu
  2. Uji tetapan parameter yang berbeza dan optimumkan parameter untuk nisbah pulangan / pengeluaran yang lebih baik
  3. Reka bentuk mekanisme stop loss dinamik seperti trailing stop loss atau peratusan stop loss ekuiti
  4. Gabungkan algoritma pembelajaran mesin untuk mengoptimumkan parameter secara automatik

Kesimpulan

Secara amnya, strategi ini adalah strategi breakout Bollinger Bands yang biasa. Ia menggunakan penyimpangan standard berganda untuk meningkatkan ketegasan penghakiman isyarat dan mengamalkan garis stop loss berganda untuk mengawal risiko secara aktif. Strategi ini mempunyai beberapa ruang pengoptimuman parameter. Dengan menyesuaikan parameter seperti tempoh rel tengah dan pengganda penyimpangan standard, prestasi strategi yang lebih baik dapat diperoleh. Pada masa yang sama, strategi ini juga menghadapi masalah biasa penyimpangan palsu dalam strategi Bollinger Bands. Di samping itu, terdapat ruang untuk peningkatan dan pengoptimuman lebih lanjut dalam mekanisme stop loss.


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

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))

// Entry conditions
longCondition = ta.crossover(close, upper1)
shortCondition = ta.crossunder(close, lower1)

// Entry and exit strategy
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)

strategy.close("Buy", when=shortCondition)
strategy.close("Sell", when=longCondition)

Lebih lanjut