Strategi Perdagangan Indeks Berdasarkan Bollinger Bands

Penulis:ChaoZhang, Tarikh: 2023-12-08 16:52:24
Tag:

img

Ringkasan

Strategi ini dinamakan Quant Trading Strategy Based on Bollinger Bands. Ia adalah strategi perdagangan indeks dan saham berdasarkan saluran Bollinger Bands yang lebih baik. Dengan menyesuaikan parameter Bollinger Bands, ia merealisasikan pengoptimuman untuk kedua-dua kedudukan panjang dan pendek untuk mendapat keuntungan di kedua-dua pasaran uptrend dan downtrend.

Logik Perdagangan

Logik utama strategi ini adalah berdasarkan saluran Bollinger Bands, yang terdiri daripada garis tengah, band atas dan band bawah. Garis tengah adalah purata bergerak harga penutupan selama n hari. Garis atas dan bawah adalah penyimpangan di atas dan di bawah garis tengah. Apabila harga mendekati jalur atas, ia menunjukkan pasaran mungkin terlalu panas dan mungkin ada peluang pendek. Apabila harga mendekati jalur bawah, ia menunjukkan pasaran mungkin undervalued dan mungkin ada peluang panjang.

Strategi ini menggunakan dua Bollinger Band. Bollinger Band 1 sesuai untuk perdagangan panjang dan Bollinger Band 2 sesuai untuk perdagangan pendek. Parameter Bollinger Band 1 dioptimumkan dengan panjang 25 dan penyimpangan 2.9 kali. Parameter Bollinger Band 2 dioptimumkan dengan panjang 36 dan penyimpangan 3.2 kali. Apabila harga penutupan melintasi band bawah Bollinger Band 1, ia akan menghasilkan isyarat panjang. Apabila harga penutupan melintasi di bawah band atas Bollinger Band 2, ia akan menghasilkan isyarat pendek.

Analisis Kelebihan

Berbanding dengan strategi Bollinger Bands tradisional, strategi ini mempunyai kelebihan berikut:

  1. Ia merealisasikan perdagangan dua arah untuk kedua-dua sisi panjang dan pendek, yang boleh merebut peluang perdagangan di peringkat pasaran yang berbeza.

  2. Kedua-dua set parameter Bollinger Bands diuji dengan teliti untuk menghasilkan isyarat perdagangan yang berkesan.

  3. Risiko boleh dikawal. Kaedah stop loss bergerak dapat mengawal risiko satu sisi dengan berkesan.

Analisis Risiko

Terdapat juga beberapa risiko berpotensi untuk strategi ini:

  1. Risiko ketidakvaliditi Bollinger Bands. Bollinger Bands boleh menjadi tidak sah semasa turun naik pasaran yang melampau.

  2. Risiko stop loss yang dipukul. Stop loss bergerak boleh dipukul untuk memperluaskan kerugian. Kita boleh meluaskan stop loss atau berhenti tepat pada masanya untuk mengelakkan risiko ini.

  3. Risiko kekerapan perdagangan yang tinggi. Parameter yang terlalu sensitif boleh menyebabkan perdagangan yang kerap dan peningkatan kos perdagangan.

Arahan pengoptimuman

Masih ada ruang untuk mengoptimumkan lagi strategi ini:

  1. Menggabungkan penunjuk lain untuk menapis isyarat dan mengelakkan perdagangan yang salah apabila Bollinger Bands gagal.

  2. Sesuaikan parameter secara dinamik agar sesuai dengan ciri pasaran pada tempoh yang berbeza.

  3. Mengoptimumkan kaedah stop loss dengan menggunakan trailing stop loss atau exponential moving stop loss untuk mengawal risiko dengan berkesan.

  4. Gabungkan algoritma pembelajaran mesin untuk mengoptimumkan parameter secara automatik.

Ringkasan

Ringkasnya, strategi ini secara keseluruhan mengoptimumkan perdagangan dua arah untuk kedua-dua sisi panjang dan pendek berdasarkan saluran Bollinger Bands berganda dan pengoptimuman parameter. Berbanding dengan strategi Bollinger Bands tradisional, ia mempunyai kelebihan perdagangan dua arah dan kawalan risiko. Ia sesuai untuk merebut peluang di peringkat pasaran yang berbeza dan mempunyai nilai praktikal tertentu. Tetapi risiko seperti kegagalan Bollinger Bands dan kehilangan berhenti masih wujud. Pengoptimuman dan pengesahan lanjut diperlukan sebelum produksi.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy("BB NDX strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick = true, commission_type = strategy.commission.percent, commission_value = 0.01)

source = close
length = input(25, minval=1, title="Length BB long")
mult = input(2.9, minval=0.001, maxval=50, step=0.1, title="MULT BB long")

length2 = input(36, minval=1, title="Length BB short")
mult2 = input(3.2, minval=0.001, maxval=50, step=0.1, title="MULT BB short")


basis = sma(source, length)
dev = mult * stdev(source, length)
dev2 = mult2 * stdev(source, length2)

upper = basis + dev2
lower = basis - dev

buyEntry = crossover(source, lower)
sellEntry = crossunder(source, upper)

longEntry=input(true)
shortEntry=input(true)

g(v, p) => round(v * (pow(10, p))) / pow(10, p)
risk     = input(100)
leverage = input(1.0, step = 0.5)
c = g((strategy.equity * leverage / open) * (risk / 100), 4)


tplong=input(0.065, step=0.005, title="Take profit % for long")
sllong=input(0.04, step=0.005, title="Stop loss % for long")
tpshort=input(0.025, step=0.005, title="Take profit % for short")
slshort=input(0.04, step=0.005, title="Stop loss % for short")

if(longEntry)
    strategy.entry("long",1,c,when=buyEntry)
    strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
    strategy.close("long",when=sellEntry)
if(shortEntry)
    strategy.entry("short",0,c,when=sellEntry)
    strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')
    strategy.close("short",when=buyEntry)




Lebih lanjut