Chiến lược này được đặt tên là Chiến lược theo xu hướng MACD. Đây là một chiến lược định lượng sử dụng chỉ số MACD để xác định xu hướng giá và theo xu hướng giao dịch. Chiến lược nhằm mục đích nắm bắt xu hướng trung và dài hạn và điều chỉnh vị trí kịp thời khi xu hướng đảo ngược xảy ra.
Chiến lược này sử dụng chỉ số MACD để xác định xu hướng giá. MACD là một chỉ số đột phá được hình thành bởi đường EMA nhanh (12 ngày) và đường EMA chậm (26 ngày). Sự khác biệt giữa hai đường này tạo thành biểu đồ MACD, và đường EMA 9 ngày của biểu đồ là đường tín hiệu MACD. Khi đường MACD vượt qua trên đường tín hiệu, đó là một đường chéo vàng, cho thấy xu hướng tăng. Khi đường MACD vượt qua dưới đường, đó là một đường chéo chết, cho thấy xu hướng giảm.
Chiến lược đầu tiên tính toán đường MACD và đường tín hiệu, sau đó tính toán chênh lệch delta giữa hai đường. Khi delta vượt trên 0, một tín hiệu mua được tạo ra. Khi delta vượt dưới 0, một tín hiệu bán được tạo ra. Dựa trên hai tín hiệu này, chiến lược điều chỉnh các vị trí phù hợp. Để lọc tiếng ồn, chiến lược cũng giới thiệu đường EMA - tín hiệu giao dịch hợp lệ chỉ được tạo ra khi giá vượt qua đường EMA này.
Cụ thể, chiến lược logic là:
Với thiết kế này, chiến lược có thể theo dõi xu hướng trung bình đến dài hạn và điều chỉnh nhanh các vị trí khi xu hướng đảo ngược.
Chiến lược có những lợi thế sau:
Có một số rủi ro cần lưu ý:
Giải pháp:
Chiến lược có thể được tối ưu hóa thêm theo các cách sau:
Sự cải thiện đáng kể có thể đạt được thông qua các phương pháp như kết hợp chỉ số, các tham số thích nghi, dừng lỗ / lấy lợi nhuận vv.
Tóm lại, Chiến lược theo xu hướng MACD sử dụng chỉ số MACD đơn giản và hiệu quả để xác định xu hướng trung và dài hạn, và thực hiện một xu hướng rõ ràng theo logic. Nó có khả năng nắm bắt xu hướng cũng như các biện pháp kiểm soát rủi ro hợp lý. Với các tối ưu hóa hơn nữa, chiến lược có thể trở thành một hệ thống giao dịch lượng rất thực tế. Nó phù hợp với các nhà đầu tư tìm kiếm lợi nhuận lâu dài ổn định hơn lợi nhuận ngắn hạn.
/*backtest start: 2022-11-14 00:00:00 end: 2023-10-27 05:20:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Noro's MACD Strategy v1.0", shorttitle = "MACD str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(false, defval = false, title = "Short") usefil = input(false, defval = false, title = "Use EMA filter") lenfil = input(5, defval = 5, minval = 1, maxval = 50, title = "EMA filter period") fastLength = input(12) slowlength = input(26) MACDLength = input(9) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD //Signals ema = ema(close, lenfil) trend = crossover(delta, 0) == true ? 1 : crossunder(delta, 0) == true ? -1 : trend[1] up = trend == 1 and (low < ema or usefil == false) ? 1 : 0 dn = trend == -1 and (high > ema or usefil == false) ? 1 : 0 plot(ema, color = black, transp = 0) if (up == 1) strategy.entry("Long", strategy.long, needlong == false ? 0 : na) if (dn == 1) strategy.entry("Short", strategy.short, needshort == false ? 0 : na)