Sumber dimuat naik... memuat...

Strategi Dagangan Kuantitatif Mengambil Trend Dinamik Multi-EMA

Penulis:ChaoZhang, Tarikh: 2024-12-27 14:59:35
Tag:EMASMAMACDMARSI

img

Ringkasan

Strategi ini adalah sistem dagangan kuantitatif berdasarkan pelbagai persilangan Exponential Moving Average (EMA). Ia membina kerangka perdagangan trend berikut yang lengkap menggunakan tiga EMA: 9 hari, 21 hari, dan 200 hari. Strategi ini mengenal pasti trend pasaran dan melaksanakan dagangan dengan menganalisis persilangan antara EMA cepat dan perlahan dan kedudukan mereka berbanding EMA jangka panjang.

Prinsip Strategi

Logika teras berputar di sekitar silang tiga EMA untuk menangkap trend pasaran.

  1. Menggunakan 9-hari EMA sebagai garis pantas untuk mencerminkan pergerakan harga jangka pendek
  2. Menggunakan EMA 21 hari sebagai garis jangka sederhana untuk menapis bunyi bising jangka pendek
  3. Menggunakan EMA 200 hari sebagai garis jangka panjang untuk menentukan arah trend utama Sistem ini menghasilkan isyarat panjang apabila EMA cepat melintasi di atas EMA perlahan sementara kedua-duanya berada di atas EMA 200 hari, dan isyarat pendek apabila EMA cepat melintasi di bawah EMA perlahan sementara kedua-duanya berada di bawah EMA 200 hari. Reka bentuk ini menangkap titik pembalikan trend sambil mengelakkan perdagangan yang kerap di pasaran berkisar.

Kelebihan Strategi

  1. Pengesahan trend tinggi: Gabungan EMA berbilang memberikan pengesahan trend yang lebih tepat
  2. Kawalan risiko yang kukuh: EMA jangka panjang berfungsi sebagai penapis trend untuk mengurangkan risiko pecah palsu
  3. Peraturan operasi yang jelas: Syarat kemasukan dan keluar ditentukan dengan baik, mudah dilaksanakan dan backtest
  4. Kemudahan penyesuaian yang tinggi: Parameter boleh diselaraskan untuk ciri pasaran yang berbeza
  5. Pengiraan mudah: Menggunakan penunjuk teknikal biasa, cekap untuk perdagangan masa nyata

Risiko Strategi

  1. Risiko kelewatan: Penunjuk EMA mempunyai kelewatan semulajadi, yang berpotensi menyebabkan kemasukan atau keluar yang tertunda
  2. Risiko pengukuhan: Boleh menghasilkan isyarat palsu yang kerap di pasaran yang berbeza
  3. Risiko pembalikan trend: Boleh mengalami pengeluaran yang signifikan semasa pembalikan trend tiba-tiba
  4. Sensitiviti parameter: Gabungan parameter yang berbeza boleh membawa kepada prestasi yang berbeza Ia disyorkan untuk menguruskan risiko ini melalui penempatan stop-loss dan saiz kedudukan.

Arahan pengoptimuman

  1. Menggabungkan penunjuk jumlah: mengesahkan kekuatan trend dengan perubahan jumlah
  2. Tambah penapis turun naik: Sesuaikan kekerapan dagangan dalam persekitaran turun naik yang tinggi
  3. Mengoptimumkan pemilihan parameter: Sesuaikan parameter EMA secara dinamik untuk kitaran pasaran yang berbeza
  4. Sertakan penunjuk kekuatan trend: Gunakan ADX untuk menilai kebolehpercayaan trend
  5. Meningkatkan pengurusan risiko: Merancang peraturan berhenti rugi dan mengambil keuntungan yang lebih fleksibel

Ringkasan

Ini adalah strategi trend-mengikuti yang direka dengan baik dengan logik yang jelas. Melalui penyelarasan pelbagai EMA, ia berkesan menangkap trend pasaran sambil mengekalkan kawalan risiko yang baik. Strategi ini mempunyai potensi pengoptimuman yang besar, dan kestabilan dan keuntungan dapat ditingkatkan lagi melalui peningkatan berterusan.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("EMA Cross with both MinhTuan", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Tham số EMA
fastLength = input.int(9, title="Fast EMA Length", minval=1)
slowLength = input.int(21, title="Slow EMA Length", minval=1)
filterLength = input.int(200, title="EMA Filter Length", minval=1)

// Tùy chọn chế độ giao dịch
tradeMode = input.string("Both", options=["Long", "Short", "Both"], title="Trade Mode")

// Tính toán EMA
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
filterEMA = ta.ema(close, filterLength)

// Điều kiện vào lệnh Long: EMA nhanh cắt lên EMA chậm và cả hai nằm trên EMA 200
longCondition = ta.crossover(fastEMA, slowEMA) and fastEMA > filterEMA and slowEMA > filterEMA

// Điều kiện vào lệnh Short: EMA nhanh cắt xuống EMA chậm và cả hai nằm dưới EMA 200
shortCondition = ta.crossunder(fastEMA, slowEMA) and fastEMA < filterEMA and slowEMA < filterEMA

// Điều kiện thoát lệnh: EMA nhanh cắt ngược lại EMA chậm
closeLongCondition = ta.crossunder(fastEMA, slowEMA) // Thoát lệnh Long
closeShortCondition = ta.crossover(fastEMA, slowEMA) // Thoát lệnh Short

// Thực hiện lệnh Long
if (longCondition and (tradeMode == "Long" or tradeMode == "Both"))
    strategy.entry("EMA_Cross_Long", strategy.long)
    label.new(x=bar_index, y=low, text="Long", color=color.green, textcolor=color.white, size=size.small)

// Thực hiện lệnh Short
if (shortCondition and (tradeMode == "Short" or tradeMode == "Both"))
    strategy.entry("EMA_Cross_Short", strategy.short)
    label.new(x=bar_index, y=high, text="Short", color=color.red, textcolor=color.white, size=size.small)

// Thoát lệnh Long
if (closeLongCondition)
    strategy.close("EMA_Cross_Long")
    label.new(x=bar_index, y=high, text="Close Long", color=color.orange, textcolor=color.white, size=size.small)

// Thoát lệnh Short
if (closeShortCondition)
    strategy.close("EMA_Cross_Short")
    label.new(x=bar_index, y=low, text="Close Short", color=color.blue, textcolor=color.white, size=size.small)

// Vẽ đường EMA nhanh, EMA chậm, và EMA 200
plot(fastEMA, title="Fast EMA", color=color.blue, linewidth=2)
plot(slowEMA, title="Slow EMA", color=color.orange, linewidth=2)
plot(filterEMA, title="Filter EMA (200)", color=color.red, linewidth=2)

// Hiển thị nền khi đang giữ lệnh
bgcolor(strategy.position_size > 0 ? color.new(color.green, 90) : strategy.position_size < 0 ? color.new(color.red, 90) : na)


Berkaitan

Lebih lanjut