
Chiến lược đảo ngược đường dài MACD là một chiến lược sử dụng chỉ số MACD để xác định giá đảo ngược đường dài và giao dịch đường dài. Chiến lược này sử dụng đường SMA nhanh và đường SMA chậm của MACD để xây dựng chỉ số MACD và sử dụng hình dạng đảo ngược đường trụ của chỉ số MACD để xác định cơ hội biến đổi đường dài tiềm năng.
Chiến lược này sử dụng EMA 6 ngày làm đường MACD nhanh, EMA 26 ngày làm đường MACD chậm, chênh lệch giữa đường nhanh và đường chậm là MACD, sau đó tính toán SMA 9 ngày của MACD thành đường tín hiệu. Điểm chênh lệch của đường nhanh chậm là đường cột đại diện cho cân bằng thời gian bằng 0, tăng giá cho đường dài tích cực và giảm giá cho đường dài tiêu cực.
Lập luận giao dịch của chiến lược này là: khi đường cột của MACD tăng lên trên đường cột trước đó (sự chênh lệch mở rộng), cho rằng giá sẽ đảo ngược sang đường cột dài tăng lên (thời gian mua); khi đường cột của MACD giảm xuống trên đường cột trước đó (sự chênh lệch thu hẹp), cho rằng giá sẽ đảo ngược sang đường dài giảm xuống (thời gian bán). Để lọc tín hiệu giả, chiến lược này sẽ chờ đợi hai đường cột thực sự đảo ngược lại.
Chiến lược đảo ngược đường dài của MACD để nắm bắt cơ hội đảo ngược đường dài của giá bằng cách đánh giá sự đảo ngược của đường trụ MACD. Chiến lược này đã kiểm soát thành công các xung đột trong chu kỳ dài và ngắn, và tránh các vấn đề theo đuổi đợt tăng và giảm. Tuy nhiên, chiến lược đảo ngược đường dài của MACD cũng có một số hạn chế như một chiến lược chỉ số duy nhất, vẫn còn không gian để tối ưu hóa hơn nữa, đặc biệt là khi được sử dụng với các chỉ số khác.
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TheGrindToday
//@version=4
strategy("MACD Long Strat", overlay=false)
//fast = 12, slow = 26
fast = 6, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA - slowMA
signal = sma(macd, 9)
histogram = macd-signal
macdpos = histogram[0] > 0
macdneg = histogram[0] < 0
histogram_reversing_negative = histogram[1] > histogram[2]
LongEntryCondition = histogram > histogram[1]
ShortEntryCondition = histogram < histogram[1]
exitConditionLong = histogram[0] < histogram[2]
if (LongEntryCondition and histogram_reversing_negative)
strategy.entry("Long", strategy.long)
if (exitConditionLong)
strategy.close("Long")
plot(histogram)