Strategi Dagangan Volume Dual Bollinger Band


Tarikh penciptaan: 2023-11-16 17:36:00 Akhirnya diubah suai: 2023-11-16 17:36:00
Salin: 0 Bilangan klik: 722
1
fokus pada
1617
Pengikut

Strategi Dagangan Volume Dual Bollinger Band

Gambaran keseluruhan

Strategi ini adalah berdasarkan konsep Brinband, yang menetapkan saluran harga ke atas dan ke bawah, dan dengan itu membuat penilaian trend dan menghasilkan isyarat perdagangan. Khususnya, adalah mengira rata-rata bias mutlak harga sebagai jalur jalur, jalur tengah sebagai purata bergerak sederhana harga, jalur atas dan bawah ditambah dua kali ganda atau dua kali ganda jalur lebar.

Prinsip

Strategi ini merangkumi beberapa perkara:

  1. Hitung garis tengah harga, iaitu purata bergerak sederhana harga.

  2. Hitung purata bergerak sederhana untuk penyimpangan mutlak harga sebagai jalur jalur.

  3. Berdasarkan lintasan tengah dan lebar jalur, lintasan atas dan bawah ditentukan. Lintasan atas ditambah 1 atau 2 kali lintasan tengah, lintasan bawah dikurangkan 1 atau 2 kali lintasan tengah.

  4. Hitung indikator penilaian trend kosong. Apabila harga lebih tinggi daripada trek 2 adalah kosong dan apabila harga lebih rendah daripada trek 2 adalah kosong.

  5. Menjana isyarat dagangan. Harga naik apabila naik ke arah 2 dan turun apabila turun apabila turun.

  6. Tetapkan garis hentian. Garis hentian tunggal adalah kereta api bawah 1, garis hentian tunggal kosong adalah kereta api atas 1.

  7. Mengira kedudukan mengikut keperluan pengurusan dana.

Strategi ini menggabungkan trend penghakiman purata bergerak, Bollinger Bands penghakiman overbuy oversell, idea untuk memecahkan dan membalikkan. Melalui perbezaan dua jalur untuk menilai trend yang kuat dan lemah, sambil memainkan fungsi Bollinger Bands kembali ke paksi tengah, secara keseluruhan membentuk sistem perdagangan yang lebih stabil.

Analisis kelebihan

Strategi ini mempunyai kelebihan utama:

  1. Dengan menggunakan sistem dua hala, anda boleh menilai kekuatan dan kelemahan trend dengan lebih baik.

  2. Brin mempunyai fungsi regresi yang kuat, yang dapat menghalang penembusan palsu dengan berkesan.

  3. Perbezaan dua jalur berkerjasama dengan sumbu tengah pengembalian pita Brin, membentuk isyarat perdagangan yang lebih stabil.

  4. Terdapat logik Exit Stop Loss yang jelas untuk mengawal risiko.

  5. Tetapan kedudukan mematuhi keperluan pengurusan wang untuk mengelakkan superleverage.

  6. Strategi yang jelas, mudah difahami dan dioptimumkan.

  7. Parameter yang boleh disesuaikan dan dioptimumkan untuk pelbagai pasaran.

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Penetapan parameter Brin Belt yang tidak betul boleh menyebabkan kesan Sungai Rampage, yang tidak dapat mengesan harga dengan berkesan.

  2. Perbezaan dua hala tidak dapat mengelakkan salah faham trend.

  3. Dalam pasaran yang bergolak, ia mungkin menghasilkan lebih banyak isyarat yang tidak berkesan.

  4. Kesalahan ini boleh menyebabkan kerugian.

  5. Terdapat ketinggalan masa tertentu, mungkin terlepas titik peralihan kitaran.

  6. Ia adalah lebih mudah untuk mengesan trend tanpa had berbanding dengan titik hentian.

Kaedah pengurusan risiko:

  1. Parameter pengoptimuman untuk membolehkan Burin beradaptasi dengan kitaran yang berbeza.

  2. Untuk mengelakkan salah pengertian, periksa kombinasi dengan indikator lain.

  3. Menurunkan kedudukan dan mengawal kerugian tunggal.

  4. Mengoptimumkan titik hentian untuk memastikan nisbah keuntungan.

  5. Memperolehi tempoh yang lebih singkat dan mengurangkan kelewatan.

  6. Angin yang kuat tidak boleh terus-menerus berhempas-hempas.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa arah:

  1. Optimumkan parameter Brin untuk lebih baik mengesan harga. Parameter penyesuaian boleh diperkenalkan.

  2. Cuba dengan purata bergerak yang berbeza, seperti EMA, DWMA dan lain-lain.

  3. Menambah penapis trend untuk mengelakkan perdagangan yang salah dalam pasaran yang bergolak.

  4. Tambah Exit yang lebih agresif untuk mendapatkan lebih banyak keuntungan trend. Anda boleh mempertimbangkan halangan kecil, berhenti bergerak, indikator keluar dan sebagainya.

  5. Memperkenalkan pelbagai kitaran masa untuk kombinasi, dengan kitaran yang berbeza sesuai dengan keadaan pasaran yang berbeza.

  6. Tambah logik tambahan seperti lonjakan jumlah transaksi untuk mengelakkan penembusan palsu.

  7. Ia boleh dipertimbangkan untuk menukarkan tali pinggang Brin, menjual di atas landasan, dan membeli di bawah landasan.

  8. Melakukan ujian pengoptimuman parameter untuk mencari kombinasi parameter yang optimum.

ringkaskan

Strategi ini mempunyai idea keseluruhan yang jelas dan mempunyai kestabilan yang kuat. Pada masa yang sama, terdapat ruang untuk penambahbaikan, dan dapat menjadi strategi perdagangan kuantitatif yang sangat praktikal melalui pengoptimuman parameter, pengoptimuman logik, dan pengurusan risiko.

Kod sumber strategi
/*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"}]
*/

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

//@version=4
strategy(title = "Noro's Bands Strategy", shorttitle = "Bands", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1)

//Sattings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
len = input(20, defval = 20, minval = 1, maxval = 1000, title = "Length")
src = input(ohlc4, title = "Source")
showbb = input(true, title = "Show Bands")
showof = input(true, title = "Show Offset")
showbg = input(false, title = "Show Background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//PriceChannel
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
hd2 = center + distsma * 2
ld2 = center - distsma * 2

//Trend
trend = 0
trend := high > hd2 ? 1 : low < ld2 ? -1 : trend[1]
bgcol = showbg == false ? na : trend == 1 ? color.lime : color.red
bgcolor(bgcol, transp = 70)

//Lines
colo = showbb == false ? na : color.black
offset = showof ? 1 : 0
plot(hd2, color = colo, linewidth = 1, transp = 0, offset = offset, title = "High band 2")
plot(hd, color = colo, linewidth = 1, transp = 0, offset = offset, title = "High band 1")
plot(center, color = colo, linewidth = 1, transp = 0, offset = offset, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, offset = offset, title = "Low band 1")
plot(ld2, color = colo, linewidth = 1, transp = 0, offset = offset, title = "Low band 2")

//Trading
size = strategy.position_size
needstop = needlong == false or needshort == false
truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
lot = 0.0
lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1]
if distsma > 0
    strategy.entry("Long", strategy.long, lot, stop = hd2, when = truetime and needlong)
    strategy.entry("Short", strategy.short, lot, stop = ld2, when = truetime and needshort)
sl = size > 0 ? ld2 : size < 0 ? hd2 : na
if size > 0 and needstop
    strategy.exit("Stop Long", "Long", stop = sl)
if size < 0 and needstop
    strategy.exit("Stop Short", "Short", stop = sl)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    strategy.cancel("Long")
    strategy.cancel("Short")