Strategi ini menggunakan penunjuk MACD untuk membina isyarat perdagangan kedudukan panjang apabila MACD berada di bawah tahap tertentu untuk memanfaatkan peluang pembalikan purata.
Isyarat panjang dihasilkan apabila garis MACD berada di bawah garis SIGNAL dan nilai mutlak MACD di bawah -0.00025. Selepas mengambil kedudukan panjang, jika garis MACD melintasi di atas garis SIGNAL lagi, kedudukan akan ditutup.
Strategi ini menggunakan penunjuk MACD untuk mengesan zon oversold. Menurut teori purata bergerak, terdapat kebarangkalian pembalikan purata dalam jangka pendek, dan isyarat panjang ditubuhkan berdasarkan kebarangkalian ini.
Risiko ini boleh dikurangkan melalui optimalisasi parameter.
Strategi ini menggunakan kebarangkalian pembalikan purata dari tahap oversold yang dikenal pasti oleh penunjuk MACD untuk menjana isyarat panjang, dan keuntungan melalui tempoh penahan yang panjang.
//@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)