Chiến lược này sử dụng chỉ số MACD để xây dựng tín hiệu giao dịch vị trí dài khi MACD dưới một mức nhất định để tận dụng các cơ hội đảo ngược trung bình.
Một tín hiệu dài được tạo ra khi đường MACD nằm dưới đường SIGNAL và giá trị tuyệt đối của MACD dưới -0.00025. Sau khi thực hiện một vị trí dài, nếu đường MACD vượt qua trên đường SIGNAL một lần nữa, vị trí sẽ được đóng.
Chiến lược này sử dụng chỉ số MACD để phát hiện các vùng bán quá mức. Theo lý thuyết trung bình động, có xác suất đảo ngược trung bình trong ngắn hạn, và tín hiệu dài được thiết lập dựa trên xác suất này.
Nguy cơ này có thể được giảm thiểu thông qua tối ưu hóa tham số.
Chiến lược này sử dụng xác suất đảo ngược trung bình từ mức bán quá mức được xác định bởi chỉ số MACD để tạo ra tín hiệu dài và lợi nhuận thông qua thời gian giữ dài. Tối ưu hóa các tham số MACD và thêm stop loss cải thiện độ tin cậy. Tóm lại, nó sử dụng các chỉ số và quy tắc tương đối đơn giản để xây dựng một chiến lược định lượng dễ hiểu và thực hiện.
//@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)