
Chiến lược này sử dụng chỉ số MACD để xây dựng tín hiệu giao dịch đường dài, làm nhiều hơn khi chỉ số MACD thấp hơn một mức nhất định và tận dụng cơ hội giao dịch đảo ngược.
Khi đường chỉ số MACD thấp hơn đường tín hiệu SIGNAL và giá trị tuyệt đối của MACD thấp hơn -0.00025, sẽ tạo ra tín hiệu nhiều. Sau khi làm nhiều, nếu đường MACD đi qua đường tín hiệu một lần nữa, thì sẽ hòa vốn.
Chiến lược này sử dụng chỉ số MACD để phát hiện khoảng bán tháo, theo lý thuyết đường trung bình, giá cổ phiếu có xác suất đảo ngược trong thời gian ngắn, và dựa trên xác suất này, thiết lập tín hiệu đa.
Bạn có thể giảm thiểu rủi ro này bằng cách tối ưu hóa các tham số.
Chiến lược này sử dụng chỉ số MACD để xác định xác suất đảo ngược trong phạm vi bán tháo, tạo ra nhiều tín hiệu và kiếm lợi nhuận bằng cách giữ vị trí dài. Các tham số MACD được tối ưu hóa và cơ chế dừng lỗ được tăng độ tin cậy. Nhìn chung, sử dụng các chỉ số và quy tắc đơn giản hơ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)