Sumber dimuat naik... memuat...

Strategi EMA Berganda Lanjutan dengan Sistem Penapis Volatiliti ATR

Penulis:ChaoZhang, Tarikh: 2024-11-29 16:14:30
Tag:EMAATRMA

img

Ringkasan

Ini adalah strategi dagangan kuantitatif yang menggabungkan persimpangan purata bergerak eksponen (EMA) dengan penapis Julat Benar Purata (ATR). Strategi ini bertujuan untuk mengenal pasti trend yang kuat dan melaksanakan dagangan dalam keadaan pasaran yang sangat turun naik, dengan berkesan meningkatkan nisbah Sharpe dan prestasi keseluruhan. Ia menggunakan EMA 50 tempoh dan 200 tempoh untuk menangkap trend jangka menengah hingga panjang, sementara menggunakan penunjuk ATR untuk menilai turun naik pasaran, hanya berdagang apabila turun naik melebihi ambang tertentu.

Prinsip Strategi

Logik terasnya terdiri daripada dua komponen utama: penentuan trend dan penapisan turun naik. Untuk penentuan trend, strategi menggunakan EMA 50 tempoh sebagai garis pantas dan EMA 200 tempoh sebagai garis perlahan, menghasilkan isyarat panjang apabila garis pantas melintasi di atas garis perlahan dan isyarat pendek apabila melintasi di bawah. Untuk penapisan turun naik, strategi mengira nilai ATR 14 tempoh dan menukarnya kepada peratusan harga, hanya membenarkan kedudukan apabila peratusan ATR melebihi ambang yang telah ditetapkan (default 2%). Reka bentuk ini memastikan bahawa strategi hanya berdagang di pasaran dengan kadar turun naik yang mencukupi, dengan berkesan mengurangkan isyarat palsu di pasaran berkisar.

Kelebihan Strategi

  1. Mekanisme penapisan turun naik meningkatkan kestabilan strategi dengan ketara dengan hanya berdagang dalam persekitaran turun naik yang tinggi
  2. Menggunakan pengiraan ATR berasaskan peratusan menjadikan penapis turun naik disesuaikan dengan instrumen pada tahap harga yang berbeza
  3. Gabungan purata bergerak jangka sederhana dan jangka panjang secara berkesan menangkap trend utama sambil mengurangkan bunyi bising jangka pendek
  4. Logik strategi yang mudah dan jelas dengan parameter yang agak sedikit, mengurangkan risiko terlalu banyak
  5. Kawalan risiko yang berkesan melalui pengurusan kedudukan yang sesuai (10% saiz kedudukan)

Risiko Strategi

  1. Penunjuk EMA mempunyai kelewatan yang melekat, yang berpotensi menyebabkan penangguhan masa masuk dan keluar di pasaran yang tidak menentu
  2. Penembusan palsu masih boleh berlaku di pasaran yang berbeza, walaupun dengan penapisan ATR
  3. Sempadan ATR tetap mungkin tidak sesuai untuk semua keadaan pasaran
  4. Siklisiti pasaran tidak dipertimbangkan, parameter mungkin perlu disesuaikan dalam fasa pasaran yang berbeza Ia disyorkan untuk menggunakan stop-loss dinamik dan pembinaan kedudukan secara beransur-ansur untuk menguruskan risiko ini

Arahan Pengoptimuman Strategi

  1. Memperkenalkan ambang ATR dinamik yang disesuaikan dengan keadaan pasaran
  2. Tambah penunjuk pengesahan kekuatan trend seperti DMI atau ADX
  3. Melaksanakan mekanisme pembentukan dan penutupan kedudukan bertaraf untuk mengurangkan risiko kemasukan/keluar tunggal
  4. Tambah modul analisis bermusim untuk menggunakan parameter yang berbeza dalam kitaran pasaran yang berbeza
  5. Membangunkan mekanisme pemilihan tempoh purata bergerak yang beradaptasi untuk meningkatkan kebolehsesuaian strategi

Ringkasan

Strategi ini menggabungkan penunjuk teknikal klasik dengan konsep pengurusan risiko moden. Dengan menggunakan persilangan EMA untuk menangkap trend sambil menggunakan penapis ATR untuk mengawal masa perdagangan, strategi ini mengekalkan kesederhanaan sambil mencapai kepraktisan yang kuat. Walaupun terdapat beberapa risiko yang melekat, strategi ini masih mempunyai nilai aplikasi yang baik melalui pengoptimuman dan langkah pengurusan risiko yang betul.


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

//@version=5
strategy("EMA Crossover with ATR Filter", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Inputs for Moving Averages
fastLength = input.int(50, title="Fast EMA Length")
slowLength = input.int(200, title="Slow EMA Length")

// Inputs for ATR Filter
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier")
atrThreshold = input.float(0.02, title="ATR Threshold (%)")

// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)

// Calculate ATR
atr = ta.atr(atrLength)

// Convert ATR to a percentage of price
atrPct = atr / close

// Define Long Condition (Cross and ATR filter)
longCondition = ta.crossover(fastEMA, slowEMA) and atrPct > atrThreshold / 100

// Define Short Condition
shortCondition = ta.crossunder(fastEMA, slowEMA) and atrPct > atrThreshold / 100

// Define Exit Conditions
exitConditionLong = ta.crossunder(fastEMA, slowEMA)
exitConditionShort = ta.crossover(fastEMA, slowEMA)

// Long Entry
if (longCondition)
    strategy.entry("Long", strategy.long)

// Short Entry
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Long Exit
if (exitConditionLong)
    strategy.close("Long")

// Short Exit
if (exitConditionShort)
    strategy.close("Short")

// Plot EMAs for visual reference
plot(fastEMA, title="50 EMA", color=color.blue)
plot(slowEMA, title="200 EMA", color=color.red)

// Plot ATR for reference
plot(atrPct, title="ATR Percentage", color=color.orange, style=plot.style_line)
hline(atrThreshold / 100, "ATR Threshold", color=color.green)

Berkaitan

Lebih lanjut