Bollinger Bands Breakout Reentry Trading Strategi

Penulis:ChaoZhang, Tanggal: 2024-03-08 14:08:53
Tag:

img

Gambaran umum

Strategi ini didasarkan pada indikator Bollinger Bands. Ide utamanya adalah untuk menunggu harga untuk kembali memasuki Bollinger Bands setelah keluar dari band atas atau bawah, dan kemudian menetapkan posisi ke arah yang sama dengan breakout di titik re-entry. Strategi ini memanfaatkan karakteristik bahwa harga sering terbalik ketika mereka berada di daerah ekstrem. Dengan menggabungkan kondisi Bollinger Band breakout dan re-entry, itu bertujuan untuk menangkap titik balik pasar dan mencapai tingkat kemenangan yang lebih tinggi.

Prinsip Strategi

  1. Hitung band tengah, atas, dan bawah Bollinger Bands. Band tengah adalah moving average, dan band atas dan bawah adalah band tengah ditambah atau dikurangi sejumlah standar deviasi.
  2. Tentukan apakah harga keluar dari Bollinger Band atas atau bawah. Jika harga penutupan melebihi band atas, itu dianggap sebagai breakout ke atas; jika harga penutupan jatuh di bawah band bawah, itu dianggap sebagai breakout ke bawah.
  3. Jika terjadi breakout ke atas, catat harga tertinggi dari lilin breakout itu sebagai puncak. Jika terjadi breakout ke bawah, catat harga terendah dari lilin breakout itu sebagai puncak. Puncak digunakan untuk menentukan apakah harga telah memasuki kembali kemudian.
  4. Jika harga penutupan berada di antara band atas dan bawah pada saat ini, harga dianggap telah memasuki kembali.
  5. Ketika harga kembali masuk, jika lilin sebelumnya adalah breakout ke atas (break_up [1] dan ke dalam), pergi panjang; jika lilin sebelumnya adalah breakout ke bawah (break_down [1] dan ke dalam), pergi pendek.
  6. Manajemen posisi: Jika dalam posisi panjang dan harga penutupan melintasi band tengah, tutup posisi panjang; jika dalam posisi pendek dan harga penutupan melintasi band tengah, tutup posisi pendek.

Analisis Keuntungan

  1. Bollinger Bands memiliki kemampuan beradaptasi yang kuat dan dapat menyesuaikan secara dinamis sesuai dengan fluktuasi harga, yang membantu untuk menangkap tren dan volatilitas.
  2. Dibandingkan dengan strategi breakout Bollinger Band yang sederhana, menambahkan kondisi re-entry dapat menghindari mengejar high dan menjual low sampai batas tertentu dan meningkatkan kualitas entry.
  3. Kondisi keluar menggunakan pita tengah sebagai referensi, yang sederhana dan mudah digunakan, dan dapat melindungi keuntungan relatif baik.
  4. Parameter Bollinger Bands, seperti panjang dan deviasi pengganda, dapat disesuaikan, memberikan fleksibilitas tinggi.

Analisis Risiko

  1. Pemilihan yang tidak tepat dari parameter Bollinger Band dapat menyebabkan entri dini atau terlambat, mempengaruhi kinerja strategi.
  2. Ketika harga berosilasi di dekat Bollinger Bands, posisi dapat sering dibuka dan ditutup, yang mengakibatkan peningkatan biaya transaksi.
  3. Jika tren sangat kuat dan harga tidak kembali memasuki Bollinger Bands untuk waktu yang lama, keuntungan tren mungkin akan terlewatkan.
  4. Menggunakan indikator Bollinger Band saja mungkin tidak efektif untuk beberapa instrumen atau kondisi pasar, dan mungkin perlu digunakan bersamaan dengan sinyal lain.

Arahan Optimasi

  1. Pertimbangkan untuk memperkenalkan lebih banyak kondisi penyaringan. Misalnya, penembusan mungkin lebih dapat diandalkan jika harga telah berjalan di atas Bollinger Bands untuk jangka waktu tertentu, atau gunakan indikator penentuan tren seperti sudut MA dan ADX untuk bantuan.
  2. Untuk pasar osilasi, pesanan batas dan waktu dapat ditambahkan untuk menghindari entri buta.
  3. Untuk exit, ATR atau moving average dapat dikombinasikan untuk mengontrol waktu exit.
  4. Melakukan optimasi parameter dan analisis karakteristik untuk aset dan kerangka waktu yang berbeda untuk memilih target dan kerangka waktu perdagangan yang sesuai.
  5. Pertimbangkan untuk menambahkan manajemen posisi, seperti meningkatkan ukuran posisi ketika volatilitas menyusut dan mengurangi ukuran posisi ketika volatilitas berkembang.

Ringkasan

Bollinger Bands Breakout Reentry Trading Strategy adalah strategi perdagangan kuantitatif yang sederhana dan praktis. Strategi ini memanfaatkan reaksi harga terhadap situasi ekstrem dan membangun kondisi masuk dan keluar melalui alat Bollinger Bands, yang dapat menangkap titik awal dan akhir tren sampai batas tertentu dan mengontrol perdagangan yang sering. Pada saat yang sama, strategi ini juga memiliki masalah seperti pemilihan parameter, kinerja yang buruk di pasar osilasi, dan pengambilan tren yang tidak memadai. Melalui pengoptimalan rincian dan kombinasi dengan sinyal lain, diharapkan dapat meningkatkan kemampuan beradaptasi dan ketahanan strategi ini.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-27 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(shorttitle="BB", title="Bollinger Bands", overlay=true)
length = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(1.7, minval=0.001, maxval=50, title="StdDev")

ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

break_up = close > upper
break_down = close < lower
inside = close > lower and close < upper

sell_condition = break_up[1] and inside
buy_condition = break_down[1] and inside

// Conditions to close trades
close_sell_condition = close > basis
close_buy_condition = close < basis

trade_condition = sell_condition or buy_condition

// Tracking the high of the breakout candle
var float peak = na

if (not trade_condition)
    peak := close
if (break_up and peak < high)
    peak := high
if (break_down and peak > low)
    peak := low

// Entering positions
if (buy_condition)
    strategy.entry("Buy", strategy.long)
if (sell_condition)
    strategy.entry("Sell", strategy.short)

// Exiting positions when close crosses the basis
if (strategy.position_size > 0 and close_sell_condition) // If in a long position and close crosses above basis
    strategy.close("Buy")
if (strategy.position_size < 0 and close_buy_condition) // If in a short position and close crosses below basis
    strategy.close("Sell")

Lebih banyak