
Chiến lược động lực MACD là một chiến lược theo dõi xu hướng ngắn hạn dựa trên chỉ số MACD. Nó sử dụng đường MACD và đường tín hiệu để đánh giá sự thay đổi trong xu hướng giá để nắm bắt động lực giá ngắn hạn. Ưu điểm của chiến lược là hoạt động đơn giản, có thể theo dõi xu hướng ngắn hạn một cách hiệu quả; nhược điểm là dễ gây ra giao dịch quá mức.
Chiến lược này sử dụng đường MACD và đường tín hiệu của chỉ số MACD, cùng với giá cao nhất và giá thấp nhất để thiết lập tiêu chuẩn đầu vào, dừng lỗ và dừng.
Cụ thể, khi MACD trực tuyến đi qua đường tín hiệu, tạo ra dấu hiệu golden cross, được coi là tín hiệu mua, làm nhiều; khi MACD trực tuyến đi qua đường tín hiệu, tạo ra dấu hiệu dead cross, được coi là tín hiệu bán, ngang.
Tiêu chuẩn dừng lỗ được thiết lập là giá thấp nhất của một thanh gần nhất, tiêu chuẩn dừng lỗ được thiết lập là giá cao nhất của 3 thanh gần nhất.
Có thể tối ưu hóa và cải tiến bằng cách điều chỉnh tham số MACD, thêm điều kiện lọc và thu nhỏ phạm vi dừng.
Chiến lược động lực MACD là một chiến lược theo dõi xu hướng ngắn hạn đơn giản. Nó sử dụng chỉ số MACD để xác định sự thay đổi động lực giá, nhanh chóng bắt được các xu hướng ngắn hạn, phù hợp với các nhà giao dịch tích cực theo đuổi lợi nhuận ngắn hạn. Chiến lược này được sử dụng đơn giản và dễ dàng hoạt động, nhưng cũng có rủi ro giao dịch quá mức và dừng lỗ. Bằng phương tiện tối ưu hóa tham số, thêm bộ lọc, cải thiện quản lý vị trí, các phương tiện khác, bạn có thể tăng cường chiến lược này và kiểm soát thêm rủi ro để tăng lợi nhuận.
/*backtest
start: 2022-10-15 00:00:00
end: 2023-10-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MACD Momentum Strategy", overlay=true)
// MACD settings
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// Entry criteria
enterLong = ta.crossover(macdLine, signalLine)
// Exit criteria
exitLong = ta.crossunder(macdLine, signalLine)
// Calculate stop-loss and take-profit levels
stopLossLevel = ta.lowest(low, 1)
takeProfitLevel = ta.highest(high, 3)
// Execute the strategy
if (enterLong)
strategy.entry("Buy", strategy.long)
if (exitLong)
strategy.close("Buy")
strategy.exit("Take Profit/Stop Loss", "Buy", loss=stopLossLevel, profit=takeProfitLevel)
// Plot the MACD and signal line
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")