Strategi Perdagangan Pelacakan Cerdas Berdasarkan Bollinger Bands

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

img

Gambaran umum

Strategi ini dirancang berdasarkan indikator Bollinger Bands untuk pergi pendek ketika harga pecah di atas band atas dan pergi panjang ketika harga pecah di bawah band bawah, mewujudkan perdagangan pelacakan cerdas.

Logika Strategi

Strategi ini menggunakan garis tengah, band atas dan band bawah Bollinger Bands sebagai indikator dasar. Garis tengah adalah moving average dari harga penutupan selama n hari. Band atas adalah garis tengah yang bergeser naik dengan dua standar deviasi sementara band bawah bergeser ke bawah dengan dua standar deviasi. Ketika harga melanggar band bawah ke atas, pergi panjang. Ketika harga melanggar band atas ke bawah, pergi pendek. Ini memungkinkan pelacakan harga yang cerdas berdasarkan volatilitas pasar.

Secara khusus, strategi ini terutama 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 band atas, pergi pendek

Ketika kondisi keluar dipicu, gunakan fungsi strategy.cancel() untuk meratakan posisi yang ada.

Analisis Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Berdasarkan indikator Bollinger Bands, mampu menangkap volatilitas pasar dan secara efektif melacak tren harga
  2. Logika yang jelas dan sederhana, mudah dimengerti dan diterapkan
  3. Parameter yang dapat disesuaikan seperti panjang periode dan pengganda penyimpangan standar, sangat dapat disesuaikan
  4. Mekanisme stop loss, break-even atau trailing stop yang dapat dikonfigurasi untuk mengoptimalkan kinerja strategi

Analisis Risiko

Ada juga beberapa risiko dengan strategi ini:

  1. Breakout Bollinger Bands rentan terhadap sinyal palsu
  2. Kinerja bergantung pada optimasi parameter, parameter yang tidak tepat dapat mempengaruhi profitabilitas
  3. Menelusuri stop loss sulit, tidak dapat secara efektif mengendalikan kerugian perdagangan tunggal

Solusi yang sesuai:

  1. Tambahkan filter dengan indikator lain untuk menghindari pecah palsu
  2. Uji parameter secara menyeluruh untuk menemukan set parameter optimal
  3. Tambahkan mekanisme stop loss yang bergerak atau mengikuti tren

Arahan Optimasi

Strategi dapat dioptimalkan lebih lanjut dengan:

  1. Menambahkan indikator lain untuk menentukan arah tren, menghindari kondisi pasar yang tidak cocok untuk strategi Bollinger
  2. Mencoba panjang periode yang berbeda untuk menemukan yang optimal
  3. Mengintegrasikan mekanisme stop bergerak atau trailing untuk secara efektif mengendalikan kerugian perdagangan tunggal

Kesimpulan

Strategi ini dirancang berdasarkan indikator Bollinger Bands, menggunakan price breakout dari band atas dan bawah untuk melacak harga secara otomatis. Logika sederhana dan sensitif terhadap volatilitas pasar. Optimasi lebih lanjut dapat dilakukan melalui pengaturan parameter dan mekanisme stop loss. Secara keseluruhan strategi ini bekerja dengan baik untuk indeks dan komoditas dengan volatilitas yang lebih tinggi. Pedagang dapat backtest dan mengoptimalkan berdasarkan preferensi 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 banyak