Strategi Perdagangan Fusi Bollinger Band Moving Average

Penulis:ChaoZhang, Tarikh: 2023-09-18 16:08:43
Tag:

Ringkasan

Strategi ini menggabungkan purata bergerak dan Bollinger Bands untuk pengesahan isyarat penunjuk ganda untuk menentukan dan menubuhkan trend perdagangan.

Logika Strategi

Rata-rata bergerak pantas dan perlahan dikira. Apabila garis pantas melintasi di atas garis perlahan, isyarat panjang dihasilkan. Di bawah memberi isyarat pendek. Benda Bollinger Band atas dan bawah juga dikira. Isyarat purata bergerak hanya disahkan apabila harga juga memecahkan Bollinger Bands. Ini mengelakkan whipsaws dari pecah palsu.

Kelebihan

  • Pengesahan penanda dua mengelakkan isyarat palsu
  • Purata bergerak menentukan arah trend utama
  • Bollinger Bands mengesahkan kualiti pecah
  • Keupayaan untuk pergi kedua-dua panjang dan pendek memberikan fleksibiliti

Risiko

  • Purata bergerak dan Bollinger Bands mempunyai lag
  • Keadaan berganda mengehadkan kekerapan perdagangan, tidak sesuai untuk perdagangan frekuensi tinggi
  • Titik pembalikan yang tepat tidak dapat ditentukan dengan tepat
  • Penyesuaian parameter yang buruk berisiko kehilangan peluang

Risiko boleh dikendalikan dengan memendekkan purata bergerak dan tempoh Bollinger atau mengoptimumkan kombinasi parameter.

Peningkatan

  • Uji gabungan purata bergerak dan parameter Bollinger yang berbeza
  • Pertimbangkan untuk menambah strategi stop loss untuk mengawal kerugian
  • Mengoptimumkan peraturan logik untuk pengesahan berganda
  • Uji ketahanan di seluruh produk yang berbeza

Kesimpulan

Strategi ini mengesahkan isyarat dengan penunjuk berganda untuk mengurangkan isyarat palsu, sesuai untuk memegang jangka menengah / panjang. penyempurnaan lanjut seperti pengoptimuman parameter dapat meningkatkan prestasi.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("MA-Zorrillo",overlay=true)

ma_short= sma(close,8)
ma_long= sma(close,89)

entry_ma = crossover (ma_short,ma_long)
exit_ma = crossunder (ma_short,ma_long) 


BBlength = input(24, minval=1,title="Bollinger Period Length")
BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(close, BBlength)
BBdev = BBmult * stdev(close, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

source = close
entry_bb = crossover(source, BBlower)
exit_bb = crossunder(source, BBupper)


vs_entry = false
vs_exit = false
for i = 0 to 63
    if (entry_bb[i])
        vs_entry :=  true
    if (exit_bb[i])
        vs_exit :=  true
        

entry = entry_ma and vs_entry
exit =  exit_ma and vs_exit

strategy.entry(id="long_ma",long=true,when=entry)
strategy.close(id="long_ma", when=exit)

strategy.entry(id="short_ma",long=false,when=exit)
strategy.close(id="short_ma",when=entry)


Lebih lanjut