
EMA MACD Tracking Strategy adalah strategi perdagangan kuantitatif yang menggabungkan Indeks Moving Average (EMA) dan Moving Average Trend Scatter Indicator (MACD). Strategi ini digunakan pada carta 5 minit untuk menangkap trend harga jangka pendek dan perubahan pergerakan, yang membolehkan perdagangan dengan kadar kemenangan yang tinggi. Dengan memanfaatkan ciri-ciri tindak balas cepat EMA dan keupayaan pengenalan pergerakan MACD, strategi ini dapat menghantar isyarat perdagangan tepat pada masanya apabila trend pasaran berubah.
Prinsip utama strategi ini adalah berdasarkan dua petunjuk teknikal utama: EMA dan MACD. Pertama, menggunakan EMA dengan dua kitaran yang berbeza ((9 kitaran dan 21 kitaran) untuk mengenal pasti trend harga. Apabila EMA cepat melintasi EMA perlahan di bawah, ia dianggap sebagai isyarat kenaikan yang berpotensi; sebaliknya, ia adalah isyarat penurunan. Kedua, indikator MACD digunakan untuk mengesahkan pergerakan harga.
Strategi ini juga menggabungkan seting stop loss dan profit yang dinamik, menggunakan purata jangkauan sebenar (ATR) untuk menyesuaikan diri dengan turun naik pasaran. Kaedah ini membolehkan parameter pengurusan risiko disesuaikan dengan keadaan pasaran yang berbeza, meningkatkan fleksibiliti dan ketahanan strategi.
EMA MACD Strategi Tracking Motivasi adalah kaedah perdagangan kuantitatif yang menggabungkan analisis teknikal dan pengurusan risiko dinamik. Dengan mengintegrasikan beberapa petunjuk teknikal, strategi ini bertujuan untuk menangkap trend pasaran dan perubahan dinamik dalam jangka pendek, sambil menggunakan ATR untuk mengawal risiko. Walaupun strategi ini menunjukkan kesesuaian dan potensi yang baik, namun perlu berhati-hati dalam menangani risiko seperti overtrading dan perubahan keadaan pasaran.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-09-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA and MACD Strategy for 5-Min Chart", overlay=true)
// Inputs for EMAs
fastLength = input.int(9, title="Fast EMA Length")
slowLength = input.int(21, title="Slow EMA Length")
// Inputs for MACD
macdShortLength = input.int(12, title="MACD Short Length")
macdLongLength = input.int(26, title="MACD Long Length")
macdSignalLength = input.int(9, title="MACD Signal Length")
// Inputs for ATR
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier")
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Calculate MACD
[macdLine, signalLine, macdHist] = ta.macd(close, macdShortLength, macdLongLength, macdSignalLength)
// Calculate ATR
atrValue = ta.atr(atrLength)
// Plot EMAs
plot(fastEMA, color=color.green, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
// Plot MACD
hline(0, "Zero Line", color=color.gray)
plot(macdLine - signalLine, color=color.blue, title="MACD Histogram", style=plot.style_columns)
plot(macdLine, color=color.green, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
// Entry conditions
longCondition = ta.crossover(fastEMA, slowEMA) and ta.crossover(macdLine, signalLine)
shortCondition = ta.crossunder(fastEMA, slowEMA) and ta.crossunder(macdLine, signalLine)
// Execute trades
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Dynamic Stop Loss and Take Profit based on ATR
longSL = strategy.position_avg_price - atrValue * atrMultiplier
longTP = strategy.position_avg_price + atrValue * atrMultiplier * 2
shortSL = strategy.position_avg_price + atrValue * atrMultiplier
shortTP = strategy.position_avg_price - atrValue * atrMultiplier * 2
if (strategy.position_size > 0)
strategy.exit("Take Profit/Stop Loss", "Long", stop=longSL, limit=longTP)
if (strategy.position_size < 0)
strategy.exit("Take Profit/Stop Loss", "Short", stop=shortSL, limit=shortTP)
// Alert conditions
alertcondition(longCondition, title="Long Alert", message="Long Entry Signal")
alertcondition(shortCondition, title="Short Alert", message="Short Entry Signal")