Strategi Perdagangan Indeks Berdasarkan Bollinger Band

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

img

Gambaran umum

Strategi ini disebut Quant Trading Strategy Based on Bollinger Bands. Ini adalah strategi perdagangan indeks dan saham berdasarkan saluran Bollinger Bands yang ditingkatkan. Dengan menyesuaikan parameter Bollinger Bands, ini mewujudkan optimasi untuk posisi panjang dan pendek untuk mendapatkan keuntungan di pasar uptrend dan downtrend.

Logika Perdagangan

Logika inti dari strategi ini didasarkan pada saluran Bollinger Bands, yang terdiri dari garis tengah, band atas dan band bawah. Garis tengah adalah rata-rata pergerakan harga penutupan selama n hari. Band atas dan bawah adalah penyimpangan di atas dan di bawah garis tengah. Ketika harga mendekati band atas, itu menunjukkan pasar mungkin terlalu panas dan mungkin ada peluang pendek. Ketika harga mendekati band bawah, itu menunjukkan pasar mungkin undervalued dan mungkin ada peluang panjang.

Strategi ini menggunakan dua Bollinger Band. Bollinger Band 1 cocok untuk perdagangan panjang dan Bollinger Band 2 cocok untuk perdagangan pendek. Parameter Bollinger Band 1 dioptimalkan dengan panjang 25 dan penyimpangan 2,9 kali. Parameter Bollinger Band 2 dioptimalkan dengan panjang 36 dan penyimpangan 3,2 kali. Ketika harga penutupan melintasi band bawah Bollinger Band 1, itu akan menghasilkan sinyal panjang. Ketika harga penutupan melintasi band atas Bollinger Band 2, itu akan menghasilkan sinyal pendek.

Analisis Keuntungan

Dibandingkan dengan strategi Bollinger Bands tradisional, strategi ini memiliki keuntungan berikut:

  1. Ini mewujudkan perdagangan dua arah untuk kedua sisi panjang dan pendek, yang dapat memanfaatkan peluang perdagangan di tahap pasar yang berbeda.

  2. Kedua set parameter Bollinger Bands diuji secara rumit untuk secara efektif menghasilkan sinyal perdagangan.

  3. Metode stop loss bergerak dapat secara efektif mengendalikan risiko satu sisi.

Analisis Risiko

Ada juga beberapa risiko potensial untuk strategi ini:

  1. Risiko ketidakvaliditas Bollinger Bands. Bollinger Bands dapat menjadi tidak valid selama fluktuasi pasar yang ekstrim.

  2. Risiko stop loss yang terkena. Stop loss bergerak bisa terkena untuk memperluas kerugian. kita dapat memperluas stop loss atau stop out tepat waktu untuk menghindari risiko ini.

  3. Risiko frekuensi perdagangan yang tinggi. Parameter yang terlalu sensitif dapat menyebabkan perdagangan yang sering dan peningkatan biaya perdagangan.

Arahan Optimasi

Masih ada ruang untuk optimalisasi lebih lanjut dari strategi ini:

  1. Menggabungkan indikator lain untuk menyaring sinyal dan menghindari perdagangan yang salah ketika Bollinger Bands gagal.

  2. Mengatur parameter secara dinamis agar sesuai dengan karakteristik pasar periode yang berbeda.

  3. Mengoptimalkan metode stop loss dengan menggunakan trailing stop loss atau exponential moving stop loss untuk mengontrol risiko secara efektif.

  4. Menggabungkan algoritma pembelajaran mesin untuk mengoptimalkan parameter secara otomatis.

Ringkasan

Secara keseluruhan, strategi ini mengoptimalkan perdagangan dua arah untuk kedua sisi panjang dan pendek berdasarkan saluran Bollinger Bands ganda dan pengoptimalan parameter. Dibandingkan dengan strategi Bollinger Bands tradisional, strategi ini memiliki keuntungan perdagangan dua arah dan pengendalian risiko. Ini cocok untuk merebut peluang di berbagai tahap pasar dan memiliki nilai praktis tertentu. Tetapi risiko seperti kegagalan Bollinger Bands dan stop loss masih ada. Optimasi dan verifikasi lebih 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 banyak