Strategi Price Action berdasarkan Bollinger Band

Penulis:ChaoZhang, Tanggal: 2023-12-20 14:03:52
Tag:

img

Gambaran umum

Nama strategi ini adalah Bollinger Band-based Price Action Strategy. Ini mengintegrasikan analisis aksi harga dan Bollinger Bands untuk menghasilkan sinyal perdagangan berdasarkan penilaian kondisi senyawa.

Prinsip Strategi

Strategi ini pertama-tama menghitung rel atas dan bawah Bollinger Bands, dan kemudian menilai apakah K-line terakhir menerobos rel atas atau bawah. Pada saat yang sama, juga menilai apakah entitas dari K-line terakhir hanya setengah dari entitas K-line sebelumnya. Ketika kedua kondisi terpenuhi, sinyal perdagangan dikeluarkan.

Secara khusus, strategi ini memanfaatkan situasi di mana entitas K-line merah menjadi lebih kecil, mencapai hanya setengah dari entitas K-line sebelumnya selama tren penurunan, bersama dengan harga penutupan K-line terakhir yang menembus rel bawah Bollinger Band sebagai sinyal beli. Sebaliknya, strategi ini memanfaatkan situasi di mana entitas K-line hijau menjadi lebih kecil, mencapai hanya setengah dari entitas K-line sebelumnya selama tren kenaikan, bersama dengan harga penutupan K-line terakhir yang menembus rel atas Bollinger Band sebagai sinyal jual.

Analisis Keuntungan

Strategi ini menggabungkan indikator teknis dan analisis perilaku harga, yang dapat secara efektif menyaring breakout palsu. Pada saat yang sama, hanya mengeluarkan sinyal pada titik infleksi, menghindari perdagangan berulang selama tren. Selain itu, strategi ini memanfaatkan karakteristik kontraksi entitas K-line untuk mengunci titik infleksi setelah penyesuaian kecil. Keuntungan ini dapat meningkatkan stabilitas dan profitabilitas strategi.

Analisis Risiko

Risiko utama dari strategi ini terletak pada pengaturan parameter Bollinger Bands yang tidak tepat dan kegagalan breakout. Jika parameter Bollinger Bands diatur terlalu besar atau terlalu kecil, penilaian yang salah akan terjadi. Selain itu, bahkan jika harga menerobos rel atas atau bawah Bollinger Bands, itu mungkin merupakan breakout palsu dan gagal membentuk pembalikan tren yang nyata. Risiko ini semua dapat menyebabkan kerugian perdagangan strategi. Untuk mengurangi risiko ini, parameter Bollinger Bands dapat disesuaikan dengan baik, atau indikator lain dapat ditambahkan untuk verifikasi kombinasi.

Arahan Optimasi

Strategi ini dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan parameter Bollinger Band untuk menangkap tren dan fluktuasi dengan lebih efektif.

  2. Tambahkan stop loss bergerak untuk mengunci keuntungan dan mengelola risiko.

  3. Masukkan indikator lain seperti MACD, RSI untuk verifikasi untuk menyaring sinyal palsu.

  4. Tambahkan algoritma pembelajaran mesin, melatih model dengan data besar, dan secara dinamis mengoptimalkan parameter strategi dan bobot indikator.

Kesimpulan

Strategi ini berhasil menggabungkan aksi harga dan Bollinger Bands, mendapatkan profitabilitas yang relatif tinggi dengan risiko rendah. Ini hanya mengeluarkan sinyal di titik-titik kunci, menghindari gangguan dari kebisingan. Melalui optimasi terus-menerus dari parameter dan kriteria penyaringan, strategi ini diharapkan untuk mendapatkan alfa yang lebih stabil. Ini menyediakan templat yang dapat diandalkan untuk praktik perdagangan kuantitatif.


/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// main codebody taken from Trader Noro - Noro's Crypto Pattern for H1
// Intraday strategy- Exit at EOD at all cost

strategy(title = "Price Action + Bollinger Strategy ",overlay=true)
bar = close > open ? 1 : close < open ? -1 : 0
body = abs(close - open)
avgbody = sma(body, 100)

//calculate simple moving average bollinger bands
b_sma = input(21,minval=1,title=" SMA candle")
b_sma_no_of_deviations = 2.1
b_sma_signal = sma(close, b_sma)
b_sma_deviation = b_sma_no_of_deviations * stdev(close, b_sma)
b_sma_upper= b_sma_signal + b_sma_deviation
b_sma_lower= b_sma_signal - b_sma_deviation

up1 = body < body[1] / 2 and bar[1]==1 and bar == -1 and close[1] > b_sma_upper   
dn1 = body < body[1] / 2 and bar[1]==-1 and bar == 1 and close[1] < b_sma_lower  
up2 = false
dn2 = false
up2 := (up1[1] or up2[1]) and close < close[1]
dn2 := (dn1[1] or dn2[1]) and close > close[1]
plotarrow(up1 or up2 ? 1 : na, colorup = color.black, colordown = color.black, transp = 0)
plotarrow(dn1 or dn2 ? -1 : na, colorup = color.black, colordown = color.black, transp = 0)

strategy.entry("Buy", true, when = dn1)
strategy.exit("exit", "Buy", profit = 3, loss = 1.5)

strategy.entry("Short", false, when = up1)
strategy.exit("exit", "Short", profit = 3, loss = 1.5)



Lebih banyak