Strategi Pelacakan Volatilitas Bollinger Band Dual adalah strategi perdagangan kuantitatif yang menangkap volatilitas harga dengan membangun Bollinger Band ganda untuk pelacakan.
Strategi ini pertama kali menghitung rata-rata bergerak N-hari sebagai garis dasar, kemudian menghitung rel atas dan bawah berdasarkan kelipatan deviasi standar untuk membangun Bollinger Bands. Strategi ini menggunakan Bollinger Band ganda, di mana kedua rel atas dan bawah adalah kelipatan deviasi standar. Setelah Bollinger Band ganda terbentuk, sinyal beli dipicu ketika harga menembus rel atas, dan sinyal jual dipicu ketika harga menembus rel bawah, menangkap peluang volatilitas harga di Bollinger Bands.
Strategi ini juga menetapkan jendela waktu untuk membuat backtest lebih Target dan mencegah data awal mempengaruhi hasil tes. Seluruh alur kerja strategi adalah: membangun Bollinger Band ganda, penyeberangan harga dan rel sebagai sinyal perdagangan, mengatur jendela waktu untuk menghindari dampak dari data awal.
Keuntungan terbesar dari strategi ini adalah bahwa ia dapat menangkap volatilitas harga secara real time dengan menembus rel atas dan bawah Bollinger Bands untuk menentukan arah OPERASI. Dibandingkan dengan indikator lain, Bollinger Bands bereaksi terhadap pasar dengan lebih sensitif dan dapat membentuk sinyal perdagangan dalam waktu yang lebih singkat. Selain itu, Bollinger Bands ganda menetapkan saluran yang lebih luas sehingga kemungkinan terobosan harga lebih besar, memungkinkan strategi untuk menangkap lebih banyak peluang perdagangan.
Risiko utama dari strategi ini terletak pada pengaturan parameter periode N-hari dan kelipatan standar deviasi yang membangun Bollinger Bands. Jika parameter tidak ditetapkan dengan tepat, itu akan menyebabkan Bollinger Bands yang terlalu lebar atau terlalu sempit, sehingga kehilangan peluang perdagangan atau menghasilkan sinyal palsu. Selain itu, tidak ada stop loss yang ditetapkan untuk perdagangan dua arah, yang dapat menyebabkan kerugian yang diperbesar.
Solusinya adalah untuk mengoptimalkan parameter dan mengevaluasi bentuk Bollinger Bands secara real time; juga, untuk menyiapkan strategi stop loss berdasarkan data historis untuk mengendalikan kerugian tunggal.
Aspek utama yang harus dioptimalkan untuk strategi ini:
Mengoptimalkan parameter Bollinger Bands, menyesuaikan periode N-hari dan kelipatan standar deviasi agar lebih sesuai dengan karakteristik pasar yang berbeda.
Meningkatkan mekanisme pembaruan pesanan untuk menempatkan pesanan tambahan setelah beberapa keuntungan ditangkap dari pesanan asli, sehingga memperluas ruang keuntungan.
Atur strategi stop loss sehingga keluar posisi ketika harga menembus rel atas atau bawah Bollinger Bands ke arah yang tidak menguntungkan, mengendalikan kerugian.
Masukkan indikator lain untuk menyaring sinyal dan menghindari sinyal palsu di pasar yang tidak stabil.
Strategi Dual Bollinger Band Volatility Tracking menangkap volatilitas harga secara real time dengan membangun Bollinger Bands yang berpasangan, mampu merebut lebih banyak peluang perdagangan jangka pendek. Keuntungan dari strategi ini adalah sensitivitas terhadap perubahan pasar dan generasi sinyal yang cepat. Risiko utama berasal dari pengaturan parameter yang tidak tepat dan kurangnya stop loss. Kita dapat membuat strategi lebih stabil dan efisien melalui optimasi multidimensional.
/*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())