Strategi perdagangan indeks berdasarkan saluran Bollinger Bands


Tanggal Pembuatan: 2023-12-08 16:52:24 Akhirnya memodifikasi: 2023-12-08 16:52:24
menyalin: 0 Jumlah klik: 667
1
fokus pada
1621
Pengikut

Strategi perdagangan indeks berdasarkan saluran Bollinger Bands

Ringkasan

Strategi ini disebut strategi perdagangan kuantitatif Bollinger Bands, yaitu strategi perdagangan indeks dan saham yang didasarkan pada perbaikan saluran Bollinger Bands. Strategi ini dapat menghasilkan keuntungan di pasar yang bergelombang dengan mengadaptasi parameter Bollinger Bands untuk mengoptimalkan posisi panjang dan pendek secara bersamaan.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada Bollinger Bands. Bollinger Bands terdiri dari mid-trail, up-trail, dan down-trail. Mid-trail adalah rata-rata bergerak dari harga close out selama n hari, dan up-down-trail adalah defisit dari mid-trail. Ketika harga mendekati up-trail, pasar mungkin terlalu panas, dan peluang overhead akan terbentuk; dan ketika harga mendekati down-trail, pasar mungkin akan diremehkan dan peluang overhead akan terbentuk.

Strategi ini menggunakan dua pita Brin, pita Brin 1 untuk melakukan plus, dan pita Brin 2 untuk melakukan minus. Parameter pita Brin 1 dioptimalkan dengan panjang 25, dengan deviasi 2,9 kali; dan pita Brin 2 dioptimalkan dengan panjang 36, dengan deviasi 3,2 kali.

Analisis Keunggulan

Strategi ini memiliki beberapa keuntungan dibandingkan dengan strategi Brin Belt tradisional:

  1. Hal ini memungkinkan perdagangan bilateral multi-lokasi. Hal ini juga berlaku untuk skenario bilateral, yang dapat menangkap peluang perdagangan di berbagai tahap pasar.

  2. Parameter telah dioptimalkan. Dua set parameter Brin Belt telah diuji secara menyeluruh, sehingga dapat secara efektif mengirimkan sinyal perdagangan.

  3. Risiko dapat dikontrol. Menggunakan metode stop loss bergerak, dapat mengontrol risiko unilateral secara efektif.

Analisis risiko

Strategi ini juga memiliki beberapa potensi risiko:

  1. Risiko kegagalan BRI. Ketika pasar mengalami fluktuasi besar, BRI dapat gagal.

  2. Stop loss terlindungi dari risiko. Stop loss yang bergerak dapat terlindungi, sehingga memperluas kerugian. Stop loss dapat ditoleransi dengan tepat atau dihentikan tepat waktu untuk dihindari.

  3. Risiko frekuensi transaksi yang terlalu tinggi. Pengaturan parameter yang terlalu sensitif dapat menyebabkan transaksi yang terlalu sering dan meningkatkan biaya transaksi.

Arah optimasi

Strategi ini masih memiliki ruang untuk pengoptimalan lebih lanjut:

  1. Dalam kombinasi dengan indikator lain, filter sinyal untuk menghindari kesalahan perdagangan saat Brin gagal.

  2. Parameter penyesuaian dinamis untuk membuat Brin Belt lebih sesuai dengan karakteristik pasar yang berbeda-beda. Misalnya, penggunaan Brin Belt yang beradaptasi.

  3. Mengoptimalkan metode stop loss, menggunakan tracking stop loss atau indeks bergerak stop loss, dan lain-lain, untuk mengontrol risiko secara efektif.

  4. Optimalisasi otomatis dari parameter yang digabungkan dengan algoritma pembelajaran mesin.

Meringkaskan

Strategi ini secara keseluruhan didasarkan pada jalur pita ganda Brin, melalui optimasi parameter, mencapai optimasi untuk perdagangan bilateral jangka panjang dan pendek. Dibandingkan dengan strategi pita Brin tradisional, memiliki keuntungan dalam melakukan banyak shorting, kontrol risiko, dan berlaku untuk menangkap peluang di berbagai tahap pasar, memiliki nilai praktis tertentu.

Kode Sumber Strategi
/*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)