Sumber daya yang dimuat... Pemuatan...

Strategi Crossover MACD dan EMA

Penulis:ChaoZhang, Tanggal: 2023-12-28 15:22:14
Tag:

img

Gambaran umum

Strategi ini menggunakan persilangan dari garis cepat dan lambat indikator MACD untuk menentukan entri dan keluar. Indikator EMA juga digunakan untuk menilai arah tren. Ini panjang ketika garis cepat menembus garis lambat dari bawah dan nilai MACD di bawah 0; pendek ketika garis cepat menembus garis lambat dari atas dan nilai MACD di atas 0. Stop loss exit ditetapkan pada nilai EMA ketika sinyal dihasilkan; mengambil keuntungan ditetapkan menjadi 2 kali harga masuk.

Prinsip Strategi

Ketika garis cepat dari MACD menembus garis lambat dari bawah dan nilai MACD di bawah 0, ini menunjukkan bahwa rata-rata bergerak jangka pendek harga mulai naik dan momentum mulai menguat, sehingga posisi panjang dapat diambil.

Indikator EMA menilai arah tren keseluruhan. Nilai EMA yang lebih tinggi menunjukkan tren kenaikan sementara nilai yang lebih rendah menunjukkan tren penurunan. Strategi hanya panjang ketika EMA menunjukkan tren kenaikan dan pendek ketika EMA menunjukkan tren penurunan untuk menghindari perdagangan kontra-tren.

Stop loss ditetapkan pada nilai EMA saat sinyal dihasilkan. EMA dapat menilai tren dengan baik. Menetapkannya sebagai nilai EMA dapat mengurangi probabilitas stop loss yang diambil oleh titik rendah atau tinggi sebelumnya. Take profit ditetapkan menjadi 2 kali harga masuk, memberikan rasio risiko imbalan 2.

Analisis Keuntungan

Strategi ini menggabungkan indikator MACD dan EMA untuk lebih menentukan waktu masuk dan arah tren. Metode stop loss menghindari mengejar kenaikan dan penjualan jatuh. Rasio imbalan risiko 2 adalah pengaturan parameter yang relatif konservatif. Parameter indikator MACD dapat disesuaikan untuk beradaptasi secara fleksibel dengan perubahan pasar.

Analisis Risiko

Indikator MACD memiliki lag rata-rata, putaran indikator cenderung menunda putaran harga. Strategi tidak dapat menentukan titik masuk tertentu, ada beberapa kebutaan. Stop loss cenderung dipicu oleh tindakan harga yang fluktuatif. Take profit point dapat dipukul lebih awal atau dengan keterlambatan.

Arahan Optimasi

  1. Mengoptimalkan parameter MACD untuk membuatnya lebih sensitif atau stabil.
  2. Masukkan indikator lain untuk menentukan titik masuk yang lebih akurat.
  3. Secara dinamis menyesuaikan parameter stop loss dan take profit.
  4. Mengoptimalkan pengelolaan uang untuk menentukan ukuran posisi yang lebih tepat.

Ringkasan

Strategi ini menggabungkan indikator MACD dan EMA untuk menentukan waktu masuk dan arah tren. Ini menggunakan metode sederhana dan masuk akal untuk stop loss dan take profit. Optimasi lebih lanjut dapat dilakukan pada keterlambatan parameter MACD, stop loss dan take profit dll untuk mendapatkan hasil strategi yang lebih baik.


/*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)


Lebih banyak