Strategi EMA Dual Trailing Stop yang Dinamis

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

img

Gambaran umum

Strategi ini bertujuan untuk mengeksploitasi potensi pembalikan atau kelanjutan tren menggunakan Rata-rata Bergerak Eksponensial (EMA) dan trailing stop berdasarkan metode Chande Dynamic Convergence Divergence (CDC) Average True Range. Strategi ini menggabungkan beberapa indikator untuk menentukan waktu masuk dan menetapkan stop loss dan mengambil tingkat keuntungan berdasarkan volatilitas pasar untuk mengendalikan risiko sambil menangkap tren baru.

Logika Strategi

Strategi ini menggunakan 60 periode dan 90 periode EMA ganda untuk menentukan arah tren. crossover di mana EMA periode yang lebih pendek bergerak di atas EMA periode yang lebih lama memberikan sinyal bullish. Pada saat yang sama, crossover garis MACD di atas garis sinyalnya dapat mengkonfirmasi pandangan bullish. Entry mengharuskan harga berada di atas tingkat trailing stop CDC yang dihitung sebelumnya.

Aturan keluar adalah: tutup posisi ketika harga mencapai tingkat mengambil keuntungan berbasis ATR atau jatuh di bawah tingkat stop loss CDC.

Analisis Keuntungan

Strategi ini menggabungkan EMA ganda untuk menilai arah tren utama dan MACD untuk mengkonfirmasi waktu masuk, menghindari breakout palsu. Baik level trailing stop dan target profit dihitung berdasarkan volatilitas pasar untuk manajemen risiko yang efektif. Apakah tren berbalik atau berlanjut, strategi ini dapat memanfaatkan peluang secara tepat waktu.

Selain itu, parameter input dari strategi ini dapat disesuaikan. Pengguna dapat menyesuaikan periode EMA, periode ATR dan multiplier CDC sesuai dengan gaya trading mereka sendiri.

Analisis Risiko

Risiko terbesar dari strategi ini adalah penilaian tren yang salah. Ketika pasar mengkonsolidasi, EMA dapat dengan mudah memberikan sinyal yang salah. Pada saat ini, peran konfirmasi MACD sangat penting. Selain itu, perlu meningkatkan perkalian stop loss CDC dengan tepat untuk mengatasi kesenjangan harga yang besar yang disebabkan oleh peristiwa mendadak.

Arahan Optimasi

  1. Uji kombinasi yang berbeda dari parameter periode EMA untuk menemukan pengaturan optimal
  2. Uji ukuran perkalian stop loss CDC yang berbeda
  3. Cobalah memasukkan indikator lain untuk menyaring waktu masuk
  4. Menambahkan mekanisme untuk menangani peristiwa pasar tiba-tiba

Ringkasan

Strategi ini memanfaatkan keuntungan dari indikator tren dan volatilitas untuk mengidentifikasi peluang potensial dalam sekuritas. Melalui optimasi parameter dan perbaikan mekanisme, strategi ini memiliki potensi untuk lebih meningkatkan stabilitas dan profitabilitas.


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