Terobosan pita adaptif dikombinasikan dengan sistem strategi kuantitatif persilangan rata-rata bergerak

BB MA SMA
Tanggal Pembuatan: 2024-11-27 15:55:28 Akhirnya memodifikasi: 2024-11-27 15:55:28
menyalin: 3 Jumlah klik: 350
1
fokus pada
1617
Pengikut

Terobosan pita adaptif dikombinasikan dengan sistem strategi kuantitatif persilangan rata-rata bergerak

Ringkasan

Strategi ini adalah sistem perdagangan kuantitatif yang menggabungkan Bollinger Bands Breakout dan Trend Line. Strategi ini menangkap peluang pasar secara otomatis dengan memantau hubungan harga dan tren Bollinger Bands, dengan 100 Hari Average sebagai konfirmasi tren. Sistem ini menggunakan manajemen skala posisi yang dinamis, secara otomatis menyesuaikan jumlah perdagangan sesuai dengan kepentingan akun, untuk mengontrol risiko secara dinamis.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:

  1. Menggunakan pita Brin 20 periode sebagai saluran fluktuasi, dengan standar deviasi ganda 2
  2. 100 hari rata-rata sebagai indikator konfirmasi tren jangka menengah dan panjang
  3. Bila harga menembus Bollinger Bands dan tidak menembus siklus sebelumnya, maka akan terjadi sinyal multisignal
  4. Bila harga turun di bawah Brin dan tidak turun di periode sebelumnya, sinyal shorting akan dipicu
  5. Jumlah posisi yang dipegang berdasarkan dinamika hak dan kewajiban akun saat ini, untuk mencapai penyesuaian posisi yang sesuai
  6. Otomatis melonggarkan posisi ketika ada sinyal sebaliknya, untuk memastikan terjadinya stop loss

Keunggulan Strategis

  1. Adaptif - Brin Belt dapat secara otomatis menyesuaikan lebar saluran sesuai dengan fluktuasi pasar
  2. Mengontrol risiko - memastikan bahwa risiko sesuai dengan ukuran akun melalui manajemen jumlah kepemilikan yang dinamis
  3. Konfirmasi tren - kombinasi dengan pergerakan rata-rata, meningkatkan keandalan sinyal perdagangan
  4. Stop loss tepat waktu - menetapkan kondisi posisi yang jelas untuk menghindari kerugian yang berlebihan
  5. Perdagangan dua arah - dapat menangkap tren naik dan turun, meningkatkan efisiensi penggunaan dana
  6. Kode sederhana - logika kebijakan yang jelas, mudah untuk dipertahankan dan dioptimalkan

Risiko Strategis

  1. Pasar yang bergoyang dapat menyebabkan terjadinya false breakout yang sering terjadi, yang menyebabkan terjadinya stop loss berturut-turut
  2. Parameter pita Brin tetap dan mungkin tidak sesuai untuk semua kondisi pasar
  3. Tidak ada tracking stop loss, mungkin tidak efektif untuk mengunci profit
  4. Periode rata-rata yang lebih lama, dapat menyebabkan sinyal tertunda
  5. Tidak mempertimbangkan biaya transaksi, efek disk mungkin lebih rendah dari hasil pengujian ulang

Arah optimasi strategi

  1. Menambahkan filter fluktuasi untuk mengurangi frekuensi transaksi di lingkungan fluktuasi rendah
  2. Memperkenalkan mekanisme stop loss yang dinamis, menyesuaikan posisi stop loss sesuai dengan volatilitas pasar
  3. Optimalkan parameter Brin, pertimbangkan untuk menggunakan siklus adaptasi
  4. Kondisi penyaringan seperti peningkatan volume transaksi dan jangka waktu kepemilikan
  5. Menambahkan lebih banyak indikator teknis sebagai konfirmasi tambahan
  6. Pertimbangkan untuk menetapkan batas maksimum untuk penarikan dan meningkatkan kontrol risiko.

Meringkaskan

Strategi ini, dengan menggabungkan Brin Belt dan Uniform Line, membangun sistem perdagangan kuantitatif yang lengkap. Sistem ini mewujudkan fungsi inti seperti generasi sinyal, manajemen kepemilikan, dan kontrol risiko sambil menjaga logika yang ringkas. Meskipun ada beberapa tempat yang perlu dioptimalkan, desain keseluruhan masuk akal dan memiliki nilai aplikasi praktis.

Kode Sumber Strategi
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("BB Breakout with MA 100 Strategy", overlay=true)

// Parameter Bollinger Bands
length = input(20, title="BB Length")
stdDev = input(2.0, title="BB Standard Deviation")

// Hitung Bollinger Bands
basis = ta.sma(close, length)
dev = stdDev * ta.stdev(close, length)
upperBB = basis + dev
lowerBB = basis - dev

// Hitung Moving Average 100
ma100 = ta.sma(close, 100)

// Logika untuk sinyal beli dan jual
longCondition = close > upperBB and close[1] <= upperBB[1]
shortCondition = close < lowerBB and close[1] >= lowerBB[1]

// Menentukan ukuran posisi (jumlah lot)
size = strategy.equity / close // Menentukan ukuran posisi berdasarkan ekuitas saat ini

// Eksekusi order
if (longCondition)
    strategy.entry("Long", strategy.long, qty=size)

if (shortCondition)
    strategy.entry("Short", strategy.short, qty=size)

// Menutup posisi ketika kondisi terbalik
if (longCondition and strategy.position_size < 0)
    strategy.close("Short")

if (shortCondition and strategy.position_size > 0)
    strategy.close("Long")

// Plotting
plot(upperBB, color=color.red, title="Upper BB")
plot(lowerBB, color=color.green, title="Lower BB")
plot(basis, color=color.blue, title="Basis BB")
plot(ma100, color=color.orange, title="MA 100")

// Menambahkan informasi ke grafik
bgcolor(longCondition ? color.new(color.green, 90) : na, title="Buy Signal Background")
bgcolor(shortCondition ? color.new(color.red, 90) : na, title="Sell Signal Background")