
Strategi pengesahan DMI adalah sistem perdagangan yang komprehensif yang menggabungkan purata bergerak sederhana (SMA) dan penunjuk pergerakan arah (DMI) untuk menangkap titik masuk berisiko rendah di pasaran yang sedang tren. Idea teras strategi ini adalah untuk memasuki pasaran yang telah ditetapkan, menunggu harga untuk berbalik ke arah yang kritikal, sementara menggunakan penunjuk DMI untuk mengesahkan arah trend, dan membentuk mekanisme kawalan risiko yang lengkap dengan meletakkan titik henti dengan menggerakkan titik.
Strategi ini adalah berdasarkan kepada beberapa komponen utama yang berfungsi bersama:
Sistem Garis Persamaan BerbilangStrategi: Menggunakan purata bergerak sederhana dari 5 tempoh yang berbeza ((9/20/50/100/200) untuk menilai struktur pasaran. Di antaranya, garis purata 20 dan 200 hari sebagai alat utama untuk menilai trend.
Analisis kemerosotan garis rata-rata: Dengan mengira 20 dan 200 hari rata-rata garis slope dalam 5 kitaran terakhir ((slope20 dan slope200), mengesahkan kekuatan dan arah trend. Slope positif menunjukkan trend naik, slope negatif menunjukkan trend menurun.
Harga dan hubungan rata-rataStrategi ini memerlukan hubungan kedudukan harga dengan garis rata-rata kritikal ((20 dan 200 hari) sesuai dengan arah trend ((harga di atas garis rata-rata semasa bermulut, harga di bawah garis rata-rata semasa kosong).
Barisan rata: Dalam keadaan berbilang kepala, garis rata-rata 20 hari diminta berada di atas garis rata-rata 200 hari; dalam keadaan kosong sebaliknya.
Mekanisme panggilan balik:
Pengesahan arah DMI: Menggunakan penunjuk DMI ((kebayaran 14) untuk mengesahkan arah trend:
Stop loss berayun:
Mekanisme penapisan berbilangDengan menggabungkan pelbagai syarat seperti sistem garis rata, kemerosotan garis rata, kedudukan harga, pengesahan DMI, dan lain-lain, ia berkesan mengurangkan isyarat palsu dan meningkatkan ketepatan perdagangan.
Panggilan masuk semulaStrategi menunggu harga kembali ke garis purata kritikal untuk masuk ke dalam pasaran, dan ini memberikan risiko dan ganjaran yang lebih baik berbanding dengan mengejar secara langsung.
Penegasan trend: dengan triple verifikasi kedudukan garis rata-rata, susunan garis rata-rata, dan kemerosotan garis rata-rata, memastikan perdagangan hanya dalam trend yang kuat, dan mengelakkan perdagangan yang kerap di pasaran yang bergolak.
Strategi Hentikan Kerosakan yang JelasMenggunakan titik ayunan sebagai kedudukan berhenti, kaedah ini lebih sesuai dengan logik operasi pasaran berdasarkan struktur pasaran dan bukannya peratusan yang ditetapkan secara rawak.
DMI telah disahkanPenambahan DMI sebagai alat pengesahan trend tambahan untuk menyaring lebih jauh daripada isyarat ketidakpastian yang lebih tinggi.
Isyarat perdagangan visualStrategi: Menampilkan isyarat beli dan jual dengan tanda visual yang jelas, memudahkan peniaga untuk mengenal pasti peluang perdagangan dengan cepat.
Penarikan trend mengesan kelewatanOleh kerana strategi bergantung pada sistem garis rata, reaksi terlewat mungkin berlaku pada titik perubahan trend, menyebabkan kemasukan tidak tepat pada masanya atau masuk pada akhir trend.
Risiko penembusan palsu: Harga mungkin pecah seketika di garisan purata dan kemudian jatuh semula, membentuk pecah palsu dan mencetuskan isyarat yang salah.
Cabaran pengoptimuman parameterStrategi ini mengandungi pelbagai parameter (seperti kitaran garis rata-rata, kitaran kemerosotan, kitaran DMI, dan lain-lain) dan mungkin memerlukan tetapan parameter yang berbeza untuk pasaran dan jangka masa yang berbeza.
Kekurangan persekitaran pasaranStrategi ini berfungsi dengan baik di pasaran trend yang jelas, tetapi mungkin menghasilkan lebih banyak kerugian di pasaran yang bergolak.
Risiko Stop Loss Terlalu BesarStrategi penutupan kerugian berdasarkan titik-titik yang bergoyang boleh menyebabkan penutupan kerugian yang terlalu besar dalam pasaran yang bergoyang dan tidak sesuai untuk pengurusan wang.
Kekurangan kawalan risikoStrategi ini tidak mempunyai mekanisme penangguhan dinamik yang boleh menyebabkan pengembalian keuntungan yang diperoleh.
Menambah parameter penyesuaianIa boleh memperkenalkan mekanisme penyesuaian diri, menyesuaikan kitaran purata dan tempoh regresi slope mengikut dinamik turun naik pasaran, menjadikan strategi lebih sesuai dengan keadaan pasaran yang berbeza.
Tambah penapis kadar turun naik: memperkenalkan indikator ATR atau indikator kadar turun naik, menyesuaikan pelaksanaan strategi atau menangguhkan perdagangan dalam keadaan pasaran yang terlalu besar atau terlalu kecil.
Peningkatan mekanisme penangguhanMenambah mekanisme penutupan berdasarkan struktur pasaran atau nisbah pulangan risiko sasaran, seperti penutupan bergerak, penutupan separa, dan lain-lain, untuk melindungi keuntungan yang lebih baik.
Pengiktirafan persekitaran pasaran: Menambah petunjuk kekuatan trend atau algoritma klasifikasi keadaan pasaran, secara automatik menurunkan kedudukan atau menangguhkan perdagangan di pasaran yang bergolak di sebelah kiri.
Pengesahan kemasukanUntuk meningkatkan kebolehpercayaan isyarat masuk, anda boleh mempertimbangkan untuk menambah pengesahan jumlah transaksi atau pengesahan bentuk grafik.
Pengurusan wang yang optimum: Mengubah saiz kedudukan secara dinamik mengikut ATR atau petunjuk kadar turun naik lain, mengawal celah risiko dalam persekitaran turun naik yang berbeza.
Analisis pelbagai kerangka masa: Memperkenalkan pengesahan trend pada jangka masa yang lebih tinggi, memastikan arah perdagangan selaras dengan trend peringkat yang lebih besar.
Strategi pengesahan DMI adalah sistem pengesanan trend yang berstruktur, logik dan jelas. Ia mencari titik masuk dengan kebarangkalian tinggi dan risiko rendah dalam trend yang telah ditubuhkan melalui pengesahan pelbagai dimensi seperti garis purata, analisis kemiringan, pengesahan harga dan pengesahan DMI.
Walau bagaimanapun, strategi ini juga mempunyai batasan seperti pengesanan trend, risiko penembusan palsu dan prestasi pasaran yang tidak baik. Dengan memperkenalkan parameter penyesuaian, penapisan kadar turun naik, dan pengoptimuman mekanisme penangguhan yang lebih baik dan pengesanan persekitaran pasaran, strategi ini dapat ditingkatkan lagi.
/*backtest
start: 2025-06-30 00:00:00
end: 2025-07-04 08:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Full SMA Pullback Strategy with DMI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === SMA Definitions ===
sma9 = ta.sma(close, 9)
sma20 = ta.sma(close, 20)
sma50 = ta.sma(close, 50)
sma100 = ta.sma(close, 100)
sma200 = ta.sma(close, 200)
// === Inputs ===
slopeLookback = input.int(5, title="Slope Lookback Period")
swingLookback = input.int(10, title="Swing High/Low Period")
dmiLength = input.int(14, title="DMI Period")
// === Slope Calculation ===
slope20 = sma20 - sma20[slopeLookback]
slope200 = sma200 - sma200[slopeLookback]
// === DMI Calculation ===
[plusDI, minusDI, _] = ta.dmi(dmiLength, dmiLength)
dmiLongConfirm = plusDI > minusDI
dmiShortConfirm = minusDI > plusDI
// === Long Conditions ===
trendUp = close > sma20 and close > sma200
smaOrderUp = sma20 > sma200
slopeUp = slope20 > 0 and slope200 > 0
pullbackUp = close[1] < sma20[1] and close > sma20
longCond = trendUp and smaOrderUp and slopeUp and pullbackUp and dmiLongConfirm
swingLow = ta.lowest(low, swingLookback)
// === Short Conditions ===
trendDown = close < sma20 and close < sma200
smaOrderDown = sma20 < sma200
slopeDown = slope20 < 0 and slope200 < 0
pullbackDown = close[1] > sma20[1] and close < sma20
shortCond = trendDown and smaOrderDown and slopeDown and pullbackDown and dmiShortConfirm
swingHigh = ta.highest(high, swingLookback)
// === Strategy Entry & Exit ===
if (longCond)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", from_entry="Long", stop=swingLow)
if (shortCond)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", from_entry="Short", stop=swingHigh)
// === Plotting SMAs ===
plot(sma9, title="SMA 9", color=color.gray)
plot(sma20, title="SMA 20", color=color.orange)
plot(sma50, title="SMA 50", color=color.purple)
plot(sma100, title="SMA 100", color=color.green)
plot(sma200, title="SMA 200", color=color.blue)
// === Signal Markers ===
plotshape(longCond, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(shortCond, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)