Strategi Pengesanan Double Bollinger Band Oscillator


Tarikh penciptaan: 2023-12-25 11:49:41 Akhirnya diubah suai: 2023-12-25 11:49:41
Salin: 0 Bilangan klik: 661
1
fokus pada
1623
Pengikut

Strategi Pengesanan Double Bollinger Band Oscillator

Gambaran keseluruhan

Strategi pengesanan gegaran ganda adalah strategi perdagangan kuantitatif yang mengesan pergerakan harga dengan membina gegaran ganda. Strategi ini menggunakan gegaran ganda untuk menangkap peluang gegaran pasaran dalam masa nyata.

Prinsip Strategi

Strategi ini mula-mula mengira garis rata-rata N hari sebagai garis asas, dan kemudian, berdasarkan garis rata, mengira beberapa kali ganda perbezaan piawai untuk membina jalur Brin. Strategi ini menggunakan jalur Brin ganda, iaitu jalur Brin dan jalur Brin adalah beberapa kali ganda perbezaan piawai. Selepas pembentukan jalur Brin ganda, isyarat beli dikeluarkan apabila harga menembusi jalur Brin, isyarat jual dikeluarkan apabila harga jatuh dari jalur Brin, dengan cara ini menangkap peluang pergerakan harga di jalur Brin.

Strategi ini juga menetapkan tetingkap masa untuk membuat pengesanan kembali lebih TARGET dan mencegah data terdahulu mempengaruhi ujian. Proses operasi keseluruhan strategi adalah: membina tali pinggang berganda, persimpangan harga dan orbit sebagai isyarat perdagangan, menetapkan tetingkap masa untuk mengelakkan kesan data terdahulu.

Analisis kelebihan

Kelebihan terbesar strategi ini adalah dapat menangkap pergerakan harga dalam masa nyata, untuk menentukan arah OPERATION melalui terobosan di atas dan di bawah jalur Burin. Berbanding dengan indikator lain, Burin lebih sensitif terhadap tindak balas pasaran, dan dapat membentuk isyarat perdagangan dalam masa yang lebih singkat.

Analisis risiko

Risiko utama dalam strategi ini adalah dengan menetapkan parameter N hari dan perkalian perbezaan piawai yang bergantung kepada pembinaan Burin. Jika parameter tidak ditetapkan dengan betul, ia akan menyebabkan Burin menjadi terlalu lebar atau terlalu sempit, sehingga kehilangan peluang dagangan atau menghasilkan isyarat yang salah. Selain itu, tiada set stop loss dalam perdagangan dua hala, yang boleh menyebabkan kerugian berkembang.

Penyelesaiannya adalah dengan mengoptimumkan parameter, menilai keadaan Brin Belt secara langsung; dan membuat strategi hentian kerugian berdasarkan data sejarah, untuk mengawal kerugian tunggal.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara berikut:

  1. Mengoptimumkan parameter Brin Belt, menyesuaikan N-day dan perkalian standard, supaya Brin Belt dapat menyesuaikan diri dengan lebih baik dengan ciri-ciri pasaran yang berbeza.

  2. Menambah mekanisme pengulangan pesanan, menambah pesanan lagi selepas pesanan asal mendapat keuntungan tertentu, memperluaskan ruang keuntungan.

  3. Tetapkan strategi hentikan kerugian, hentikan kerugian keluar ketika harga menembusi Bollinger Bands ke arah yang tidak baik dan mengawal kerugian.

  4. Gabungan dengan petunjuk lain untuk memfilter isyarat untuk mengelakkan isyarat yang salah dalam pasaran yang bergolak.

ringkaskan

Strategi pengesanan gegaran ganda Brin-Band dapat menangkap lebih banyak peluang perdagangan dalam jangka pendek dengan membina gegaran yang menangkap harga dalam masa nyata. Kelebihan strategi ini adalah kepekaan terhadap perubahan pasaran, isyarat perdagangan dihasilkan dengan cepat; risiko terutamanya berasal dari parameter yang tidak betul dan kekurangan stop loss.

Kod sumber strategi
/*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())