Strategi risiko adaptif berdasarkan persilangan tren rata-rata pergerakan ganda yang dikombinasikan dengan filter momentum ADX

EMA ADX ATR DMI RR
Tanggal Pembuatan: 2025-02-18 16:21:02 Akhirnya memodifikasi: 2025-02-18 16:21:02
menyalin: 0 Jumlah klik: 391
1
fokus pada
1617
Pengikut

Strategi risiko adaptif berdasarkan persilangan tren rata-rata pergerakan ganda yang dikombinasikan dengan filter momentum ADX

Ringkasan

Strategi ini adalah sistem perdagangan yang menggabungkan penilaian tren dua garis rata, penyaringan dinamika ADX, dan manajemen risiko adaptif. Strategi ini menggunakan rata-rata pergerakan indeks 50 dan 200 periode ((EMA) sebagai dasar penilaian tren, mengkonfirmasi dinamika melalui indikator ADX dan DMI, dan menyesuaikan tujuan stop loss dan profit sesuai dengan dinamika ATR.

Prinsip Strategi

Logika inti dari strategi ini dibagi menjadi tiga bagian:

  1. Penilaian tren: Menggunakan hubungan posisi EMA 50 dan 200 periode untuk menilai arah tren saat ini, EMA50 di atas EMA200 adalah tren naik, sebaliknya adalah tren turun.
  2. Pengesahan momentum: Menggunakan indikator ADX dan DMI untuk mengkonfirmasi kekuatan tren, meminta ADX lebih besar dari tetes yang ditetapkan (default 25) dan DI+ lebih besar dari DI- untuk mengkonfirmasi tren naik, sebaliknya mengkonfirmasi tren turun.
  3. Waktu masuk: Setelah trend dikonfirmasi, harga dan EMA50 bersilang sebagai sinyal masuk spesifik, bersilang ke atas melakukan over, bersilang ke bawah melakukan over.

Keunggulan Strategis

  1. Mekanisme pengesahan ganda: Mengurangi sinyal palsu secara efektif dengan pengesahan ganda pada tren dan momentum.
  2. Manajemen risiko adaptif: menggunakan ATR untuk secara dinamis menyesuaikan posisi stop loss, sehingga manajemen risiko lebih sesuai dengan karakteristik pasar yang berfluktuasi.
  3. Optimalisasi Rasio Risiko-Rugi: Dengan mengantisipasi Rasio Risiko-Rugi, pastikan bahwa ekspektasi keuntungan dari setiap transaksi masuk akal.
  4. Dukungan visual: Strategi memberikan tampilan grafis yang lengkap, termasuk garis tren, posisi stop loss dan sinyal perdagangan.

Risiko Strategis

  1. Penundaan pembalikan tren: Karena menggunakan garis rata-rata dengan periode yang lebih panjang, mungkin ada penundaan tertentu pada pembalikan tren.
  2. Tidak berlaku untuk pasar bergoyang: Dalam pasar bergoyang horizontal, sinyal palsu dapat sering dihasilkan.
  3. Sensitivitas parameter: Efektivitas strategi sensitif terhadap pengaturan parameter, dan parameter mungkin perlu disesuaikan dalam lingkungan pasar yang berbeda.

Arah optimasi strategi

  1. Adaptasi lingkungan pasar: Anda dapat menambahkan logika penilaian lingkungan pasar, menyesuaikan parameter secara dinamis dalam lingkungan yang berbeda.
  2. Peningkatan filter sinyal: dapat diperkenalkan volume lalu lintas atau indikator teknis lainnya sebagai kondisi penyaringan tambahan.
  3. Optimasi Stop Loss: Anda dapat mempertimbangkan untuk menggunakan strategi Stop Loss Tracking atau Stop Loss Kompleks untuk meningkatkan fleksibilitas manajemen risiko.
  4. Bangunan gudang berbatch: dapat mewujudkan mekanisme masuk dan keluar berbatch, mengoptimalkan manajemen dana.

Meringkaskan

Ini adalah strategi pelacakan tren yang terstruktur, logis, dan jelas, yang menghasilkan sinyal perdagangan yang lebih andal dan pengendalian risiko melalui penggunaan gabungan dari beberapa indikator teknis. Strategi ini sangat terukur dan memiliki ruang optimasi yang besar. Dengan penyesuaian parameter yang masuk akal dan langkah-langkah optimasi, dapat disesuaikan dengan lingkungan pasar yang berbeda.

Kode 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)