Strategi mengikuti tren dengan tiga EMA dikombinasikan dengan DMI dan MACD


Tanggal Pembuatan: 2024-01-25 15:48:59 Akhirnya memodifikasi: 2024-01-25 15:48:59
menyalin: 0 Jumlah klik: 1177
1
fokus pada
1617
Pengikut

Strategi mengikuti tren dengan tiga EMA dikombinasikan dengan DMI dan MACD

Ringkasan

Ini adalah strategi pelacakan tren yang menggabungkan 3 indikator Moving Average (EMA), Trend Indicator (DMI) dan Moving Average Clustering Indicator (MACD) untuk menentukan arah tren dan menghasilkan sinyal beli dan beli. Komponen kunci termasuk sinyal EMA Gold Crossover, DMI untuk menilai kekuatan tren dan MACD untuk mengkonfirmasi momentum.

Logika Strategi

Logika inti bergantung pada 3 EMA - 34, 89, dan 200 - yang dihitung pada siklus M5 untuk mengidentifikasi tren keseluruhan. 34 siklus EMA memberikan arah jangka pendek, sedangkan 89 dan 200 EMA mendefinisikan tren jangka panjang.

Jika Anda membeli sinyal yang memicu:

  • EMA 34 pada saat penutupan
  • + DI ((pembaca tren gerakan) > 17
  • ADX (kekuatan tren) > -DI

Saat sinyal terjual:

  • EMA 34 di bawah harga close
  • -DI ((pergerakan tren turun) > 17
  • ADX > +DI

Sebelum masuk, ada tambahan konfirmasi dari MACD.

Keunggulan

Strategi ini memiliki beberapa keuntungan utama:

  1. Pergeseran tren dengan EMA Emas jangka pendek dan penangkapan awal
  2. Menggunakan beberapa EMA untuk menilai kekuatan tren dalam berbagai kerangka waktu
  3. Filter DMI membantu menghindari sinyal yang salah dengan memeriksa gerakan tren yang kuat
  4. MACD memberikan konfirmasi momentum, meningkatkan kualitas dan probabilitas peluang perdagangan
  5. Kombinasi indikator meningkatkan akurasi dan waktu sinyal masuk

Risiko

Risiko utama:

  1. Hanya mengandalkan EMA Gold Cross yang mudah disesatkan dan salah tempat
  2. Konfirmasi ganda dapat menyebabkan keterlambatan pada titik waktu pembuatan sinyal
  3. Rentan terhadap perubahan tren yang tiba-tiba

Pengobatan:

  • Mengadopsi manajemen posisi dan stop loss yang tepat
  • Optimalkan parameter EMA berdasarkan kondisi pasar saat ini
  • Observasi pergerakan entitas harga untuk pengakuan visual

Arah optimasi

Lebih lanjut tentang strategi:

  1. Meningkatkan indikator seperti RSI untuk menilai zona overbought dan oversold
  2. Kombinasi analisis lalu lintas menghasilkan sinyal yang lebih kuat
  3. Mengoptimalkan indikator dan parameter sesuai dengan berbagai aset dan kerangka waktu
  4. Menggunakan teknologi pembelajaran mesin untuk terus belajar dari data pasar baru

Meringkaskan

Secara keseluruhan, ini adalah sistem pelacakan tren yang kuat, yang menggabungkan urutan beberapa indikator yang sederhana namun praktis. Tiga EMA dikonfigurasi untuk menilai tren dalam beberapa kerangka waktu, DMI dan MACD memeriksa untuk meningkatkan waktu masuk dan probabilitas keuntungan.

Kode Sumber Strategi
/*backtest
start: 2023-01-18 00:00:00
end: 2024-01-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("2 EMA di+ Buy Sell, strategy ", overlay=true)

// Define the EMA calculation function
ema(src, length) =>
    ta.ema(src, length)

// Calculate and plot EMA on M5
ema34_M5 = ema(close, 34)
ema89_M5 = ema(close, 89)
ema200_M5 = ema(close, 200)

// Plot EMAs
plot(ema34_M5, color=color.green, title="EMA 34 M5", linewidth=2)
plot(ema89_M5, color=color.blue, title="EMA 89 M5", linewidth=2)
plot(ema200_M5, color=color.black, title="EMA 200 M5", linewidth=2)

// Define DMI parameters
len = input(14, title="DI Length")
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, len)
plusDI = 100 * ta.rma(plusDM, len) / trur
minusDI = 100 * ta.rma(minusDM, len) / trur

// Calculate ADX
adxValue = 100 * ta.rma(math.abs(plusDI - minusDI) / (plusDI + minusDI == 0 ? 1 : plusDI + minusDI), len)

// Define MACD parameters
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")

// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)

// Create buy/sell conditions
buyCondition = close > ema34_M5 and plusDI > 17 and adxValue > minusDI 
sellCondition = close < ema34_M5 and minusDI > 17 and adxValue > plusDI 

// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)

// Create alerts for buy/sell signals
alertcondition(buyCondition, title="Buy Signal", message="Buy Signal")
alertcondition(sellCondition, title="Sell Signal", message="Sell Signal")

// Plot buy/sell arrows on the price chart
bgcolor(buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na)

plotarrow(buyCondition ? 1 : sellCondition ? -1 : na, colorup=color.new(color.green, 0), colordown=color.new(color.red, 0), offset=-1)