
Strategi ini menggunakan indikator MACD untuk membangun sinyal perdagangan garis panjang, melakukan lebih banyak ketika indikator MACD berada di bawah tingkat tertentu, memanfaatkan peluang perdagangan reversal untuk mendapatkan keuntungan.
Ketika MACD indikator garis di bawah garis sinyal SIGNAL dan MACD nilai mutlak di bawah -0.00025 menghasilkan sinyal yang lebih banyak. Setelah melakukan lebih banyak, jika MACD garis kembali melewati garis SIGNAL adalah posisi yang sama.
Strategi ini menggunakan indikator MACD untuk mendeteksi zona oversold, berdasarkan teori garis rata-rata, probabilitas harga saham akan berbalik dalam waktu dekat, dan berdasarkan probabilitas ini untuk membuat sinyal poling.
Risiko ini dapat dikurangi dengan parameter optimasi.
Strategi ini menggunakan indikator MACD untuk menentukan probabilitas reversal yang terbentuk di area oversold untuk membuat beberapa sinyal, dan mendapatkan keuntungan dengan cara memegang posisi panjang. Mengoptimalkan parameter MACD dan meningkatkan keandalan mekanisme stop loss. Secara keseluruhan, menggunakan indikator dan aturan yang lebih sederhana untuk membangun strategi kuantitatif yang mudah dipahami dan diterapkan.
//@version=3
strategy(title="MACD - EURUSD", shorttitle="MACD EURUSD")
// Getting inputs
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input(title="Signal Smoothing", minval = 1, maxval = 50, defval =9)
sma_source = input(title="Simple MA(Oscillator)", type=bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
longCond = crossover(macd, signal) and macd < -0.00025
exitLong = crossover(macd, hist)
strategy.entry("long", strategy.long, when=longCond==true)
strategy.close("long", when=exitLong==true)