
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.
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.
Strategi ini memiliki beberapa keuntungan dibandingkan dengan strategi Brin Belt tradisional:
Hal ini memungkinkan perdagangan bilateral multi-lokasi. Hal ini juga berlaku untuk skenario bilateral, yang dapat menangkap peluang perdagangan di berbagai tahap pasar.
Parameter telah dioptimalkan. Dua set parameter Brin Belt telah diuji secara menyeluruh, sehingga dapat secara efektif mengirimkan sinyal perdagangan.
Risiko dapat dikontrol. Menggunakan metode stop loss bergerak, dapat mengontrol risiko unilateral secara efektif.
Strategi ini juga memiliki beberapa potensi risiko:
Risiko kegagalan BRI. Ketika pasar mengalami fluktuasi besar, BRI dapat gagal.
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.
Risiko frekuensi transaksi yang terlalu tinggi. Pengaturan parameter yang terlalu sensitif dapat menyebabkan transaksi yang terlalu sering dan meningkatkan biaya transaksi.
Strategi ini masih memiliki ruang untuk pengoptimalan lebih lanjut:
Dalam kombinasi dengan indikator lain, filter sinyal untuk menghindari kesalahan perdagangan saat Brin gagal.
Parameter penyesuaian dinamis untuk membuat Brin Belt lebih sesuai dengan karakteristik pasar yang berbeda-beda. Misalnya, penggunaan Brin Belt yang beradaptasi.
Mengoptimalkan metode stop loss, menggunakan tracking stop loss atau indeks bergerak stop loss, dan lain-lain, untuk mengontrol risiko secara efektif.
Optimalisasi otomatis dari parameter yang digabungkan dengan algoritma pembelajaran mesin.
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.
/*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)