Strategi perdagangan crossover MACD adalah strategi yang mengikuti tren. Strategi ini menggunakan penyeberangan garis rata-rata bergerak cepat dan lambat sebagai sinyal beli dan jual. Ketika garis rata-rata bergerak cepat melintasi di atas garis rata-rata bergerak lambat, sinyal beli dihasilkan. Ketika garis rata-rata bergerak cepat melintasi di bawah garis rata-rata bergerak lambat, sinyal jual dihasilkan.
Indikator MACD adalah perbedaan antara dua garis rata-rata bergerak dengan parameter yang berbeda, yang mencerminkan perubahan momentum harga. Secara khusus, ini adalah perbedaan antara garis rata-rata bergerak cepat (parameter default adalah garis 12 hari) dan garis rata-rata bergerak lambat (parameter default adalah garis 26 hari), yang disebut bar MACD. Untuk menghilangkan osilasi, indikator MACD juga memperkenalkan garis DEA atau garis sinyal, biasanya rata-rata bergerak tertimbang 9 hari dari MACD.
Ketika bar MACD menembus garis DEA dari bawah ke atas dan memasuki area positif, itu menunjukkan bahwa garis rata-rata jangka pendek melintasi di atas garis rata-rata jangka panjang, menunjukkan bahwa tren harga berputar ke atas dan sinyal beli dihasilkan. Ketika MACD jatuh dari atas ke bawah melalui garis DEA dan memasuki area negatif, itu menunjukkan bahwa garis rata-rata jangka pendek melintasi di bawah garis rata-rata jangka panjang dan tren harga berputar ke bawah, menghasilkan sinyal jual.
Strategi ini menggunakan persilangan bar MACD dan garis DEA untuk menentukan waktu pembelian dan penjualan.
Keuntungan dari strategi ini meliputi:
Strategi ini juga memiliki beberapa risiko:
Untuk mengurangi risiko, parameter dapat disesuaikan, atau dikombinasikan dengan indikator lain seperti indikator volume dan volatilitas.
Strategi ini dapat dioptimalkan dalam aspek berikut:
Optimasi parameter untuk menemukan parameter optimal sambil menghindari overoptimization.
Menggabungkan dengan indikator lain untuk membentuk strategi kombinasi yang lebih kuat.
Menetapkan stop loss yang tepat dan mengambil poin keuntungan untuk mengontrol risiko secara efektif.
Optimalisasi adaptif untuk menerapkan strategi ini ke pasar dan kerangka waktu yang berbeda berdasarkan kondisi aktual.
Strategi perdagangan crossover MACD menangkap perubahan tren dengan biaya rendah dengan mengikuti tren harga. Ini sederhana, praktis dan mudah diterapkan, menjadikannya strategi starter yang cocok untuk pemula. Tetapi strategi ini juga memiliki beberapa kelemahan. Dengan terus mengoptimalkan dan meningkatkan, efek sebenarnya dari strategi ini dapat lebih baik.
/*backtest start: 2022-12-29 00:00:00 end: 2024-01-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("MACD Strategy by Forbes",default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=false) fastLength = input(20) slowlength = input(40) MACDLength = input(4) // === INPUT BACKTEST RANGE === FromYear = input(defval = 2011, title = "From Year", minval = 2009) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2009) ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 f1 = plot(MACD,color=red) s1 = plot(aMACD,color=blue) plotColor = if delta > 0 delta > delta[1] ? lime : green else delta < delta[1] ? maroon : red plot(delta, color=plotColor, style=columns) if (crossover(delta, 0)) strategy.entry("Buy", true, when=window(), comment="Buy") if (crossunder(delta, 0)) strategy.close_all(when=window()) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)