
Chiến lược định lượng chuyển động chéo trung bình Hull là một hệ thống theo dõi xu hướng dựa trên Hull Moving Average (HMA). Chiến lược này sử dụng mối quan hệ giữa HMA tiêu chuẩn và phiên bản phẳng của HMA (HMA3) để xác định sự thay đổi xu hướng thị trường và tạo ra khả năng tiếp tục và đảo ngược cao trong điều kiện thị trường bò và gấu. Bằng cách so sánh hai trung bình chuyển động có độ phẳng khác nhau, chiến lược này có thể giảm thiểu hiệu quả tiếng ồn thị trường, trong khi vẫn giữ được sự nhạy cảm với sự thay đổi của giá cả.
Nguyên tắc cốt lõi của chiến lược này là so sánh vị trí tương đối giữa các trung bình di chuyển của Hull của hai phương pháp tính toán khác nhau và sự giao nhau của chúng. Các cách thực hiện cụ thể như sau:
Tiêu chuẩn HMA ((biến số a): Sử dụng thuật toán nguyên thủy do William Hull phát triển, để thực hiện trung bình di chuyển nhạy cảm hơn thông qua quá trình tính toán ba bước:
HMA3 ((biến b): sử dụng thuật toán mài mòn phức tạp hơn, thực hiện bằng nhiều kết hợp WMA:
Hình thức tạo tín hiệu:
Hành động thực hiện logic:
Chiến lược cũng bao gồm các thành phần trực quan, chẳng hạn như đường trung bình di chuyển chuyển theo hướng xu hướng và các dấu hiệu tín hiệu mua và bán rõ ràng, giúp các nhà giao dịch hiểu trực quan tình trạng thị trường.
Giảm tiếng ồn thị trường: Hệ thống HMA kép có hiệu quả trong việc lọc các biến động giá ngắn hạn, giảm tín hiệu giả, đồng thời duy trì sự nhạy cảm với sự biến động của xu hướng thực. HMA tiêu chuẩn tự nó đã nhạy cảm hơn so với trung bình di chuyển truyền thống, và kết hợp với HMA dạng mịn làm tăng thêm chất lượng tín hiệu.
Nhận ra xu hướng sớm: Do tính chất của thuật toán trung bình di chuyển của Hull, chiến lược này có thể nhận ra sự thay đổi xu hướng sớm hơn so với trung bình di chuyển truyền thống, do đó cung cấp thời gian nhập cảnh tốt hơn.
Trả lời trực quan rõ ràng: Chiến lược cung cấp mã hóa màu trực quan ((thị trường bò là màu xanh lá cây, thị trường gấu là màu đỏ) và các dấu hiệu tín hiệu mua và bán, cho phép các nhà giao dịch đánh giá nhanh chóng tình trạng thị trường.
Cơ chế giao dịch hoàn chỉnh: Chiến lược không chỉ cung cấp tín hiệu, mà còn bao gồm cả logic quản lý vị trí hoàn chỉnh, tự động xử lý vị trí mở và đóng, thực hiện giao dịch tự động thực sự.
Thiết lập tham số linh hoạt: Người dùng có thể điều chỉnh độ dài và nguồn giá của HMA theo sở thích cá nhân và đặc điểm thị trường để phù hợp với phong cách giao dịch và môi trường thị trường khác nhau.
Hiệu quả tính toán cao: so với các hệ thống đa chỉ số phức tạp, chiến lược này sử dụng tính toán toán học tương đối đơn giản, giảm nguy cơ phù hợp quá mức, trong khi vẫn duy trì hiệu quả thực hiện.
Tín hiệu giả của thị trường rung động: Mặc dù hệ thống HMA kép đã giảm tiếng ồn, nhưng trong thị trường ngang không có xu hướng rõ ràng, tín hiệu chéo thường xuyên vẫn có thể được tạo ra, dẫn đến giao dịch thua lỗ liên tục. Bạn có thể xem xét thêm các điều kiện lọc bổ sung, chẳng hạn như chỉ số tỷ lệ dao động hoặc xác nhận cường độ xu hướng.
Vấn đề về độ trễ: Mặc dù HMA có độ trễ nhỏ hơn so với trung bình di chuyển truyền thống, bất kỳ hệ thống nào dựa trên trung bình di chuyển đều có một số độ trễ, có thể dẫn đến việc bỏ lỡ điểm nhập cảnh hoặc điểm xuất cảnh tốt nhất trong thị trường biến động mạnh.
Tính nhạy cảm của tham số: Hiệu suất chiến lược phụ thuộc rất nhiều vào tham số chiều dài HMA được chọn, các tham số tối ưu khác nhau có thể được yêu cầu cho các thị trường và khung thời gian khác nhau.
Thiếu cơ chế dừng lỗ: Thực hiện chiến lược hiện tại không có chức năng dừng lỗ tích hợp, có thể dẫn đến rút lui đáng kể trong trường hợp xu hướng đột ngột. Cần xem xét thêm điều kiện dừng lỗ, chẳng hạn như dừng dựa trên ATR hoặc dừng thời gian.
Chỉ số đơn phụ thuộc: Chiến lược chỉ dựa vào chỉ số HMA, thiếu phân tích thị trường đa chiều, có thể không hoạt động tốt trong một số điều kiện thị trường. Hãy xem xét kết hợp với các loại chỉ số khác, chẳng hạn như chỉ số động lực hoặc chỉ số dao động, để tăng cường sức mạnh của chiến lược.
Thêm bộ lọc xu hướng: giới thiệu các chỉ số xác nhận xu hướng bổ sung, chẳng hạn như ADX (giá chỉ số hướng trung bình), thực hiện giao dịch chỉ khi xác nhận có xu hướng mạnh, tránh giao dịch thường xuyên của thị trường ngang. Cách thực hiện: Chỉ khi giá trị ADX lớn hơn một ngưỡng thấp (ví dụ 25), tín hiệu chéo HMA được xem xét.
Cơ chế thích ứng tỷ lệ dao động tích hợp: điều chỉnh tham số HMA dựa trên động lực của tỷ lệ dao động của thị trường, sử dụng chu kỳ dài hơn trong môi trường có tỷ lệ dao động cao và chu kỳ ngắn hơn trong môi trường có tỷ lệ dao động thấp. Điều này có thể được thực hiện bằng cách tính ATR (trung bình tỷ lệ dao động thực tế) và lập bản đồ cho tham số chiều dài HMA.
Thực hiện cơ chế dừng lỗ thông minh: Thêm dừng dựa trên ATR hoặc sử dụng dừng di động, chẳng hạn như theo dõi điểm dừng thiết lập di động ngược của HMA, bảo vệ lợi nhuận đã có và hạn chế tổn thất tiềm năng.
Tiết xuất xác nhận khối lượng giao dịch: đưa chỉ số khối lượng giao dịch vào logic tạo tín hiệu, yêu cầu mua tín hiệu đi kèm với khối lượng giao dịch tăng lên, tăng độ tin cậy tín hiệu. Bạn có thể kiểm tra xem khối lượng giao dịch có cao hơn giá trị trung bình n ngày của nó không.
Quản lý vị trí tối ưu hóa: thực hiện điều chỉnh kích thước vị trí dựa trên rủi ro, thay vì phần trăm cố định đầu tư. Các lỗ hổng rủi ro cho mỗi giao dịch có thể được tính theo ATR, đảm bảo rủi ro cho mỗi giao dịch.
Thêm bộ lọc thời gian: Xem xét đặc tính thời gian của thị trường, tránh các thời điểm giao dịch kém hiệu quả được biết đến, chẳng hạn như giờ ăn trưa châu Á hoặc thời kỳ biến động cao trước và sau khi dữ liệu phi nông nghiệp của Mỹ được công bố.
Thêm logic vào đợt tháo gỡ: Chờ một đợt tháo gỡ nhỏ sau khi xác nhận hướng xu hướng, thay vì vào trực tiếp tại các điểm giao thoa, có thể có được giá vào tốt hơn. Điều này có thể được thực hiện bằng cách kiểm tra khoảng cách giữa giá và HMA.
Chiến lược định lượng động lượng chéo trung bình di động kép Hull là một hệ thống theo dõi xu hướng được thiết kế tinh tế, sử dụng mối quan hệ giữa các chỉ số HMA của hai phương pháp tính toán để cung cấp tín hiệu đa luồng rõ ràng. Bằng cách so sánh vị trí tương đối của HMA tiêu chuẩn với HMA3 trơn, chiến lược có thể giảm thiểu tiếng ồn thị trường một cách hiệu quả, đồng thời duy trì sự nhạy cảm với sự thay đổi động lượng giá.
Tuy nhiên, chiến lược này cũng phải đối mặt với các rủi ro như nhiều tín hiệu giả của thị trường xung đột, độ nhạy cao của tham số và thiếu cơ chế dừng lỗ. Bằng cách thêm bộ lọc xu hướng, tích hợp cơ chế thích ứng với tỷ lệ biến động, thực hiện các hướng tối ưu hóa như dừng lỗ thông minh và giới thiệu xác nhận khối lượng giao dịch, bạn có thể cải thiện đáng kể sự ổn định và khả năng lợi nhuận của chiến lược.
Nhìn chung, đây là một khung chiến lược định lượng có nền tảng vững chắc và khả năng mở rộng tốt, phù hợp với người giao dịch theo dõi xu hướng trung hạn và dài hạn, cũng như là thành phần cốt lõi của hệ thống giao dịch phức tạp hơn.
/*backtest
start: 2024-08-04 00:00:00
end: 2025-08-02 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("HMA Strat", shorttitle="HMAstrat", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=1)
// === INPUTS ===
length = input.int(24, minval=1, title="HMA Length")
src = input.source(hl2, "Source")
showSignals = input.bool(true, "Show Buy/Sell Signals")
// === FUNCTIONS ===
hma(_src, _length) =>
wma1 = ta.wma(_src, _length)
wma2 = ta.wma(_src, _length / 2)
rawHMA = 2 * wma2 - wma1
ta.wma(rawHMA, math.round(math.sqrt(_length)))
hma3(_src, _length) =>
p = _length / 2
ta.wma(ta.wma(close, p / 3) * 3 - ta.wma(close, p / 2) - ta.wma(close, p), p)
// === HMA CALCULATIONS ===
a = hma(src, length)
b = hma3(src, length)
// === COLOR LOGIC ===
isBull = b > a
colorLine = isBull ? color.lime : color.red
fillColor = color.new(colorLine, 80)
// === PLOTTING ===
p1 = plot(a, color=colorLine, linewidth=1)
p2 = plot(b, color=colorLine, linewidth=1)
fill(p1, p2, color=fillColor)
// === SIGNALS ===
crossUp = b > a and b[1] < a[1]
crossDown = a > b and a[1] < b[1]
plotshape(showSignals and crossUp, title="Buy Signal", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.green, text="Buy")
plotshape(showSignals and crossDown, title="Sell Signal", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.red, text="Sell")
// === STRATEGY LOGIC ===
// Close opposite position before opening a new one
if crossUp
strategy.close("Short")
strategy.entry("Long", strategy.long)
if crossDown
strategy.close("Long")
strategy.entry("Short", strategy.short)