Strategi Pengawal DPO DMI

Penulis:ChaoZhang, Tarikh: 2024-01-04 17:56:28
Tag:

img

Ringkasan

Strategi ini menggabungkan dua penunjuk terbina dalam yang kuat dalam TradingView - Indeks Pergerakan Arah (DMI) dan Osilator Harga Terganggu (DPO) untuk membentuk asas yang boleh dipercayai untuk keputusan perdagangan. Logik teras strategi adalah untuk menentukan sama ada nilai DPO lebih besar daripada 0 apabila salib emas DMI berlaku, dan menghasilkan isyarat panjang jika demikian; atau untuk menentukan sama ada nilai DPO kurang daripada 0 apabila salib mati DMI berlaku, dan menghasilkan isyarat pendek jika demikian. Ini dapat menapis dengan berkesan banyak isyarat palsu yang dihasilkan semasa turun naik jangkauan di pasaran, dengan itu hanya menghasilkan isyarat perdagangan apabila trend terbentuk, mengelakkan kerugian berhenti berulang semasa turun naik.

Prinsip

Strategi ini terutamanya menggunakan penunjuk DMI untuk menentukan arah dan kekuatan trend. Penunjuk DMI terdiri daripada tiga lengkung: +DI, -DI dan ADX. +DI mewakili kekuatan trend menaik, -DI mewakili kekuatan trend menurun, dan persilangan mereka dapat menentukan arah trend semasa; ADX mewakili kekuatan trend, semakin tinggi nilai, semakin jelas trend. Walau bagaimanapun, ADX tidak baik dalam mengenal pasti julat turun naik yang rendah, jadi strategi ini menghilangkan penentuan ADX dan hanya menggunakan persilangan +DI dan -DI untuk menentukan arah trend.

Untuk menapis isyarat palsu yang dihasilkan dalam goyangan julat, penunjuk DPO diperkenalkan untuk penghakiman tambahan. Penunjuk DPO mewakili tahap penyimpangan harga dari rel tengahnya. Apabila harga berada di atas rel tengah, DPO positif, dan apabila di bawah, ia negatif. Strategi ini menggunakan positif dan negatif penunjuk DPO untuk menilai sama ada ia sedang dalam trend. Jika penunjuk DMI menyeberang tetapi penunjuk DPO hampir ke tahap 0, ia ditentukan sebagai goyangan dan tidak ada isyarat perdagangan dihasilkan.

Secara khusus, logik penilaian adalah:

  1. Apabila +DI melintasi di atas -DI, ia adalah salib emas, yang menunjukkan pasaran lembu. Pada masa ini, jika penunjuk DPO lebih besar daripada 0, ia mengesahkan bahawa ia sedang dalam trend menaik, dan isyarat panjang dihasilkan.

  2. Apabila -DI melintasi di bawah +DI, ia adalah salib mati, yang menunjukkan pasaran beruang. Pada masa ini, jika penunjuk DPO kurang daripada 0, ia mengesahkan bahawa ia sedang dalam trend menurun, dan isyarat pendek dihasilkan.

  3. Jika +DI/-DI bersilang tetapi penunjuk DPO hampir 0, ia ditentukan sebagai goyangan dan tiada isyarat dihasilkan.

Analisis Kelebihan

Kelebihan terbesar strategi gabungan ini adalah ketepatannya yang tinggi dalam mengenal pasti trend, menghasilkan isyarat perdagangan hanya apabila pembalikan trend sebenar berlaku, dengan itu mengelakkan kerugian berulang dalam selang berayun.

  1. Menggunakan penunjuk DMI untuk menentukan arah trend dan kekuatan, ia adalah penunjuk teknikal yang matang dan boleh dipercayai.

  2. Menyaring isyarat palsu dalam turun naik dalam julat dengan bantuan penunjuk DPO, menghasilkan isyarat hanya apabila trend terbentuk, mengelakkan kerugian.

  3. Menggabungkan beberapa penunjuk boleh berfungsi sebagai pengesahan bersama dan meningkatkan kebolehpercayaan isyarat.

  4. Logik strategi adalah mudah dan mudah difahami dan dilaksanakan, sesuai untuk perdagangan automatik atau manual.

  5. Oleh kerana ia hanya berdagang dalam trend, ia boleh mendapatkan nisbah risiko dan ganjaran yang agak tinggi.

Analisis Risiko

Walaupun ini adalah strategi yang sangat boleh dipercayai, risiko berikut harus diperhatikan:

  1. Kejadian tiba-tiba boleh menyebabkan pergerakan satu sisi yang besar di pasaran, mungkin kehilangan peluang trend tersebut.

  2. Penunjuk DMI itu sendiri juga boleh menghasilkan isyarat yang salah, dan risiko ini tidak dapat dielakkan sepenuhnya.

  3. Tetapan parameter yang tidak betul dari penunjuk DPO juga boleh membawa kepada penilaian yang salah.

  4. Kos dagangan akan mempunyai kesan tertentu terhadap keuntungan, jadi kekerapan dagangan harus dikawal.

Pengoptimuman

Masih ada ruang untuk mengoptimumkan lagi strategi ini:

  1. Kombinasi parameter yang berbeza boleh diuji untuk mencari parameter optimum untuk mengurangkan kelewatan isyarat dan meningkatkan kadar keuntungan.

  2. Boleh digabungkan dengan penunjuk lain seperti KDJ, MACD, dll untuk pengesahan untuk meningkatkan ketepatan isyarat.

  3. Parameter penyesuaian boleh ditetapkan mengikut pelbagai jenis, kitaran, dan lain-lain untuk menjadikan strategi lebih mudah disesuaikan.

  4. Perhentian dinamik boleh ditetapkan untuk mengawal kerugian tunggal. Amplitudo kehilangan berhenti yang berbeza juga boleh ditetapkan mengikut peringkat trend.

  5. Kaedah pembelajaran mesin boleh digunakan untuk mengoptimumkan masa masuk dan keluar untuk pulangan yang lebih tinggi.

Ringkasan

Strategi ini menggabungkan kelebihan penunjuk DMI dan DPO untuk mempunyai ketepatan yang tinggi dalam menilai pembalikan trend, dan dapat mengenal pasti generasi trend dengan boleh dipercayai. Pada masa yang sama, penggunaan penunjuk DPO berkesan menapis bunyi yang disebabkan oleh turun naik yang terhad kepada julat, mengelakkan perdagangan yang tidak berkesan. Ini menjadikannya strategi yang cekap yang sesuai untuk perdagangan automatik dan penerapan manual. Sudah tentu, masih ada banyak butiran yang boleh dioptimumkan untuk prestasi strategi yang lebih baik. Tetapi idea menggabungkan penunjuk mempunyai kepentingan rujukan penting untuk reka bentuk strategi perdagangan kuantitatif.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("DMI DPO Guard Strategy", calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, currency="USD", commission_type=strategy.commission.percent, commission_value=0.25)

///Tradingview's DMI indicator logic///
len = input(34, minval=1, title="DI Lookback")
up = change(high)
down = -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 = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / trur)
minus = fixnan(100 * rma(minusDM, len) / trur)

plot(plus, color=color.orange, title="+DI")
plot(minus, color=color.aqua, title="-DI")


period_ = input(34, title="Length", minval=1)
isCentered = input(false, title="Centered")
barsback = period_/2 + 1
ma = sma(close, period_)
dpo = isCentered ? close[barsback] - ma : close - ma[barsback]
plot(dpo, offset = isCentered ? -barsback : 0, title="Detrended Price Oscillator", color=#C0C000)
hline(0, title="Zero Line", color = #C0C0C0)

long = crossover(plus, minus) and (dpo > 0)
short = crossunder(plus, minus) and (dpo < 0)

strategy.entry("Long", strategy.long, when=long)
strategy.entry("Short", strategy.short, when=short)




Lebih lanjut