Strategi Dagangan Purata Bergerak Eksponensial Berganda

Penulis:ChaoZhang, Tarikh: 2024-03-11 16:17:20
Tag:

img

Ringkasan

Strategi ini menggabungkan beberapa Exponential Moving Averages (EMA) untuk mengenal pasti titik masuk dan keluar yang berpotensi di pasaran. Dengan membandingkan trend EMA dengan tempoh yang berbeza, ia menentukan trend pasaran semasa dan memasuki perdagangan pada awal pembentukan trend dan menutup kedudukan pada awal trendakhir.

Prinsip Strategi

Strategi ini menggunakan 4 EMA dengan tempoh yang berbeza sebagai penunjuk teras, iaitu EMA jangka pendek (default 8 tempoh), EMA jangka pendek (default 13 tempoh), EMA jangka sederhana (default 21 tempoh), dan EMA jangka panjang (default 55 tempoh). Apabila EMA jangka panjang berada di bawah tiga EMA yang lain, ia dinilai bahawa pasaran semasa mungkin berada di awal trend menaik, dan strategi membuka kedudukan panjang; apabila EMA jangka panjang berada di atas tiga EMA yang lain, ia dinilai bahawa pasaran semasa mungkin berada di awal trend menurun, dan strategi menutup semua kedudukan panjang. Strategi mengenal pasti titik perubahan trend dengan kombinasi ini long dan pendek EMA susunan untuk menangkap trend yang baru lahir.

Berbanding dengan Purata Bergerak Sederhana (SMA), EMA memberi lebih banyak penekanan pada harga baru-baru ini dan dengan itu trendnya lebih sensitif dan dapat bertindak balas terhadap perubahan harga dengan lebih cepat. Persalinan EMA dengan tempoh yang berbeza mencerminkan kekuatan trend pada skala masa yang berbeza. EMA jangka panjang adalah yang paling stabil dan mewakili trend pasaran yang signifikan; EMA jangka sederhana dan jangka pendek agak sensitif dan mencerminkan trend pasaran jangka pendek dan sederhana. Mereka bersama-sama membentuk logik teras strategi ini.

Analisis Kelebihan

  1. Penggunaan yang luas: Strategi ini berdasarkan penunjuk EMA harga itu sendiri dan boleh digunakan untuk kebanyakan jenis dengan kecairan yang baik dan trend yang agak lancar, seperti pelbagai niaga hadapan, forex, mata wang kripto arus perdana, dll.

  2. Pengesanan trend: Dengan membandingkan hubungan kedudukan EMA dengan tempoh yang berbeza untuk menentukan trend, ia boleh menangkap permulaan pembentukan trend ke tahap tertentu dan mengesan trend.

  3. Parameter fleksibel: Parameter tempoh EMA boleh disesuaikan dengan fleksibel mengikut ciri-ciri jenis, jangka masa pelaburan, dan lain-lain, dan mempunyai kesesuaian tertentu.

  4. Logik yang jelas: Strategi menghasilkan isyarat dagangan berdasarkan gabungan mudah pengaturan EMA panjang dan pendek, dan logiknya jelas dan mudah difahami dan dilaksanakan.

Analisis Risiko

  1. Lag EMA: EMA pada dasarnya merupakan penunjuk trend-tracking dan mempunyai lag tertentu, yang boleh menghasilkan lebih banyak isyarat palsu dalam pasaran yang bergolak.

  2. Sensitiviti parameter: Pilihan parameter tempoh EMA mempunyai kesan yang signifikan terhadap prestasi strategi, dan parameter yang dioptimumkan mungkin tidak mengekalkan prestasi yang baik pada data di luar sampel.

  3. Kekurangan penapisan: Strategi ini tidak mempunyai penapisan lebih lanjut isyarat perdagangan, dan semua isyarat yang dihasilkan akan didagangkan, yang mungkin mengakibatkan beberapa perdagangan berkualiti rendah.

  4. Posisi tetap: Pada masa ini, strategi membuka kedudukan tetap 1 unit setiap kali, tidak mempunyai kawalan kedudukan dinamik berdasarkan risiko, dan pengurusan risiko tidak cukup sempurna.

Arah pengoptimuman

  1. Memperkenalkan penapisan trend: Berdasarkan isyarat EMA, tambahkan penapisan indikator kekuatan trend seperti ATR dan ADX untuk menapis isyarat dari trend lemah dan tempoh bergolak.

  2. Memperkenalkan penapisan turun naik: Berdasarkan penapisan trend, penapisan turun naik seperti lebar Bollinger Band boleh diperkenalkan lagi untuk menapis isyarat berkualiti rendah yang mungkin disebabkan oleh turun naik yang tinggi.

  3. Mengoptimumkan stop-loss: Pada masa ini, strategi tidak mempunyai logik stop-loss yang jelas. Selepas memperkenalkan penapisan trend dan turun naik, stop-loss dinamik berdasarkan ATR atau peratusan boleh ditambah untuk mengawal kerugian maksimum satu perdagangan.

  4. Kedudukan dinamik: Berdasarkan turun naik jenis, peratusan nilai akaun, dll., bilangan kedudukan yang dibuka oleh strategi setiap kali dapat dikawal secara dinamik untuk mengejar pulangan mutlak yang lebih tinggi sambil mengurangkan risiko.

  5. Mengoptimumkan parameter: Untuk pelbagai jenis dan tempoh yang berbeza, parameter optimum EMA mungkin berbeza, dan pengoptimuman parameter perlu dilakukan secara berasingan mengikut ciri-ciri jenis untuk meningkatkan penerapan strategi.

Ringkasan

Strategi ini mengenal pasti titik perubahan trend dengan membandingkan kombinasi susunan panjang dan pendek 4 EMA dengan tempoh yang berbeza untuk menangkap permulaan pembentukan trend. Idea ini mudah dan jelas. Kelebihannya terletak pada pelbagai penerapannya, logik yang jelas, dan parameter yang fleksibel, dan ia dapat mengesan trend dengan baik; tetapi pada masa yang sama, ia juga mempunyai kelewatan yang melekat pada penunjuk EMA, serta masalah seperti kepekaan parameter, kekurangan penapisan, dan kedudukan tetap. Pada masa akan datang, ketahanan dan keuntungan strategi ini dapat ditingkatkan dari aspek seperti memperkenalkan penapisan trend dan volatiliti, mengoptimumkan stop-loss, kedudukan dinamik, dan pengoptimuman parameter untuk menjadikannya lebih lengkap dan boleh dipercayai.


/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Scriptâ„¢ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © n1ghthawk

//@version=5
strategy("donmo's 4ema", overlay=true, margin_long=100, margin_short=100)

float long = na
float short = na

lowestEMAPeriodInput = input.int(8, "Lowest EMA")
lowEMAPeriodInput = input.int(13, "Low EMA")
medEMAPeriodInput = input.int(21, "Med EMA")
highEMAPeriodInput = input.int(55, "High EMA")

lowestEMA = ta.ema(close, lowestEMAPeriodInput)
lowEMA = ta.ema(close, lowEMAPeriodInput)
medEMA = ta.ema(close, medEMAPeriodInput)
highEMA = ta.ema(close, highEMAPeriodInput)


emaLongCondition = highEMA<medEMA and highEMA<lowEMA and highEMA<lowestEMA
emaShortCondition = highEMA>medEMA and highEMA>lowEMA and highEMA>lowestEMA

longCondition = ta.change(emaLongCondition)
shortCondition = ta.change(emaShortCondition)

notInTrade = strategy.position_size <= 0
if longCondition and emaLongCondition and notInTrade
    long:=high
    strategy.entry("EL", strategy.long)

if shortCondition and emaShortCondition
    short:=low
    strategy.close("EL")


plot(long+3,title = 'long', color = color.green, linewidth = 4, style = plot.style_cross)
plot(short-3,title = 'short', color = color.red, linewidth = 4, style = plot.style_cross)

plot(lowestEMA, title = "lowestEMA", color=color.blue)
plot(lowEMA, title = "lowEMA", color=color.green)
plot(medEMA, title = "medEMA", color=color.orange)
plot(highEMA, title = "highEMA", color=color.red)

Lebih lanjut