Strategi perdagangan divergensi dan mengikuti tren indikator Donchian multi-periode

DC MA Trend momentum volatility SIGNAL
Tanggal Pembuatan: 2025-02-21 10:38:06 Akhirnya memodifikasi: 2025-02-21 10:38:06
menyalin: 0 Jumlah klik: 448
2
fokus pada
319
Pengikut

Strategi perdagangan divergensi dan mengikuti tren indikator Donchian multi-periode Strategi perdagangan divergensi dan mengikuti tren indikator Donchian multi-periode

Ringkasan

Strategi ini didasarkan pada indikator saluran Dongxian pada beberapa periode untuk membangun sistem pelacakan tren. Dengan menganalisis terobosan saluran Dongxian pada periode waktu yang berbeda, kombinasi tren utama dan hubungan koordinasi tren lokal, membentuk grafik pita tren yang intuitif secara visual. Strategi ini menggunakan perubahan warna yang mendalam untuk menunjukkan kekuatan dan kelemahan tren, dengan garis hijau mewakili tren naik, garis merah mewakili tren turun, warna yang lebih dalam menunjukkan tren yang lebih jelas.

Prinsip Strategi

Inti dari strategi ini adalah penilaian tren berdasarkan indikator saluran Donchian. Saluran Donchian terdiri dari saluran harga tertinggi dan saluran harga terendah, dan penilaian tren dilakukan dengan membandingkan harga saat ini dengan hubungan posisi saluran.

  1. Penentuan tren utama: menggunakan 20 siklus saluran Dongxian, ketika harga menembus tren atas membentuk tren naik, menembus tren bawah membentuk tren turun
  2. Pengertian tren lokal: Dalam kerangka tren utama, arah tren lokal dinilai dengan menggunakan saluran Dongxian yang memiliki periode yang lebih pendek
  3. Benda-benda tren: Benda-benda tren terbentuk melalui kombinasi 10 siklus yang berbeda dari saluran Dongxian, warna gelap dan terang mencerminkan intensitas tren
  4. Sinyal perdagangan: tren utama ke atas membuka lebih banyak, tren utama ke bawah membuka lebih banyak, tren berbalik saat posisi terendah

Keunggulan Strategis

  1. Penilaian tren secara obyektif: Berdasarkan penilaian tren harga yang terobosan, menghindari bias yang disebabkan oleh penilaian subjektif
  2. Konfirmasi multi-siklus: meningkatkan keakuratan penilaian tren dengan superimposisi dari tren siklus yang berbeda
  3. Efek visual Intuisi: perubahan warna pada trend band yang secara intuitif menunjukkan kondisi pasar
  4. Aturan perdagangan yang jelas: sinyal masuk dan keluar yang jelas untuk implementasi program
  5. Adaptif: dapat menyesuaikan parameter untuk mengoptimalkan kinerja strategi sesuai dengan karakteristik varietas yang diperdagangkan

Risiko Strategis

  1. Risiko perubahan tren: Kemunduran yang lebih besar mungkin terjadi pada titik perubahan tren
  2. Tidak berlaku untuk pasar getaran: gerakan getaran horizontal mudah menghasilkan sinyal palsu
  3. Sensitivitas parameter: pengaturan parameter yang berbeda dapat secara signifikan mempengaruhi efektivitas kebijakan
  4. Efek slippage: Transaksi yang sering terjadi dapat terkena slippage
  5. Risiko sistemik: Kecelakaan pasar dapat menyebabkan kerugian besar

Arah optimasi strategi

  1. Meningkatkan penyaringan kekuatan tren: memperkenalkan indikator kekuatan tren seperti ADX, menyaring sinyal tren lemah
  2. Optimalkan pengaturan stop loss: posisi stop loss disesuaikan berdasarkan ATR dinamis untuk meningkatkan kemampuan kontrol risiko
  3. Menambahkan konfirmasi volume transaksi: analisis volume transaksi gabungan untuk memverifikasi efektivitas tren
  4. Memperkenalkan adaptasi volatilitas: parameter yang disesuaikan dengan dinamika volatilitas pasar
  5. Manajemen posisi yang lebih baik: penyesuaian ukuran kepemilikan posisi secara dinamis berdasarkan kekuatan tren

Meringkaskan

Strategi ini menggunakan aplikasi inovatif dari multi-siklus saluran Dongxian, membangun sebuah visual efek yang menonjol, logika yang jelas tren pelacakan sistem perdagangan. Keunggulan inti dari strategi ini adalah untuk memvisualisasikan proses analisis tren yang kompleks, sehingga mudah bagi pedagang untuk memahami gerakan pasar secara intuitif. Dengan optimasi parameter yang masuk akal dan langkah-langkah pengendalian risiko, strategi ini memiliki nilai aplikasi nyata yang baik.

Kode Sumber Strategi
/*backtest
start: 2024-06-12 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Donchian Trend Ribbon Strategy", shorttitle="DonchianTrendRibbonStrat", overlay=true, precision=0)

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Parameters
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dlen = input.int(defval=20, title="Donchian Channel Period", minval=10)

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Helper function to determine color
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
f_color(mainTrend, localTrend) =>
    // mainTrend = 1 => uptrend, -1 => downtrend
    // localTrend = 1 => local uptrend, -1 => local downtrend
    // Return color based on whether local trend aligns with the main trend
    color c = na
    if mainTrend == 1
        c := localTrend == 1 ? color.new(color.lime, 0) : color.new(color.lime, 60)
    else if mainTrend == -1
        c := localTrend == -1 ? color.new(color.red, 0) : color.new(color.red, 60)
    else
        c := na
    c

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Function dchannel - determines main trend (1 or -1)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dchannel(len) =>
    float hh = ta.highest(len)
    float ll = ta.lowest(len)
    var int tr = 0
    tr := close > hh[1] ? 1 : close < ll[1] ? -1 : nz(tr[1])

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Function dchannelalt - determines local trend and returns color
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dchannelalt(len, maintrend) =>
    float hh = ta.highest(len)
    float ll = ta.lowest(len)
    var int tr = 0
    tr := close > hh[1] ? 1 : close < ll[1] ? -1 : nz(tr[1])
    f_color(maintrend, tr)

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Calculate main trend
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
maintrend = dchannel(dlen)

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Plotting the Donchian Trend Ribbon
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
plot( 5,  color=dchannelalt(dlen - 0, maintrend),  style=plot.style_columns, histbase= 0)
plot(10, color=dchannelalt(dlen - 1, maintrend),   style=plot.style_columns, histbase= 5)
plot(15, color=dchannelalt(dlen - 2, maintrend),   style=plot.style_columns, histbase=10)
plot(20, color=dchannelalt(dlen - 3, maintrend),   style=plot.style_columns, histbase=15)
plot(25, color=dchannelalt(dlen - 4, maintrend),   style=plot.style_columns, histbase=20)
plot(30, color=dchannelalt(dlen - 5, maintrend),   style=plot.style_columns, histbase=25)
plot(35, color=dchannelalt(dlen - 6, maintrend),   style=plot.style_columns, histbase=30)
plot(40, color=dchannelalt(dlen - 7, maintrend),   style=plot.style_columns, histbase=35)
plot(45, color=dchannelalt(dlen - 8, maintrend),   style=plot.style_columns, histbase=40)
plot(50, color=dchannelalt(dlen - 9, maintrend),   style=plot.style_columns, histbase=45)

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Trading Logic (STRATEGY)
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bool goLong  = (maintrend == 1)
bool goShort = (maintrend == -1)

// Entry signals
if goLong
    strategy.entry("Long", strategy.long)

if goShort
    strategy.entry("Short", strategy.short)

// Close positions when trend changes
if strategy.position_size > 0 and goShort
    strategy.close("Long")

if strategy.position_size < 0 and goLong
    strategy.close("Short")