Strategi Pengesanan Volatiliti Garis Bollinger Berganda

Penulis:ChaoZhang, Tarikh: 2023-12-25 11:49:41
Tag:

img

Ringkasan

Dual Bollinger Band Volatility Tracking adalah strategi perdagangan kuantitatif yang menangkap turun naik harga dengan membina Bollinger Bands berganda untuk penjejakan.

Prinsip Strategi

Strategi ini mula-mula mengira purata bergerak N-hari sebagai garis asas, kemudian mengira rel atas dan bawah berdasarkan kelipatan penyimpangan standard untuk membina Bollinger Bands. Strategi ini menggunakan Bollinger Bands berganda, di mana kedua-dua rel atas dan bawah adalah kelipatan penyimpangan standard. Setelah Bollinger Bands berganda terbentuk, isyarat beli dicetuskan apabila harga memecahkan rel atas, dan isyarat jual dicetuskan apabila harga memecahkan rel bawah, menangkap peluang turun naik harga pada Bollinger Bands.

Strategi ini juga menetapkan tetingkap masa untuk membuat backtest lebih Target dan mengelakkan data awal daripada mempengaruhi hasil ujian. keseluruhan aliran kerja strategi adalah: membina Bollinger Bands berganda, silang harga dan rel sebagai isyarat perdagangan, tetingkap masa ditetapkan untuk mengelakkan kesan dari data awal.

Analisis Kelebihan

Kelebihan terbesar strategi ini ialah ia dapat menangkap turun naik harga dalam masa nyata dengan menembusi rel atas dan bawah Bollinger Bands untuk menentukan arah OPERASI. Berbanding dengan penunjuk lain, Bollinger Bands bertindak balas terhadap pasaran dengan lebih sensitif dan dapat membentuk isyarat perdagangan dalam jangka masa yang lebih singkat. Di samping itu, Bollinger Bands berganda menetapkan saluran yang lebih luas sehingga kemungkinan harga pecah lebih besar, yang membolehkan strategi untuk menangkap lebih banyak peluang perdagangan.

Analisis Risiko

Risiko utama strategi ini terletak pada tetapan parameter tempoh N hari dan kelipatan penyimpangan standard yang membina Bollinger Bands. Jika parameter tidak ditetapkan dengan betul, ia akan menyebabkan Bollinger Bands yang terlalu lebar atau terlalu sempit, sehingga kehilangan peluang perdagangan atau menjana isyarat palsu. Di samping itu, tiada stop loss ditetapkan untuk perdagangan dua arah, yang boleh menyebabkan kerugian yang diperbesar.

Penyelesaian adalah untuk mengoptimumkan parameter dan menilai bentuk Bollinger Bands dalam masa nyata; juga, untuk menubuhkan strategi stop loss berdasarkan data sejarah untuk mengawal kerugian tunggal.

Arahan pengoptimuman

Aspek utama untuk dioptimumkan untuk strategi ini:

  1. Mengoptimumkan parameter Bollinger Bands, menyesuaikan tempoh N-hari dan kelipatan penyimpangan standard untuk lebih sesuai dengan ciri pasaran yang berbeza.

  2. Meningkatkan mekanisme pembaharuan pesanan untuk meletakkan pesanan tambahan selepas beberapa keuntungan ditangkap dari pesanan asal, untuk memperluaskan ruang keuntungan.

  3. Menetapkan strategi stop loss supaya keluar dari kedudukan apabila harga memecahkan rel atas atau bawah Bollinger Bands ke arah yang tidak baik, mengawal kerugian.

  4. Menggabungkan penunjuk lain untuk menyaring isyarat dan mengelakkan isyarat palsu di pasaran yang tidak menentu.

Kesimpulan

Dual Bollinger Band Volatility Tracking strategi menangkap turun naik harga dalam masa nyata dengan membina dua sisi Bollinger Band, dapat merebut lebih banyak peluang perdagangan jangka pendek. Kelebihan strategi ini adalah kepekaan terhadap perubahan pasaran dan penjanaan isyarat yang cepat. Risiko utama berasal dari tetapan parameter yang tidak sesuai dan kekurangan stop loss.


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

//@version=3
strategy("BB_BB", overlay=true,default_qty_type=strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
length = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"


basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)

buy = crossover(sma(close,1), upper) or crossover(sma(close,1), lower)
sell = crossunder(sma(close,1), upper) or crossunder(sma(close,1), lower)

if(buy)
    strategy.entry("BUY", strategy.long, when = window())
if(sell)
    strategy.entry("SELL", strategy.short, when = window()) 

Lebih lanjut