Baru-baru ini saya telah membangunkan strategi perdagangan kuantitatif baru yang terutamanya berdasarkan penunjuk DMI untuk mengenal pasti bahagian bawah dan atas di pasaran.
Indikator DMI, singkatan daripada Indeks Pergerakan Arah Purata, dicipta oleh Welles Wilder pada tahun 1970-an untuk mengukur trend dan kekuatan pasaran.
Apabila +DI melintasi di atas -DI, ia menunjukkan penguatan trend menaik dan kedudukan panjang boleh dipertimbangkan. Apabila -DI melintasi di atas +DI, ia menandakan penguatan trend menurun dan kedudukan pendek boleh dipertimbangkan.
Logik teras strategi ini ialah:
Iaitu, apabila DI terbalik menyimpang dengan ketara daripada DI hadapan, ia boleh dinilai bahawa trend semasa mungkin akan berbalik, dan kedudukan perdagangan terbalik boleh diambil dengan sewajarnya.
Untuk menapis bunyi bising, strategi ini menggunakan purata bergerak DI dengan parameter yang ditetapkan sebagai:
Dengan menyesuaikan parameter purata bergerak, kekerapan isyarat perdagangan boleh diselaraskan.
Strategi ini terutamanya digunakan untuk perdagangan pilihan indeks NIFTY50. Ia juga boleh digunakan pada produk lain. Khusus untuk perdagangan, pilih pilihan pada wang, tetapkan stop loss pada 20%, tambah kedudukan jika kerugian melebihi 10%, tetapi berhenti jika kerugian berkembang melebihi 20% daripada modal awal.
Berbanding dengan strategi silang DI yang mudah, strategi ini menggunakan purata bergerak DI untuk menapis bunyi bising dan mengurangkan perdagangan, dengan itu mengurangkan kos transaksi dan slippage.
Berbanding dengan strategi mengikut trend murni, strategi ini lebih tepat dalam menangkap titik pembalikan trend, membolehkan entri tepat pada masanya di sekeliling belokan.
Pengoptimuman strategi adalah mudah dengan parameter fleksibel untuk penyesuaian prestasi.
Strategi ini hanya memberikan isyarat arah. Keperluan khusus mengenai stop loss dan mengambil keuntungan harus ditetapkan mengikut keutamaan risiko peribadi.
DMI boleh menghasilkan banyak isyarat palsu semasa tempoh yang terikat julat.
DI crossovers tidak dapat meramalkan sepenuhnya pembalikan trend. Mungkin terdapat beberapa kesilapan masa. Indikator lain harus digunakan untuk mengesahkan isyarat perdagangan.
Dengan menyaring dengan purata bergerak DI, strategi ini dapat dengan berkesan mengenal pasti peluang pembalikan trend. Berbanding dengan strategi trend berikut yang lain, ia mempunyai kelebihan keupayaan pengenalan pembalikan yang lebih kuat. Secara keseluruhan, strategi ini mempunyai penyesuaian parameter yang fleksibel dan boleh digunakan sebagai modul dalam sistem perdagangan kuantitatif. Perhatikan isyarat palsu dan menilai dengan betul rejim pasaran semasa menggunakannya.
/*backtest start: 2023-09-05 00:00:00 end: 2023-09-12 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © email_analysts // This code gives indication on the chart to go long based on DMI and exit based on RSI. //Default value has been taken as 14 for DMI+ and 6 for RSI. //@version=5 strategy(title="DMI Strategy", overlay=false) lensig = input.int(11, title="ADX Smoothing", minval=1, maxval=50) len = input.int(11, minval=1, title="DI Length") up = ta.change(high) down = -ta.change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) trur = ta.rma(ta.tr, len) plus = fixnan(100 * ta.rma(plusDM, len) / trur) minus = fixnan(100 * ta.rma(minusDM, len) / trur) sum = plus + minus adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), lensig) //plot(adx, color=#F50057, title="ADX") plot(plus, color=color.green, title="+DI") plot(minus, color=color.red, title="-DI") hlineup = hline(40, color=#787B86) hlinelow = hline(10, color=#787B86) buy = plus < 10 and minus > 40 if buy strategy.entry('long', strategy.long) sell = plus > 40 and minus < 10 if sell strategy.entry('short', strategy.short)