Strategi risiko penyesuaian berdasarkan persilangan arah aliran purata bergerak berganda digabungkan dengan penapis momentum ADX

EMA ADX ATR DMI RR
Tarikh penciptaan: 2025-02-18 16:21:02 Akhirnya diubah suai: 2025-02-18 16:21:02
Salin: 0 Bilangan klik: 391
1
fokus pada
1617
Pengikut

Strategi risiko penyesuaian berdasarkan persilangan arah aliran purata bergerak berganda digabungkan dengan penapis momentum ADX

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan yang menggabungkan penghakiman trend dua garis lurus, penapisan dinamik ADX dan pengurusan risiko penyesuaian diri. Strategi ini menggunakan purata bergerak indeks 50 dan 200 kitaran ((EMA) sebagai asas penghakiman trend, pengesahan dinamik melalui indikator ADX dan DMI, dan penyesuaian sasaran berhenti dan keuntungan mengikut dinamik ATR.

Prinsip Strategi

Strategi ini berpusat pada tiga bahagian:

  1. Penghakiman trend: Menggunakan hubungan kedudukan EMA 50 dan 200 untuk menentukan arah trend semasa, EMA50 di atas EMA200 sebagai tren naik, sebaliknya sebagai tren turun.
  2. Pengesahan momentum: Kekuatan trend disahkan menggunakan ADX dan penunjuk DMI, yang memerlukan ADX lebih besar daripada tetes yang ditetapkan (default 25) dan DI + lebih besar daripada DI- untuk mengesahkan trend naik, sebaliknya mengesahkan trend turun.
  3. Waktu masuk: Setelah trend disahkan, harga bersalin dengan EMA50 sebagai isyarat masuk yang spesifik, bersalin ke atas melakukan lebih, bersalin ke bawah melakukan kosong.

Kelebihan Strategik

  1. Mekanisme pengesahan pelbagai: Mengurangkan isyarat palsu dengan pengesahan pelbagai trend dan momentum.
  2. Pengurusan risiko adaptif: menggunakan ATR untuk menyesuaikan kedudukan hentian secara dinamik, menjadikan pengurusan risiko lebih sesuai dengan ciri-ciri turun naik pasaran.
  3. Pengoptimuman nisbah risiko dan ganjaran: dengan menetapkan nisbah risiko dan ganjaran, pastikan jangkaan keuntungan untuk setiap perdagangan adalah munasabah.
  4. Sokongan visual: Strategi menyediakan paparan grafik yang lengkap, termasuk garis trend, kedudukan stop loss dan tanda isyarat perdagangan.

Risiko Strategik

  1. Kelewatan pembalikan trend: Oleh kerana menggunakan garis rata-rata dengan tempoh yang lebih lama, mungkin terdapat kelewatan tertentu ketika pembalikan trend.
  2. Tidak berlaku untuk pasaran goyah: Dalam pasaran goyah, isyarat palsu mungkin sering dihasilkan.
  3. Kepekaan parameter: Keberkesanan strategi adalah sensitif kepada tetapan parameter, dan parameter mungkin perlu dilaraskan dalam persekitaran pasaran yang berbeza.

Arah pengoptimuman strategi

  1. Kesesuaian persekitaran pasaran: Logik penilaian persekitaran pasaran boleh ditambah, parameter penyesuaian dinamik dalam persekitaran turun naik yang berbeza.
  2. Penguatan penapisan isyarat: boleh memperkenalkan jumlah lalu lintas atau petunjuk teknikal lain sebagai syarat penapisan tambahan.
  3. Pengoptimuman Hentikan Kerugian: Anda boleh mempertimbangkan untuk menggunakan strategi Hentikan Kerugian atau Hentikan Kerugian Komposit untuk meningkatkan fleksibiliti pengurusan risiko.
  4. Membina gudang secara berbatch: dapat mewujudkan mekanisme kemasukan dan pengeluaran berbatch, mengoptimumkan pengurusan dana.

ringkaskan

Ini adalah strategi pengesanan trend yang lengkap dan logik yang jelas, dengan penggunaan gabungan pelbagai petunjuk teknikal, menghasilkan penjanaan isyarat perdagangan dan kawalan risiko yang lebih dipercayai. Strategi ini sangat berskala dan mempunyai ruang pengoptimuman yang besar. Dengan penyesuaian parameter yang munasabah dan langkah-langkah pengoptimuman, dapat menyesuaikan diri dengan keadaan pasaran yang berbeza.

Kod sumber strategi
/*backtest
start: 2025-02-10 00:00:00
end: 2025-02-17 00:00:00
period: 3m
basePeriod: 3m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("XAUUSD 15m Trend Strategy", overlay=true, margin_long=100, margin_short=100)

// Input parameters
emaFast = input.int(50, "Fast EMA Period", minval=1)
emaSlow = input.int(200, "Slow EMA Period", minval=1)
adxThreshold = input.int(25, "ADX Threshold", minval=1)
lookback = input.int(5, "Swing Lookback Period", minval=1)
riskReward = input.float(1.5, "Risk Reward Ratio", minval=1.0)

// Calculate indicators
ema50 = ta.ema(close, emaFast)
ema200 = ta.ema(close, emaSlow)
[diPlus, diMinus, adx] = ta.dmi(14, 14)
atr = ta.atr(14)

// Trend conditions
uptrend = ema50 > ema200 and adx >= adxThreshold and diPlus > diMinus
downtrend = ema50 < ema200 and adx >= adxThreshold and diMinus > diPlus

// Entry conditions
longCondition = uptrend and ta.crossover(close, ema50)
shortCondition = downtrend and ta.crossunder(close, ema50)

// Calculate risk levels
longStop = ta.lowest(low, lookback) - atr * 0.5
longProfit = close + (close - longStop) * riskReward
shortStop = ta.highest(high, lookback) + atr * 0.5
shortProfit = close - (shortStop - close) * riskReward

// Execute trades
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", "Long", stop=longStop, limit=longProfit)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Exit Short", "Short", stop=shortStop, limit=shortProfit)

// Plotting
plot(ema50, "EMA 50", color=color.blue)
plot(ema200, "EMA 200", color=color.orange)
plot(strategy.position_size > 0 ? longStop : na, "Long Stop", color=color.red, style=plot.style_linebr)
plot(strategy.position_size > 0 ? longProfit : na, "Long Target", color=color.green, style=plot.style_linebr)
plot(strategy.position_size < 0 ? shortStop : na, "Short Stop", color=color.red, style=plot.style_linebr)
plot(strategy.position_size < 0 ? shortProfit : na, "Short Target", color=color.green, style=plot.style_linebr)

// Signal markers
plotshape(longCondition, "Buy Signal", shape.triangleup, location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, "Sell Signal", shape.triangledown, location.abovebar, color=color.red, size=size.small)