Strategi Perdagangan Fusi Band Bollinger Moving Average

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

Gambaran umum

Strategi ini menggabungkan moving average dan Bollinger Bands untuk validasi sinyal indikator ganda untuk menentukan dan memperdagangkan tren.

Logika Strategi

Rata-rata bergerak cepat dan lambat dihitung. Ketika garis cepat melintasi di atas garis lambat, sinyal panjang dihasilkan. Di bawahnya memberikan sinyal pendek. Band Bollinger atas dan bawah juga dihitung. Sinyal rata-rata bergerak hanya dikonfirmasi ketika harga juga melanggar Bollinger Bands. Ini menghindari whipsaws dari pecah palsu.

Keuntungan

  • Validasi indikator ganda menghindari sinyal palsu
  • Rata-rata bergerak menentukan arah tren utama
  • Bollinger Bands menegaskan kualitas breakout
  • Kemampuan untuk pergi baik panjang dan pendek memberikan fleksibilitas

Risiko

  • Rata-rata bergerak dan Bollinger Bands memiliki lag
  • Kondisi ganda membatasi frekuensi perdagangan, tidak cocok untuk perdagangan frekuensi tinggi
  • Titik pembalikan yang tepat tidak dapat ditentukan dengan tepat
  • Penyesuaian parameter yang buruk berisiko kehilangan peluang

Risiko dapat dikelola dengan memperpendek periode moving average dan Bollinger atau mengoptimalkan kombinasi parameter.

Peningkatan

  • Uji kombinasi rata-rata bergerak dan parameter Bollinger yang berbeda
  • Pertimbangkan untuk menambahkan strategi stop loss untuk mengendalikan kerugian
  • Mengoptimalkan aturan logika untuk validasi ganda
  • Uji ketahanan pada produk yang berbeda

Kesimpulan

Strategi ini memvalidasi sinyal dengan indikator ganda untuk mengurangi sinyal palsu, cocok untuk jangka menengah / panjang. penyempurnaan lebih lanjut seperti optimasi parameter dapat meningkatkan kinerja.


/*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 banyak