MACD dan EMA Golden Cross dan Strategi Palang Mati


Tarikh penciptaan: 2023-12-28 15:22:14 Akhirnya diubah suai: 2023-12-28 15:22:14
Salin: 2 Bilangan klik: 972
1
fokus pada
1621
Pengikut

MACD dan EMA Golden Cross dan Strategi Palang Mati

Gambaran keseluruhan

Strategi ini menilai masuk dan keluar dengan mengira persilangan garis cepat dan lambat MACD. Ia juga digabungkan dengan EMA untuk menentukan arah trend. Apabila garis cepat menembusi garis perlahan dari bawah dan nilai MACD lebih rendah daripada 0, ia melakukan lebih banyak; apabila garis cepat menembusi garis perlahan dari atas dan nilai MACD lebih tinggi daripada 0, ia kosong.

Prinsip Strategi

Apabila garis pantas MACD dari bawah menembusi garis perlahan dan nilai MACD di bawah 0, menunjukkan bahawa purata bergerak jangka pendek harga saham mula naik, pergerakan mula meningkat, dan anda boleh membeli. Apabila garis pantas MACD dari atas menembusi garis perlahan dan nilai MACD di atas 0, menunjukkan bahawa purata bergerak jangka pendek harga saham mula turun, pergerakan mula lemah, dan anda boleh menjual.

Indikator EMA menilai arah trend keseluruhan. Apabila nilai EMA lebih tinggi, ia akan meningkat, dan apabila nilai lebih rendah, ia akan menurun. Strategi hanya melakukan lebih banyak apabila EMA menunjukkan trend menaik, dan membuat kosong apabila EMA menunjukkan trend menurun, dan mengelakkan perdagangan berlawanan.

Hentikan kerugian adalah nilai EMA apabila isyarat dihasilkan. EMA dapat menilai trend dengan baik, dan menetapkan nilai EMA dapat mengurangkan kebarangkalian bahawa hentian akan ditembusi oleh titik rendah atau tinggi awal. Hentikan kerugian ditetapkan sebagai 2 kali ganda titik masuk, dan nisbah risiko keuntungan adalah 2.

Analisis kelebihan

Strategi ini menggabungkan penunjuk MACD dan penunjuk EMA, yang dapat menilai masa masuk dan arah trend dengan lebih baik. Perhentian yang wajar, mengelakkan mengejar dan membunuh. Rasio risiko keuntungan 2, parameter yang lebih konservatif.

Analisis risiko

Indeks MACD mempunyai lag avraging, pengalihan indikator sering ketinggalan daripada pengalihan harga. Strategi tidak dapat menentukan titik masuk tertentu, terdapat kebutaan tertentu. Hentian rugi mudah dicetuskan oleh keadaan gegaran.

Arah pengoptimuman

  1. Mengoptimumkan parameter penunjuk MACD untuk menjadikannya lebih sensitif atau stabil.
  2. Mengambil kira masa kemasukan, dan menentukan tempat kemasukan yang lebih tepat, digabungkan dengan petunjuk lain.
  3. Secara dinamik menyesuaikan parameter henti rugi.
  4. Mengoptimumkan pengurusan dana dan menentukan saiz kedudukan yang lebih sesuai.

ringkaskan

Strategi ini menggabungkan penggunaan indikator MACD dan indikator EMA untuk menentukan masa masuk dan arah trend. Ia menggunakan kaedah hentian kerugian yang mudah dan munasabah. Ia boleh dioptimumkan lebih lanjut untuk keterlambatan indikator MACD, parameter hentian kerugian, dan sebagainya untuk mendapatkan kesan strategi yang lebih baik.

Kod sumber strategi
/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MACD & EMA 200 Strategy", overlay=true)

// MACD Settings
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")
src = close

[macdLine, signalLine, _] = ta.macd(src, fastLength, slowLength, signalLength)

// 200 EMA
ema200 = ta.ema(src, 200)
plot(ema200, title="200 EMA", color=color.red)

// Long Condition
longCondition = ta.crossover(macdLine, signalLine) and macdLine < 0 and close > ema200
if (longCondition and strategy.position_size <= 0)
    strategy.entry("Long", strategy.long)
    longStopLoss = ema200
    longTakeProfit = close + 2 * (close - ema200)
    strategy.exit("Exit Long", "Long", stop=longStopLoss, limit=longTakeProfit)

// Short Condition
shortCondition = ta.crossunder(macdLine, signalLine) and macdLine > 0 and close < ema200
if (shortCondition and strategy.position_size <= 0)
    strategy.entry("Short", strategy.short)
    shortStopLoss = ema200
    shortTakeProfit = close - 2 * (ema200 - close)
    strategy.exit("Exit Short", "Short", stop=shortStopLoss, limit=shortTakeProfit)