Strategi penjejakan arah aliran berbilang penunjuk momentum: Saluran Donchian + aliran super + sistem pembinaan kedudukan penapis volum

DC ST MA VOL BO
Tarikh penciptaan: 2025-02-21 11:47:17 Akhirnya diubah suai: 2025-02-21 11:47:17
Salin: 0 Bilangan klik: 564
2
fokus pada
319
Pengikut

Strategi penjejakan arah aliran berbilang penunjuk momentum: Saluran Donchian + aliran super + sistem pembinaan kedudukan penapis volum Strategi penjejakan arah aliran berbilang penunjuk momentum: Saluran Donchian + aliran super + sistem pembinaan kedudukan penapis volum

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan pengesanan trend berdasarkan penembusan Saluran Donchian, yang menggabungkan indikator SuperTrend dan penapis kuantiti transaksi untuk meningkatkan kebolehpercayaan isyarat perdagangan. Strategi ini mengidentifikasi peluang perdagangan berbilang arah yang berpotensi dengan menangkap harga yang melampaui ketinggian sejarah, sambil menggunakan pengesahan kuantiti transaksi dan indikator pengesanan trend untuk menyaring isyarat penembusan palsu.

Prinsip Strategi

Logik teras strategi adalah berdasarkan komponen utama berikut:

  1. Saluran Tongjian: Mengira harga tertinggi dan terendah dalam kitaran yang ditentukan oleh pengguna, membentuk lintasan atas, bawah dan tengah. Apabila harga menembusi lintasan atas, mencetuskan isyarat masuk berbilang arah.
  2. Penapis jumlah transaksi: meningkatkan kebolehpercayaan penembusan dengan membandingkan jumlah transaksi semasa dengan purata bergerak 20 kitaran, memastikan hanya memasuki permainan apabila jumlah transaksi meningkat.
  3. Indikator Super Trend: Sebagai alat pengesahan trend, menunjukkan warna hijau semasa trend multihead dan merah semasa trend kosong.
  4. Mekanisme Hentian Fleksibel: Terdapat empat pilihan Hentian yang berbeza, termasuk Hentian Bawah, Hentian Tengah, Hentian Super Trend dan Hentian Peratusan.

Kelebihan Strategik

  1. Pengesahan pelbagai isyarat: gabungan harga penembusan, pengesahan jumlah transaksi dan petunjuk trend, mengurangkan risiko penembusan palsu.
  2. Kebolehan beradaptasi: dapat menyesuaikan diri dengan keadaan pasaran dan kitaran perdagangan yang berbeza melalui penyesuaian parameter.
  3. Pengurusan risiko yang sempurna: menawarkan pelbagai pilihan untuk menghentikan kerugian, yang boleh dipilih dengan cara yang paling sesuai untuk menghentikan kerugian berdasarkan ciri-ciri pasaran.
  4. Kelihatan jelas: Antara muka strategi menunjukkan secara langsung pelbagai petunjuk untuk memudahkan peniaga memahami keadaan pasaran.
  5. Fleksibiliti pengembalian: membolehkan jangka masa pengembalian tersuai, memudahkan pengoptimuman strategi.

Risiko Strategik

  1. Risiko pasaran yang bergolak: Isyarat penembusan palsu yang kerap mungkin berlaku dalam keadaan golak.
  2. Risiko slippage: Dalam pasaran yang kurang cair, isyarat penembusan mungkin menyebabkan harga masuk menyimpang kerana slippage.
  3. Risiko penapisan yang berlebihan: Mengaktifkan penapisan jumlah transaksi mungkin menyebabkan anda terlepas peluang dagangan yang berkesan.
  4. Kepekaan parameter: Kesan strategi adalah sensitif kepada tetapan parameter dan memerlukan pengoptimuman yang teliti.

Arah pengoptimuman strategi

  1. Menambah penapis kekuatan trend: penunjuk kekuatan trend seperti ADX boleh ditambahkan, hanya masuk apabila trend kuat.
  2. Mengoptimumkan penunjuk lalu lintas: Anda boleh mempertimbangkan untuk menggunakan penunjuk lalu lintas relatif atau penunjuk lalu lintas terobosan sebagai pengganti purata bergerak sederhana.
  3. Tambah penapis masa: Tambah tetapan tetingkap masa perdagangan untuk mengelakkan pergerakan pasaran yang lebih besar.
  4. Pengoptimuman parameter dinamik: menyesuaikan secara automatik kitaran saluran dan parameter super trend mengikut turun naik pasaran.
  5. Memperkenalkan pembelajaran mesin: Mengoptimumkan pemilihan parameter dan penapisan isyarat menggunakan algoritma pembelajaran mesin.

ringkaskan

Strategi ini membina sistem perdagangan trend yang agak lengkap dengan menggunakan pelbagai petunjuk teknikal secara komposit. Kelebihan strategi ini adalah kebolehpercayaan isyarat yang tinggi, fleksibiliti pengurusan risiko, tetapi masih memerlukan pedagang untuk mengoptimumkan parameter mengikut ciri-ciri pasaran tertentu. Dengan penambahbaikan dan pengoptimuman berterusan, strategi ini dijangka mendapat kesan perdagangan yang stabil di pasaran trend.

Kod sumber strategi
/*backtest
start: 2024-10-01 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

// Breakout trading system based on Donchain channel strategy that works best on a weekly chart and daily charts. Weekly is preferred. 

//@version=5

strategy('Donchian BO with Volume Filter and Supertrend', shorttitle='DBO+Vol+ST', default_qty_type=strategy.percent_of_equity, default_qty_value=2, overlay=true)

// Input options to configure backtest date range
startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31)
startMonth = input.int(title='Start Month', defval=1, minval=1, maxval=12)
startYear = input.int(title='Start Year', defval=2016, minval=1800, maxval=2100)
avgVol = input.int(title="Avg Volume length", defval=20)
srcInput = input.source(close, "Source")

// Volume filter toggle
useVolumeFilter = input.bool(true, title='Enable Volume Filter')

endDate = input.int(title='End Date', defval=1, minval=1, maxval=31)
endMonth = input.int(title='End Month', defval=7, minval=1, maxval=12)
endYear = input.int(title='End Year', defval=2030, minval=1800, maxval=2100)

multiplier = input.int(title='SuperTrend Mult', defval=2, minval=1, maxval=12)
stlen = input.int(title='SuperTrend Length', defval=10, minval=1, maxval=12)

length = input.int(21, minval=1)
exit = input.int(3, minval=1, maxval=4, title='Exit Option')  // Use Option 1 to exit using lower band; Use Option 2 to exit using basis line

lower = ta.lowest(length)
upper = ta.highest(length)
basis = math.avg(upper, lower)

// Plotting the Donchian channel
l = plot(lower, color=color.new(color.blue, 0))
u = plot(upper, color=color.new(color.blue, 0))
plot(basis, color=color.new(color.orange, 0))
fill(u, l, color=color.new(color.blue, 90))

// Check if the current bar is in the date range
inDateRange = time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0) and time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0)

// Long trailing stop-loss percentage
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01
longStopPrice = 0.0

longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - longTrailPerc)
    math.max(stopValue, longStopPrice[1])
else
    0

// Volume filter: 20-period moving average
volumeMA = ta.sma(volume, avgVol)

// Long entry condition: Donchian breakout + volume filter
longCondition = ta.crossover(srcInput, upper[1]) and (not useVolumeFilter or volume > volumeMA)
longsma = ta.sma(close, 200)

if inDateRange and longCondition
    strategy.entry('Long', strategy.long)

// Exit conditions
if inDateRange and exit == 1
    if ta.crossunder(close, lower[1])
        strategy.close('Long')

if inDateRange and exit == 2
    if ta.crossunder(close, basis[1])
        strategy.close('Long')

[superTrend, dir] = ta.supertrend(multiplier, stlen)
if inDateRange and exit == 3
    if ta.crossunder(close, superTrend)
        strategy.close('Long')

if inDateRange and exit == 4
    if strategy.position_size > 0
        strategy.exit(id='XL TRL STP', stop=longStopPrice)

// Short conditions (commented out for now)
shortCondition = ta.crossunder(close, lower[1])

// Exit all positions when date range ends
if not inDateRange
    strategy.close_all()

// --- Add Supertrend Indicator ---
stColor = dir == 1 ? color.red : color.green
plot(superTrend, color=stColor, title="SuperTrend", linewidth=2)