Đây là một chiến lược giao dịch định lượng theo dõi xu hướng bằng cách đánh giá xu hướng tổng thể dựa trên các đường trung bình động và xác định các điểm đột phá bằng cách sử dụng chỉ số động lực HA. Chiến lược này đơn giản và dễ hiểu, sử dụng đường trung bình động để xác định hướng của xu hướng chính và sau đó dựa trên chỉ số động lực HA để xác định các điểm vào cụ thể.
Logic cốt lõi đằng sau chiến lược này liên quan đến việc sử dụng đường trung bình động và chỉ số động lực HA để theo dõi xu hướng.
Đánh giá xu hướng tổng thể: Trung bình di chuyển đơn giản 20 ngày và 200 ngày được tính toán, khi trung bình di chuyển 20 ngày nằm trên (dưới) đường 200 ngày, xu hướng tăng (giảm) được xác định.
Quyết định thời gian nhập cảnh: Chỉ số động lượng HA được tính bằng cách so sánh kích thước của các lỗ thân nến, các giá trị lớn hơn tham số HA_Candle_strength ngụ ý động lực mạnh hơn nơi các vị trí có thể được nhập. Ngoài ra, giá đóng được kiểm tra ở trên / dưới trung bình động 20 ngày để xác định hướng đột phá.
Thiết lập Stop Loss / Take Profit Exits: Các bước ra khỏi chiến lược được xác định dựa trên số tiền lợi nhuận / lỗ.
Thông qua quá trình này, chiến lược có thể nắm bắt các phần trung gian của các xu hướng đã được thiết lập và theo dõi chúng.
Những lợi thế của chiến lược này bao gồm:
Logic đơn giản và rõ ràng dễ hiểu / tối ưu hóa.
Đường trung bình động lọc tiếng ồn và nắm bắt xu hướng chính.
Động lực HA tránh các sự đột phá giả bằng cách đo sức mạnh đột phá.
Độ chính xác thời gian vào được cải thiện thông qua sự kết hợp của hướng xu hướng và động lực.
Định nghĩa stop loss/take profit exit kiểm soát rủi ro giao dịch duy nhất.
Rủi ro chính đối với chiến lược này:
Các tín hiệu chéo thường xuyên có thể dẫn đến giao dịch xấu trên các thị trường khác nhau.
Cài đặt tham số không phù hợp có thể dẫn đến các giao dịch bị bỏ lỡ hoặc tín hiệu sai.
Không thể thích nghi với tất cả các loại chế độ thị trường, có thể phải đối mặt với tổn thất lớn hơn trong các thị trường bên cạnh.
Việc không xác định kịp thời các điểm đảo ngược xu hướng có thể dẫn đến tổn thất tăng cường.
Các giải pháp tương ứng:
Các bộ lọc bổ sung để loại bỏ các tín hiệu không hợp lệ.
Kiểm tra tối ưu hóa tham số để tìm kết hợp tham số lý tưởng.
Bao gồm các chỉ số biến động để tránh sai lầm trong thị trường hỗn loạn.
Sử dụng lệnh dừng lỗ thích nghi để khóa lợi nhuận.
Các cải tiến khác cho chiến lược này:
Sử dụng thời gian trung bình động thích nghi thay vì các giá trị cố định để cải thiện độ bền.
Thêm bộ lọc âm lượng để tránh tín hiệu khi niềm tin thị trường yếu.
Tự động tối ưu hóa các tham số thông qua máy học để tăng sự ổn định.
Động lực dừng lỗ thay vì dừng lỗ tĩnh để nắm bắt lợi nhuận.
Bao gồm nhiều chỉ số đánh giá chất lượng và điều kiện thị trường.
Tóm lại, đây là một chiến lược theo xu hướng dựa trên việc xác định hướng của xu hướng hiện hành với đường trung bình động và sử dụng động lực HA cho các tín hiệu nhập cảnh thời gian. Logic đơn giản và rõ ràng, cung cấp việc tạo tín hiệu chính xác trong quá trình tiến triển xu hướng. Có một số hạn chế cần phải được giải quyết thông qua tối ưu hóa hơn nữa và các bộ lọc bổ sung, nhưng nói chung chiến lược này phục vụ như một ví dụ giới thiệu tốt cho các nhà giao dịch lượng tham vọng để học hỏi.
/*backtest start: 2023-12-03 00:00:00 end: 2023-12-10 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("HA Trend Following", overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 2) //parameters input Trend_DIR_MA = input(defval = 200, title = "MA for trend direction") HA_Candle_strength = input(defval = 2, title = "HA candle strength") Rng = abs(open - close) // HA_Momentum - size of break out body HA_Momentum = sma(Rng, 1) / sma(Rng, 5) plot(HA_Momentum, color=green, linewidth=1, style=line) plot(HA_Candle_strength, color= blue) // open position longCondition = close > sma(close, 20) and (sma(close, 20) > sma(close, Trend_DIR_MA) )and HA_Momentum > HA_Candle_strength and close - open > 0 if (longCondition) strategy.entry(id = "Lng", long = true) ShortCondition = close < sma(close, 20) and (sma(close, 20) < sma(close, Trend_DIR_MA) ) and HA_Momentum > HA_Candle_strength and close - open < 0 if (ShortCondition) strategy.entry(id = "Shrt", long = false) // close position strategy.exit("ExL", from_entry = "Lng", loss = 500 , profit = 1500) strategy.exit("ExS", from_entry = "Shrt", loss = 500 , profit = 1500)