Strategi perdagangan kuantitatif berdasarkan terobosan rata-rata dinamis Bollinger Band

BB MA SMA EMA SMMA WMA VWMA stdev
Tanggal Pembuatan: 2025-02-20 13:44:57 Akhirnya memodifikasi: 2025-02-20 14:51:24
menyalin: 1 Jumlah klik: 385
2
fokus pada
319
Pengikut

Strategi perdagangan kuantitatif berdasarkan terobosan rata-rata dinamis Bollinger Band Strategi perdagangan kuantitatif berdasarkan terobosan rata-rata dinamis Bollinger Band

Ringkasan

Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada Bollinger Bands. Strategi ini menggabungkan berbagai jenis rata-rata bergerak (termasuk SMA, EMA, SMMA, WMA, VWMA) untuk membangun Bollinger Bands, dan membuat keputusan perdagangan melalui hubungan harga dengan Bollinger Bands naik dan turun.

Prinsip Strategi

Prinsip operasi strategi ini terdiri dari beberapa elemen utama:

  1. Rata-rata rata-rata bergerak yang dapat dipilih (SMA, EMA, dll.)
  2. Menggunakan perkalian diferensial standar (default 2.0) untuk menghitung jalur atas dan bawah.
  3. Ketika harga penutupan menembus lintasan, bukalah posisi multi-head.
  4. Bila harga penutupan turun ke bawah, posisi kosong berakhir. Strategi ini juga menyertakan mekanisme manajemen risiko seperti filter rentang tanggal dan kontrol slippage untuk meningkatkan stabilitas dan keandalan transaksi.

Keunggulan Strategis

  1. Adaptif: Mendukung berbagai jenis rata-rata bergerak, dapat memilih rata-rata yang optimal sesuai dengan karakteristik pasar yang berbeda.
  2. Pengendalian risiko yang sempurna: Adaptasi terhadap perubahan volatilitas pasar melalui penyesuaian dinamis pita Brin.
  3. Fleksibilitas parameter: memungkinkan penyesuaian jangka waktu Brin Belt, perkalian standar deviasi, dan lain-lain untuk menyesuaikan dengan kondisi pasar yang berbeda.
  4. Pertimbangan biaya transaksi: Biaya transaksi dan pengaturan titik slider yang lebih sesuai dengan situasi transaksi yang sebenarnya.
  5. Manajemen posisi yang wajar: Menggunakan persentase nilai bersih akun untuk mengendalikan posisi, mengelola risiko secara efektif.

Risiko Strategis

  1. Risiko False Breakout: Sering terjadi sinyal false breakout saat pasar bergejolak. Solusi: Anda dapat menambahkan indikator tambahan untuk mengkonfirmasi efektivitas terobosan.
  2. Risiko perubahan tren: mungkin reaksi yang terlambat ketika tren yang kuat berbalik. Solusi: Pertimbangkan untuk menambah indikator pengakuan tren.
  3. Risiko over-trading: sinyal trading yang sering dapat menyebabkan biaya trading yang terlalu tinggi. Solusi: Menambahkan mekanisme filter sinyal dan pembatasan waktu penyimpanan.

Arah optimasi strategi

  1. Mekanisme konfirmasi sinyal:
  • Tambahkan indikator konfirmasi volume
  • Tambahkan filter arah tren
  • Memperkenalkan Indikator Mobilitas untuk Penghakiman Bantuan
  1. Optimasi manajemen risiko:
  • Menerapkan mekanisme stop loss yang dinamis
  • Tambahkan kontrol mundur maksimum
  • Optimalkan algoritma manajemen posisi
  1. Parameter yang disesuaikan:
  • Implementasi penyesuaian dinamis untuk parameter Brinet
  • Adaptasi terhadap volatilitas pasar untuk mengurangi nilai transaksi

Meringkaskan

Ini adalah sistem perdagangan yang lengkap berdasarkan Brinband, dengan adaptabilitas dan skalabilitas yang baik. Dengan pilihan berbagai jenis rata-rata bergerak dan pengaturan parameter yang fleksibel, dapat beradaptasi dengan lingkungan pasar yang berbeda.

Kode Sumber Strategi
/*backtest
start: 2024-06-30 00:00:00
end: 2025-02-18 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/

//@version=6
strategy(shorttitle="BB Demo", title="Demo GPT - Bollinger Bands", overlay=true, commission_type=strategy.commission.percent, commission_value=0.1, slippage=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Inputs
length = input.int(20, minval=1, title="Length")
maType = input.string("SMA", "Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input.source(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
offset = input.int(0, "Offset", minval=-500, maxval=500)


// MA Calculation Function
ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

// Indicator Calculations
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Visual Plots
plot(basis, "Basis", color=color.new(#2962FF, 0), offset=offset)
p1 = plot(upper, "Upper", color=color.new(#F23645, 0), offset=offset)
p2 = plot(lower, "Lower", color=color.new(#089981, 0), offset=offset)
fill(p1, p2, color=color.rgb(33, 150, 243, 95), title="Background")

// Strategy Logic
longCondition = close > upper 
exitCondition = close < lower 

if longCondition
    strategy.entry("Long", strategy.long)

if exitCondition
    strategy.close("Long")