Strategi Dagangan Pengesanan Pintar Berdasarkan Bollinger Bands

Penulis:ChaoZhang, Tarikh: 2024-01-17 14:05:36
Tag:

img

Ringkasan

Strategi ini direka berdasarkan penunjuk Bollinger Bands untuk pergi pendek apabila harga memecahkan di atas band atas dan pergi panjang apabila harga memecahkan di bawah band bawah, merealisasikan perdagangan penjejakan pintar.

Logika Strategi

Strategi ini menggunakan garis tengah, band atas dan band bawah Bollinger Bands sebagai penunjuk asas. Garis tengah adalah purata bergerak harga penutupan selama n hari. Garis atas adalah garis tengah yang bergeser ke atas dengan dua penyimpangan standard sementara band bawah bergeser ke bawah dengan dua penyimpangan standard. Apabila harga memecahkan band bawah ke atas, pergi panjang. Apabila harga memecahkan band atas ke bawah, pergi pendek. Ini membolehkan penjejakan harga yang pintar berdasarkan turun naik pasaran.

Secara khusus, strategi ini terutamanya menilai dua metrik:

  1. ta.crossover ((sumber, lebih rendah): harga penutupan pecah di atas band bawah, pergi panjang

  2. ta.crossunder ((sumber, atas): harga penutupan pecah di bawah jalur atas, pergi pendek

Apabila keadaan keluar dicetuskan, gunakan fungsi strategi.cancel() untuk meratakan kedudukan sedia ada.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Berdasarkan penunjuk Bollinger Bands, mampu menangkap turun naik pasaran dan dengan berkesan mengesan trend harga
  2. Logik yang jelas dan mudah, mudah difahami dan dilaksanakan
  3. Parameter yang boleh disesuaikan seperti panjang tempoh dan pengganda penyimpangan standard, sangat mudah disesuaikan
  4. Mekanisme stop loss, break-even atau trailing stop yang boleh dikonfigurasi untuk mengoptimumkan prestasi strategi

Analisis Risiko

Terdapat juga beberapa risiko dengan strategi ini:

  1. Penembusan Bollinger Bands cenderung kepada isyarat palsu
  2. Prestasi bergantung pada pengoptimuman parameter, parameter yang tidak betul boleh memberi kesan kepada keuntungan
  3. Mengesan stop loss sukar, tidak dapat mengawal kerugian perdagangan tunggal dengan berkesan

Penyelesaian yang sepadan:

  1. Tambah penapis dengan penunjuk lain untuk mengelakkan pecah palsu
  2. Uji parameter dengan teliti untuk mencari set parameter optimum
  3. Tambahkan mekanisme stop loss yang bergerak atau mengikut trend

Arahan pengoptimuman

Strategi ini boleh dioptimumkan lagi dengan:

  1. Menambah penunjuk lain untuk menentukan arah trend, mengelakkan keadaan pasaran yang tidak sesuai untuk strategi Bollinger
  2. Uji panjang tempoh yang berbeza untuk mencari yang optimum
  3. Menggabungkan mekanisme bergerak atau penghentian yang menarik untuk mengawal kerugian perdagangan tunggal dengan berkesan

Kesimpulan

Strategi ini direka berdasarkan penunjuk Bollinger Bands, menggunakan penembusan harga band atas dan bawah untuk mengesan harga secara automatik. Logiknya mudah dan sensitif terhadap turun naik pasaran. Pengoptimuman lanjut boleh dilakukan melalui mekanisme penyesuaian parameter dan stop loss. Secara keseluruhan strategi ini berfungsi dengan baik untuk indeks dan komoditi dengan turun naik yang lebih tinggi. Pedagang boleh backtest dan mengoptimumkan berdasarkan keutamaan perdagangan mereka untuk memperoleh strategi perdagangan astika.


/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Bands Strategy with alerts (incl. pending orders) via TradingConnector to Forex", overlay=true)
source = close
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = ta.crossover(source, lower)
sellEntry = ta.crossunder(source, upper)
if (ta.crossover(source, lower))
	strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", comment="BBandLE")
    alert(message='long price='+str.tostring(lower), freq=alert.freq_once_per_bar_close)
else
	strategy.cancel(id="BBandLE")
    alert(message='cancel long', freq=alert.freq_once_per_bar_close)
if (ta.crossunder(source, upper))
	strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", comment="BBandSE")
    alert(message='short price='+str.tostring(upper), freq=alert.freq_once_per_bar_close)
else
	strategy.cancel(id="BBandSE")
    alert(message='cancel short', freq=alert.freq_once_per_bar_close)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

//Lines of code added to the original built-in script: 14, 17, 20 and 23 only.
//They trigger alerts ready to be executed on real markets through TradingConnector
//available for Forex, indices, crypto, stocks - anything your broker offers for trading via MetaTrader4/5


Lebih lanjut