
Artikel ini membahas strategi perdagangan yang menggabungkan dua indikator teknis MACD dan Supertrend. Strategi ini menggunakan sinyal persilangan MACD dan arah tren Supertrend untuk menilai kapan masuk dan keluar untuk mendapatkan keuntungan dalam situasi tren. Ide utama strategi ini adalah melakukan lebih banyak ketika Supertrend forks emas MACD adalah hijau, melakukan lebih banyak ketika MACD forks mati dan Supertrend kosong ketika merah, dan garis sinyal MACD dengan garis MACD yang bersilang sebagai sinyal posisi.
Strategi ini menggunakan indikator MACD dan indikator Supertrend untuk menghasilkan sinyal perdagangan. MACD diperoleh dengan mengurangi rata-rata bergerak cepat (default 12th) minus rata-rata bergerak lambat (default 26th) dan menghitung rata-rata bergerak 9 hari MACD sebagai garis sinyal. Ketika MACD melintasi garis sinyal di atas, formasi garpu emas, adalah sinyal multiply; ketika MACD melintasi garis sinyal di bawah, formasi garpu emas, adalah sinyal kosong. Indikator Supertrend dikombinasikan dengan indikator tingkat fluktuasi ATR, menunjukkan tren naik ketika harga lebih tinggi dari garis Supertrend dan garis Supertrend adalah hijau, menunjukkan tren turun ketika harga lebih rendah dari garis Supertrend dan garis Supertrend adalah merah.
Artikel ini memperkenalkan strategi perdagangan berdasarkan indikator MACD dan indikator Supertrend, yang menggunakan penilaian tren MACD dan penyaringan arah Supertrend, untuk berdagang dalam situasi tren, sekaligus memanfaatkan sinyal garis persilangan dan posisi terdepan untuk mengendalikan penarikan balik. Keuntungan dari strategi ini adalah kesederhanaan logika, kemampuan menangkap tren yang kuat, tetapi juga ada risiko penerapan parameter, keterlambatan sinyal, dan perdagangan yang sering.
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="MACD + Supertrend Strategy", overlay=true)
// MACD Calculation
fastLength = 12
slowLength = 26
signalSmoothing = 9
macdSrc = close
// MACD Line
fastMA = ta.ema(macdSrc, fastLength)
slowMA = ta.ema(macdSrc, slowLength)
macdLine = fastMA - slowMA
// MACD Signal Line
signalMA = ta.ema(macdLine, signalSmoothing)
// MACD Histogram
histogram = macdLine - signalMA
// Supertrend Calculation
supertrendATRLength = 10
supertrendFactor = 3.0
[supertrend, _] = ta.supertrend(supertrendFactor, supertrendATRLength)
// Entry and Exit Conditions
longCondition = (macdLine > signalMA) and (supertrend < close)
shortCondition = (signalMA > macdLine) and (supertrend > close)
// Long Entry
if longCondition
strategy.entry("Long", strategy.long)
// Long Exit (Sell)
if signalMA > macdLine
strategy.close("Long")
// Short Entry
if shortCondition
strategy.entry("Short", strategy.short)
// Short Exit (Cover)
if macdLine > signalMA
strategy.close("Short")
// Close Long Position if short condition is met
if shortCondition
strategy.close("Long")
// Close Short Position if long condition is met
if longCondition
strategy.close("Short")
// Plotting
plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Long")
plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Short")
// Alerts
alertcondition(longCondition, title='Long Entry Signal', message='MACD crossover and Supertrend below close price')
alertcondition(signalMA > macdLine, title='Long Exit Signal', message='MACD signal line crosses above MACD line')
alertcondition(shortCondition, title='Short Entry Signal', message='MACD crossunder and Supertrend above close price')
alertcondition(macdLine > signalMA, title='Short Exit Signal', message='MACD line crosses above MACD signal line')