Bollinger Bands Dual Standard Deviation Strategi Perdagangan

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

img

Gambaran umum

Strategi ini adalah strategi perdagangan yang dirancang berdasarkan model deviasi standar ganda Bollinger Bands. Ini menggunakan rel atas dan bawah Bollinger Bands dan satu dan dua deviasi standar sebagai sinyal perdagangan.

Logika Strategi

Strategi pertama menghitung rel tengah, rel atas dan rel bawah Bollinger Bands. rel tengah adalah SMA dari CLOSE, rel atas adalah rel tengah + 2deviasi standar, dan rel bawah adalah rel tengah - 2strategi ini juga memetakan garis tengah rel + 1 standar deviasi dan tengah rel - 1 standar deviasi. mereka digunakan sebagai garis stop loss. logika spesifiknya adalah:

  1. Menghitung SMA dari CLOSE sebagai rel tengah Bollinger Bands
  2. Hitung STD standar deviasi dari CLOSE, dan hitung 2*STD
  3. Rel tengah + 2STD adalah rel atas Bollinger Bands, rel tengah - 2STD adalah rel bawah
  4. Pergi panjang ketika harga menembus rel atas
  5. Pergi short saat harga menembus rel bawah
  6. Rel tengah + 1 * STD berfungsi sebagai garis stop loss. Jika garis stop loss rusak, tutup posisi.

Keuntungan dari Strategi

  1. Desain standar deviasi ganda membuat penilaian breakout lebih ketat untuk menghindari sinyal yang salah
  2. Desain garis stop loss ganda memaksimalkan kontrol risiko
  3. Ruang pengoptimalan parameter besar, periode rel tengah dan kelipatan penyimpangan standar dapat disesuaikan
  4. Pengurangan dapat dikontrol dengan menyesuaikan tingkat stop loss

Risiko dari Strategi

  1. Strategi Bollinger Bands rentan terhadap kegagalan palsu, yang menyebabkan sinyal perdagangan yang tidak akurat
  2. Pengaturan standar deviasi ganda dan garis stop loss ganda mungkin terlalu ketat, kehilangan peluang dengan menyaring terlalu banyak sinyal
  3. Pengaturan parameter yang tidak benar dapat meningkatkan risiko strategi
  4. Pengendalian penarikan tidak cukup sempurna untuk secara efektif mengendalikan kerugian dalam kondisi pasar yang ekstrem

Arahan Optimasi

  1. Pertimbangkan untuk menggabungkan indikator lain untuk menyaring sinyal perdagangan Bollinger Bands untuk menghindari breakout palsu
  2. Uji pengaturan parameter yang berbeda dan optimalkan parameter untuk rasio return/drawdown yang lebih baik
  3. Merancang mekanisme stop loss dinamis seperti trailing stop loss atau stop loss persentase ekuitas
  4. Menggabungkan algoritma pembelajaran mesin untuk mengoptimalkan parameter secara otomatis

Kesimpulan

Secara umum, strategi ini adalah strategi breakout Bollinger Bands yang khas. Ini menggunakan deviasi standar ganda untuk meningkatkan kekakuan penilaian sinyal dan mengadopsi garis stop loss ganda untuk secara aktif mengendalikan risiko. Strategi ini memiliki beberapa ruang optimasi parameter. Dengan menyesuaikan parameter seperti periode rel tengah dan pengganda deviasi standar, kinerja strategi yang lebih baik dapat diperoleh. Pada saat yang sama, strategi ini juga menghadapi masalah umum dari breakout palsu dalam strategi Bollinger Bands. Selain itu, ada ruang untuk perbaikan dan optimasi 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 banyak