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.
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.
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.
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.
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")