
Strategi ini adalah strategi pelacakan tren berbasis Brin-Band. Strategi ini menggunakan Brin-Band untuk menghitung kisaran harga saham ke atas dan ke bawah, dikombinasikan dengan entitas K-line untuk menentukan arah tren, melakukan operasi longing / shorting saat terobosan dalam kisaran tren.
Strategi ini menggunakan Brin band atas, tengah, dan bawah untuk menentukan kisaran harga. Brin band atas dan bawah dua garis bundel harga, garis tengah adalah rata-rata, bandwidth bervariasi dengan tingkat fluktuasi harga. Ketika harga dari bawah melanggar Brin band atas, menunjukkan harga mulai naik untuk menembus daerah, rive untuk melakukan lebih banyak.
Strategi ini juga akan mengkonfirmasi arah dari entitas garis K. Jika arah entitas garis K sesuai dengan arah tren, seperti garis lurus dalam tren multihead, maka operasi pembukaan posisi dilakukan. Jika arah entitas garis K berlawanan dengan arah tren, seperti garis lurus dalam tren multihead, maka sinyal ini akan dilewatkan.
Secara khusus, aturan untuk menghasilkan sinyal perdagangan strategi adalah sebagai berikut:
Perhitungkan dua garis atas dan bawah Brin dan garis tengah untuk menentukan jarak antara harga
Ketika harga naik dari bawah dan menembus Bollinger Bands, ini dianggap sebagai sinyal multihead.
Pada saat ini jika garis K adalah garis yang, untuk mengkonfirmasi tren, untuk membuka posisi lebih
Ketika harga dari atas ke bawah menembus Bollinger Bands downline, dinilai sebagai sinyal kosong
Pada saat ini, jika K adalah garis negatif, untuk mengkonfirmasi tren, maka posisi terbuka akan dilakukan.
Stop loss atau stop loss dengan persentase yang diberikan
Penembusan masuk melalui zona Brin, dan pengesahan kedua dalam kombinasi dengan arah entitas K-line, dapat secara efektif mengidentifikasi arah tren, mendapatkan ENTRY yang lebih baik di awal tren, dan keluar dari tren di pertengahan tren.
Ini adalah strategi trend-following yang lebih khas, dengan beberapa keuntungan:
Penggunaan Brin Belt memiliki kemampuan beradaptasi yang dapat secara dinamis menyesuaikan rentang penembusan untuk saham dengan tingkat fluktuasi yang berbeda
Menggabungkan entitas garis K untuk konfirmasi kedua, dapat memfilter penembusan palsu.
Menggunakan posisi jangka panjang dan menengah untuk mengurangi frekuensi perdagangan, yang membantu mengurangi biaya perdagangan dan kehilangan slippage
Menelusuri tren dalam jangka menengah, menghindari guncangan jangka pendek, dan mendapatkan rasio risiko-keuntungan yang lebih baik
Program yang dilakukan secara kuantitatif, hasil pengujian kembali yang baik, kinerja solid disk yang stabil
Konsep strategi jelas, mudah dipahami, dan memiliki ruang untuk diperluas
Dengan menentukan arah tren melalui pita Brin, garis K mengkonfirmasi waktu masuk, dapat secara efektif menangkap peluang keuntungan yang dibawa oleh keunggulan jumlah garis panjang dan tengah. Ini adalah strategi yang memiliki kepraktisan yang lebih kuat.
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:
Risiko kegagalan penembusan. Penembusan Brin adalah peristiwa probabilitas, dan ada kemungkinan penembusan palsu.
Risiko Reversal. Trend garis tengah dan panjang juga dapat mengalami reversal, dan perlu menetapkan stop loss yang masuk akal untuk mengendalikan risiko.
Risiko optimasi parameter. Parameter dan titik-titik berhenti Brin perlu dioptimalkan secara wajar sesuai dengan berbagai saham, jika tidak akan mempengaruhi stabilitas strategi.
Risiko over-optimisasi. Parameter over-optimisasi terhadap data historis dapat menyebabkan fitting kurva strategi.
Risiko eksekusi pada hard disk. Ada juga beberapa penyimpangan antara pengembalian program dan eksekusi pada hard disk.
Untuk mengatasi risiko tersebut, langkah-langkah berikut dapat dilakukan:
Optimalkan parameter bandwidth Brin dengan memilih bandwidth yang sesuai.
Selain itu, ada beberapa faktor lain yang mengkonfirmasi tren, seperti volume transaksi.
Mengatur stop loss secara dinamis untuk mencegah terjadinya kerugian akibat reversal yang terlalu besar.
Menggunakan analisis berjalan maju dan lain-lain untuk menghindari overmatch.
Mengoptimalkan cara pemesanan, mengontrol efisiensi eksekusi hard disk.
Strategi ini dapat terus dioptimalkan dalam beberapa hal:
Dengan adanya lebih banyak indikator yang mengkonfirmasi tren seperti KDJ, MACD, dan lain-lain, meningkatkan akurasi sinyal.
Menggunakan metode pembelajaran mesin untuk mengoptimalkan parameter Brin secara dinamis, bukan parameter tetap.
Untuk menghasilkan sinyal perdagangan yang lebih akurat, pasang zona jual beli di dekat titik terobosan.
Mengoptimalkan strategi stop loss, menggunakan stop loss yang dilacak secara dinamis atau stop loss parsial.
Memperkenalkan pengoptimalan pengelolaan dana, penyesuaian posisi secara dinamis, dan pengendalian risiko tunggal.
Menggabungkan metode eksekusi yang lebih tinggi untuk meningkatkan efisiensi disk, mengurangi biaya transaksi dan slippage.
Meningkatkan penilaian terhadap kondisi pasar, menutup strategi dalam situasi tertentu, dan mengendalikan risiko.
Dengan memperkenalkan lebih banyak indikator teknis dan alat pengoptimalan, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut, dan hasil yang lebih baik dapat diperoleh.
Strategi ini adalah strategi pelacakan tren yang khas, dengan ide inti adalah menggunakan Brin Belt sebagai area dinamis untuk menentukan arah tren harga. Digabungkan dengan entitas K-line untuk konfirmasi kedua, Brin Belt memasuki titik terobosan di awal tren, dengan tujuan untuk mendapatkan keuntungan kuantitatif di pertengahan tren.
Strategi ini memiliki keuntungan seperti menggunakan tren penilaian Brin, sinyal konfirmasi K-line, mengurangi frekuensi transaksi, dan pelaksanaan program. Ada juga risiko terobosan palsu, kesulitan pengoptimalan stop loss, dan bias dalam efek disk. Dengan memperkenalkan lebih banyak indikator teknis, parameter optimasi dinamis, dan alat pelaksanaan canggih, stabilitas strategi dan kinerja disk dapat ditingkatkan lebih lanjut.
Secara keseluruhan, strategi ini berfungsi sebagai strategi pelacakan tren yang khas, dengan ide inti yang jelas, mudah diimplementasikan, dan memiliki kelayakan yang kuat. Dengan pengoptimalan berkelanjutan dan kontrol risiko yang ketat, dapat menjadi modul strategi yang efektif dalam sistem perdagangan kuantitatif.
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Noro's Bands Scalper Strategy v1.2", shorttitle = "Scalper str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needct = input(false, defval = false, title = "Counter-trend entry")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close
//PriceChannel 1
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2
//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd1 = center + distsma / 2
ld1 = center - distsma / 2
//Trend
trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1]
//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")
//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)
//Body
body = abs(close - open)
smabody = sma(body, 100)
//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 1 : 0
dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and close > open)) ? 1 : 0
if up7 == 1 or up8 == 1
strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)
if dn7 == 1 or dn8 == 1
strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)