Strategi pembalikan Bollinger Bands

Penulis:ChaoZhang, Tarikh: 2024-02-20 17:05:47
Tag:

img

Ringkasan

Strategi Zona Ulang Bollinger Bands adalah strategi perdagangan kuantitatif berdasarkan Bollinger Bands. Strategi ini menggunakan julat harga antara julat atas dan bawah Bollinger Bands untuk menentukan julat turun naik pasaran dan mengenal pasti titik masuk dan keluar yang berpotensi.

Prinsip-prinsip

Strategi ini terutamanya bergantung kepada petunjuk berikut untuk penilaian:

  1. Bollinger Middle Band: SMA Purata Bergerak Sederhana, yang mewakili trend pasaran secara keseluruhan.

  2. Bollinger Upper Band: Pertengahan + N kali penyimpangan piawai.

  3. Bollinger Lower Band: Pertengahan - N kali penyimpangan piawai.

Apabila harga penutupan lebih tinggi daripada rel bawah dan harga pembukaan lebih rendah daripada rel bawah, ia dinilai sebagai titik terendah dan titik kemasukan yang mungkin. Apabila harga penutupan lebih tinggi daripada rel atas dan harga pembukaan lebih rendah daripada rel atas, ia dinilai sebagai isyarat pecah berpotensi di atas rel atas, yang juga boleh memasuki pasaran.

Apabila harga penutupan lebih rendah daripada rel atas dan harga pembukaan lebih tinggi daripada rel atas, ia ditentukan bahawa ia telah memasuki bahagian atas Bollinger Band dan keluar harus dipertimbangkan. Apabila harga penutupan lebih tinggi daripada harga pembukaan dan jarak antara rel atas dan bawah melebihi 2 kali garis tengah, ia dinilai bahawa turun naik telah meningkat, dan keluar juga harus dipertimbangkan.

Analisis Kelebihan

  1. Gabungan penghakiman rel ganda meningkatkan ketepatan isyarat. Gabungan harga penutupan dan harga pembukaan boleh menapis beberapa isyarat palsu.

  2. Julat turun naik dikira berdasarkan penyimpangan standard, menyesuaikan diri dengan perubahan pasaran secara automatik.

  3. Digabungkan dengan penilaian trend garis tengah untuk mengelakkan kejutan berulang di pasaran tanpa trend.

  4. Gunakan terobosan rel tengah untuk menentukan titik pembalikan trend.

Analisis Risiko

  1. Strategi operasi jangka sederhana tidak sesuai untuk pegangan jangka panjang. Perlu memantau keadaan pasaran dengan teliti untuk menghentikan kerugian tepat pada masanya.

  2. Band Bollinger hanya sah dalam jangka masa tertentu. tetapan parameter yang tidak betul boleh dengan mudah menghasilkan isyarat palsu.

  3. Dalam pasaran yang terikat julat, garisan tengah turun naik dengan ketara, dan pencetus alternatif rel atas dan bawah mungkin lebih kerap. Pada ketika ini, saiz kedudukan harus dikurangkan atau operasi harus ditangguhkan sementara.

Arahan pengoptimuman

  1. Sesuaikan parameter untuk menyesuaikan diri dengan kitaran masa yang lebih lama. Kaedah seperti meningkatkan panjang kitaran dan menggunakan purata bergerak eksponensial dapat mengoptimumkan algoritma rel tengah.

  2. Tambah penunjuk turun naik seperti ATR untuk mengelakkan lagi terobosan palsu. Nilai ATR yang telah dibina dapat ditetapkan sebagai keadaan penapisan, dan isyarat perdagangan dihasilkan hanya apabila turun naik melebihi julat tertentu.

  3. Gabungkan penunjuk lain untuk mencapai kesan penapis Barry. Sebagai contoh, tambahkan peraturan penghakiman jumlah transaksi, hanya beroperasi apabila jumlah transaksi berkembang.

Ringkasan

Strategi zon berulang Bollinger Bands secara automatik mengenal pasti kemuncak yang berpotensi di pasaran untuk menentukan saluran harga sebagai peluang perdagangan yang berpotensi. Ia sangat sesuai untuk menangkap pembalikan harga jangka menengah dan dapat melengkapkan strategi penjejakan trend. Melalui pengoptimuman yang munasabah, risiko dapat dikawal dengan berkesan dan keuntungan dapat ditingkatkan.


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

//@version=5
strategy("BB Strategy", shorttitle="BB", overlay=true)

length = input.int(55, 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., 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

// Entry conditions
enterCondition = (close > lower and open < lower and close > open) or (close > upper and open < upper and close > open)

// Exit conditions
exitCondition = (close < upper and open > upper) or (close > open and (upper - lower) > 2 * basis) or (close < lower)

strategy.entry("Long", strategy.long, when=enterCondition)
strategy.close("Long", when=exitCondition)

// Plotting
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))


Lebih lanjut