Strategi EMA Berganda Dinamik

Penulis:ChaoZhang, Tarikh: 2024-01-24 15:13:07
Tag:

img

Ringkasan

Strategi ini bertujuan untuk mengeksploitasi pembalikan atau kesinambungan trend yang berpotensi menggunakan Purata Bergerak Eksponen (EMA) dan hentian yang berdasarkan pada kaedah Chande Dynamic Convergence Divergence (CDC) Average True Range. Strategi ini menggabungkan beberapa penunjuk untuk menentukan masa masuk dan menetapkan stop loss dan mengambil tahap keuntungan berdasarkan turun naik pasaran untuk mengawal risiko sambil menangkap trend baru.

Logika Strategi

Strategi ini menggunakan EMA berganda 60-period dan 90-period untuk menentukan arah trend. Persalinan di mana EMA tempoh yang lebih pendek bergerak di atas EMA tempoh yang lebih lama memberikan isyarat kenaikan. Pada masa yang sama, persalinan garis MACD di atas garis isyaratnya dapat mengesahkan pandangan kenaikan. Masuk memerlukan harga berada di atas tahap hentian CDC yang dihitung sebelumnya.

Peraturan keluar adalah: tutup kedudukan apabila harga mencapai tahap mengambil keuntungan berasaskan ATR atau jatuh di bawah paras stop loss CDC.

Analisis Kelebihan

Strategi ini menggabungkan EMA berganda untuk menilai arah trend utama dan MACD untuk mengesahkan masa kemasukan, mengelakkan pecah palsu. Kedua-dua paras berhenti dan sasaran keuntungan dikira berdasarkan turun naik pasaran untuk pengurusan risiko yang berkesan. Sama ada trend berbalik atau berterusan, strategi ini dapat merebut peluang dengan tepat pada masanya.

Selain itu, parameter input strategi ini boleh disesuaikan. Pengguna boleh menyesuaikan tempoh EMA, tempoh ATR dan pengganda CDC mengikut gaya perdagangan mereka sendiri.

Analisis Risiko

Risiko terbesar dari strategi ini adalah penilaian trend yang salah. Apabila pasaran mengumpul, EMA dengan mudah boleh memberikan isyarat yang salah. Pada masa ini, peranan pengesahan MACD sangat penting. Di samping itu, peningkatan yang sewajarnya terhadap pengganda stop loss CDC diperlukan untuk menangani jurang harga yang besar yang disebabkan oleh peristiwa tiba-tiba.

Arahan pengoptimuman

  1. Uji gabungan parameter tempoh EMA yang berbeza untuk mencari tetapan optimum
  2. Uji pelbagai saiz pengganda stop loss CDC
  3. Cuba menggabungkan penunjuk lain untuk menapis masa kemasukan
  4. Tambah mekanisme untuk menangani peristiwa pasaran tiba-tiba

Ringkasan

Strategi ini memanfaatkan kelebihan penunjuk trend dan turun naik untuk mengenal pasti peluang berpotensi dalam sekuriti. Melalui pengoptimuman parameter dan penambahbaikan mekanisme, strategi ini berpotensi untuk meningkatkan kestabilan dan keuntungan. Ia menyediakan peniaga kuantitatif dengan kerangka strategi yang boleh dipercayai dan berskala.


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

//@version=5
strategy("Improved EMA & CDC Trailing Stop Strategy", overlay=true)

// Define the inputs
ema60Period = input(60, title="EMA 60 Period")
ema90Period = input(90, title="EMA 90 Period")
atrPeriod = input(24, title="CDC ATR Period")
multiplier = input(4.0, title="CDC Multiplier")
profitTargetMultiplier = input(2.0, title="Profit Target Multiplier (ATR)")

// Calculate EMAs
ema60 = ta.ema(close, ema60Period)
ema90 = ta.ema(close, ema90Period)

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

// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// Define the trailing stop and profit target
longStop = close - multiplier * atr
shortStop = close + multiplier * atr
longProfitTarget = close + profitTargetMultiplier * atr
shortProfitTarget = close - profitTargetMultiplier * atr

// Entry conditions
longCondition = close > ema60 and ema60 > ema90 and macdLine > signalLine and close > longStop
shortCondition = close < ema60 and ema60 < ema90 and macdLine < signalLine and close < shortStop

// Exit conditions based on profit target
longProfitCondition = close >= longProfitTarget
shortProfitCondition = close <= shortProfitTarget

// Plot the EMAs, Stops, and MACD for visualization
plot(ema60, color=color.blue, title="60 EMA")
plot(ema90, color=color.red, title="90 EMA")
plot(longStop, color=color.green, title="Long Stop", style=plot.style_linebr)
plot(shortStop, color=color.red, title="Short Stop", style=plot.style_linebr)
hline(0, "Zero Line", color=color.gray)
plot(macdLine - signalLine, color=color.blue, title="MACD Histogram")

// Strategy execution using conditional blocks
if longCondition
    strategy.entry("Long", strategy.long)
if shortCondition
    strategy.entry("Short", strategy.short)

// Exit based on profit target and trailing stop
if longProfitCondition or close < longStop
    strategy.close("Long")
if shortProfitCondition or close > shortStop
    strategy.close("Short")



Lebih lanjut