
Chiến lược này kết hợp các chỉ số đường trung bình di chuyển và MACD để thiết kế một chiến lược đa phương pháp tương đối bảo thủ. Chiến lược này chủ yếu dựa trên việc liệu giá có đứng trên đường trung bình di chuyển đơn giản 200 ngày để đánh giá xu hướng thị trường hay không, sau đó kết hợp với đường trung bình di chuyển 20 ngày của chỉ số và lề vàng của chỉ số MACD để chọn thời gian mua.
Đầu tiên, chiến lược này sử dụng SMA 200 ngày đơn giản để xác định xu hướng giá hiện tại. Nếu giá đóng cửa cao hơn SMA, thị trường sẽ được đánh giá là xu hướng tăng; Nếu giá đóng cửa thấp hơn SMA, thị trường sẽ được đánh giá là xu hướng giảm.
Thứ hai, trong xu hướng tăng, chiến lược bỏ qua các điều kiện của EMA 20 ngày, chỉ khi đường MACD nhanh vượt qua đường chậm lên trên (MACD Gold Fork), thì chiến lược này sẽ sử dụng chiến lược theo dõi xu hướng và giữ nhiều lệnh miễn là MACD giữ Gold Fork. Khi MACD nhanh vượt qua đường chậm dưới (MACD Dead Fork), thì thực hiện dừng lỗ.
Trong xu hướng giảm, chiến lược trở nên bảo thủ, chỉ khi giá vượt qua EMA 20 ngày trên giá đóng cửa và MACD Gold Fork sẽ phát ra tín hiệu mua, tức là cần xác nhận đôi. Tại thời điểm này, MACD vẫn dừng lại khi chết.
Thông qua cơ chế này, chiến lược này sử dụng chiến lược tích cực hơn khi xu hướng rõ ràng (khi giá cao hơn hoặc thấp hơn SMA 200 ngày) và chiến lược thận trọng hơn khi giá nằm trong phạm vi dao động, có thể ngăn chặn hiệu quả các tín hiệu giả dẫn đến giao dịch không cần thiết.
Chiến lược này kết hợp với sự phán đoán xu hướng và cơ chế xác nhận kép, có thể lọc hiệu quả tiếng ồn, tránh tín hiệu giả, do đó giảm giao dịch không cần thiết.
Khi có xu hướng rõ ràng, chiến lược theo dõi xu hướng kịp thời; khi không có xu hướng rõ ràng, chiến lược có thái độ thận trọng có thể giảm tổn thất.
Chiến lược sử dụng chỉ số trung bình di chuyển và MACD để tạo ra tín hiệu mua và bán đáng tin cậy hơn.
Chiến lược hoạt động đơn giản, dễ thực hiện và phù hợp với các nhà đầu tư ở mọi cấp độ.
Chiến lược sử dụng các điều kiện dừng cố định để kiểm soát hiệu quả tổn thất đơn lẻ.
Chiến lược này quá phụ thuộc vào các chỉ số kỹ thuật và không thể đối phó với tình trạng căng thẳng do sự cố bất ngờ gây ra.
Cơ chế xác nhận kép có thể khiến các chiến lược đôi khi bỏ lỡ cơ hội mua hàng.
Chỉ số MACD có sự chậm trễ, có thể gây ra sự chậm trễ trong giao dịch.
Nếu thiết lập điểm dừng lỗ không đúng cách, nó có thể dẫn đến sự mất mát lớn hơn.
200-day SMA không thể xác định chính xác xu hướng dài hạn, có thể xảy ra sai lầm.
Đường trung bình di chuyển được sử dụng như một bộ lọc để tạo ra các tín hiệu giao dịch quá nhỏ.
Bạn có thể xem xét kết hợp các chỉ số khác như KDJ, Blink và các chỉ số khác để tín hiệu mua và bán chính xác hơn.
Bạn có thể thử các đường trung bình dài khác, chẳng hạn như đường EMA 120 ngày, để xem có thể đánh giá tốt hơn về xu hướng dài hạn hay không.
Bạn có thể tối ưu hóa số ngày của đường trung bình di chuyển để tìm các tham số tốt nhất.
Bạn có thể tham gia vào chiến lược dừng lỗ thay vì chỉ dựa vào dừng lỗ để khóa lợi nhuận nhiều hơn.
Các tham số đường trung bình có thể được điều chỉnh cho các thị trường khác nhau để chiến lược có thể thích ứng hơn.
Có thể xem xét thêm thuật toán học máy, sử dụng mô hình đào tạo dữ liệu lịch sử, tự động tối ưu hóa tham số.
Chiến lược này tích hợp các lợi thế của các chỉ số trung bình di chuyển và MACD, trong khi vẫn còn tương đối đơn giản, điều này mang lại sự kiểm soát rủi ro tốt hơn. Bằng cách đánh giá xu hướng và xác nhận kép, có thể lọc hiệu quả các tín hiệu tiếng ồn. Tuy nhiên, chiến lược cũng có một số hạn chế, cần được tối ưu hóa hơn nữa và nâng cao khả năng đối phó với các sự kiện bất ngờ.
/*backtest
start: 2023-10-15 00:00:00
end: 2023-10-22 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title="MACD/EMA Long Strategy",overlay=true,scale=scale.left)
// SMA Indicator - Are we in a Bull or Bear market according to 200 SMA?
SMA = sma(close, input(200))
// EMA Indicator - Are we in a rally or not?
EMA = ema(close, input(20))
//MACD Indicator - Is the MACD bullish or bearish?
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
// Set Buy/Sell conditions
[main,signal,histo]=macd(close,fastLength,slowlength,MACDLength)
buy_entry= if close>SMA
delta>0
else
delta>0 and close>EMA
strategy.entry("Buy",true , when=buy_entry)
alertcondition(delta, title='Long', message='MACD Bullish')
sell_entry = if close<SMA
delta<0
else
delta<0 and close<EMA
strategy.close("Buy",when= sell_entry)
alertcondition(delta, title='Short', message='MACD Bearish')
//plot(delta, title="Delta", style=cross, color=delta>=0 ? green : red )