Penembusan jalur adaptif digabungkan dengan sistem strategi kuantitatif crossover purata bergerak

BB MA SMA
Tarikh penciptaan: 2024-11-27 15:55:28 Akhirnya diubah suai: 2024-11-27 15:55:28
Salin: 3 Bilangan klik: 350
1
fokus pada
1617
Pengikut

Penembusan jalur adaptif digabungkan dengan sistem strategi kuantitatif crossover purata bergerak

Gambaran keseluruhan

Strategi ini adalah sistem dagangan kuantitatif yang menggabungkan trend Bollinger Bands dan trend rata-rata. Strategi ini menangkap peluang pasaran secara automatik dengan memantau hubungan harga dan tren Bollinger Bands, dengan 100 hari rata-rata sebagai pengesahan trend. Sistem ini menggunakan pengurusan skala pegangan yang dinamik, menyesuaikan jumlah dagangan secara automatik mengikut hak dan kepentingan akaun, untuk mencapai kawalan dinamik risiko.

Prinsip Strategi

Logik teras strategi adalah berdasarkan elemen utama berikut:

  1. Menggunakan 20 kitaran Brin Belt sebagai saluran kadar turun naik, dengan kelipatan perbezaan standard 2
  2. Pengesahan trend jangka menengah dan panjang melalui garis purata 100 hari
  3. Apabila harga menembusi Bollinger Bands dan tidak menembusi Bollinger Bands dalam kitaran sebelumnya, ia akan mencetuskan isyarat ganda.
  4. Sinyal shorting akan dicetuskan apabila harga telah menembusi garis bawah Brin dan tidak menembusi garis bawah dalam kitaran sebelumnya
  5. Jumlah memegang kedudukan berdasarkan dinamika hak dan kepentingan akaun semasa untuk menyesuaikan diri dengan kedudukan
  6. Automatik melonggarkan kedudukan apabila isyarat bertentangan berlaku, memastikan penangguhan kerugian tepat pada masanya

Kelebihan Strategik

  1. Adaptif - Brinband dapat menyesuaikan lebar saluran secara automatik mengikut turun naik pasaran
  2. Risiko boleh dikawal - memastikan risiko selaras dengan saiz akaun dengan pengurusan jumlah pegangan yang dinamik
  3. Pengesahan trend - meningkatkan kebolehpercayaan isyarat dagangan yang digabungkan dengan pergerakan garis rata
  4. Hentikan Kerosakan Pada Masa Yang Tepat - Tetapkan Syarat Tetap untuk Mengelakkan Kerosakan Terlalu Besar
  5. Perdagangan dua hala - dapat menangkap trend naik dan turun, meningkatkan kecekapan penggunaan dana
  6. Kod ringkas - logik dasar yang jelas, mudah untuk dijaga dan dioptimumkan

Risiko Strategik

  1. Pasaran yang bergolak mungkin akan menghasilkan penembusan palsu yang kerap, menyebabkan kerugian berturut-turut.
  2. Parameter Brinband tetap, mungkin tidak sesuai untuk semua keadaan pasaran
  3. Tidak menjejaki hentian kerugian, mungkin tidak dapat mengunci keuntungan dengan berkesan
  4. Tempoh purata yang lebih lama, mungkin menyebabkan kelewatan isyarat
  5. Tidak mengambil kira kos urus niaga, kesan cakera mungkin kurang daripada hasil pengesanan semula

Arah pengoptimuman strategi

  1. Menambah penapis turun naik untuk mengurangkan kekerapan dagangan dalam persekitaran turun naik yang rendah
  2. Memperkenalkan mekanisme hentian dinamik, menyesuaikan kedudukan hentian mengikut turun naik pasaran
  3. Mengoptimumkan parameter Brin, pertimbangkan untuk menggunakan kitaran penyesuaian
  4. Syarat penapisan seperti peningkatan jumlah dagangan dan tempoh pegangan
  5. Menambahkan lebih banyak petunjuk teknikal sebagai pengesahan tambahan
  6. Pertimbangkan untuk menetapkan had pengeluaran maksimum dan meningkatkan kawalan risiko

ringkaskan

Strategi ini membina satu sistem perdagangan kuantitatif yang lengkap dengan menggabungkan Brin Belt dan Equilibrium. Sistem ini mewujudkan fungsi teras seperti penjanaan isyarat, pengurusan pegangan, dan kawalan risiko sambil mengekalkan kelancaran logik. Walaupun terdapat beberapa tempat yang perlu dioptimumkan, reka bentuk keseluruhan adalah masuk akal dan mempunyai nilai aplikasi praktikal.

Kod 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")