Hull Moving Average Trend Theo chiến lược

Tác giả:ChaoZhang, Ngày: 2023-11-02 14:57:37
Tags:

img

Tổng quan

Chiến lược này dựa trên chỉ số Hull Moving Average để xây dựng một xu hướng sau hệ thống giao dịch. Nó quyết định đi dài hoặc đi ngắn dựa trên hướng của đường cong Hull, làm cho nó trở thành một chiến lược theo đuổi xu hướng điển hình.

Chiến lược logic

Chiến lược này sử dụng trung bình chuyển động Hull như là chỉ số kỹ thuật chính. Trung bình chuyển động Hull được đề xuất bởi nhà giao dịch người Mỹ Alan Hull vào năm 2005.

Cụ thể, trung bình di chuyển Hull chứa hai trung bình - một là trung bình di chuyển MA ((n) của giai đoạn n, một là trung bình di chuyển MA ((n/2) của giai đoạn n/2. Sự khác biệt giữa hai trung bình di chuyển tạo thành đường cong khác biệt Hull.

Khi đường cong Hull dốc lên, đường trung bình động thời gian ngắn hơn vượt qua trên đường dài hơn, tạo ra tín hiệu dài. Khi đường cong Hull dốc xuống, đường MA ngắn hơn vượt qua dưới đường MA dài hơn, tạo ra tín hiệu ngắn.

Chiến lược này thiết lập giai đoạn n của đường cong Hull thành 16. Nó tính toán MA 8 giai đoạn (n/2=8), MA 16 giai đoạn và sự khác biệt giữa chúng để có được đường cong Hull. Sau đó nó lấy MA 4 giai đoạn (phân gốc vuông của n=4) của chính đường cong Hull. Khi đường cong Hull vượt lên, nó sẽ dài. Khi đường cong Hull vượt xuống, nó sẽ ngắn.

Phân tích lợi thế

So với các đường trung bình động thông thường, đường trung bình động Hull có những lợi thế sau:

  1. Bằng cách sử dụng hàm gốc vuông, đường cong Hull ôm hành động giá gần hơn và nhanh hơn để bắt được sự đảo ngược xu hướng.

  2. Giảm các đường chéo sai. Các MAs truyền thống có xu hướng tạo ra nhiều đường chéo sai hơn.

  3. Một hệ thống hai MA cần tối ưu hóa hai thông số.

  4. Có thể tùy chỉnh. Giá trị n của đường cong Hull có thể được điều chỉnh cho các thị trường khác nhau và tùy chỉnh để phù hợp với các công cụ khác nhau.

  5. Hệ thống: Hệ thống Hull mạnh mẽ và tránh lựa chọn bằng tay, tuân thủ tính nhất quán của các hệ thống giao dịch cơ khí.

Phân tích rủi ro

Mặc dù có những lợi thế so với các hệ thống trung bình động, hệ thống Hull vẫn mang những rủi ro sau:

  1. Là một chiến lược theo đuổi xu hướng, hệ thống Hull có xu hướng dừng lại trong những thay đổi xu hướng mạnh mẽ.

  2. Khả năng giao dịch quá mức: Phản ứng nhanh của đường cong Hull có thể làm tăng tần suất giao dịch và dẫn đến giao dịch quá mức.

  3. Tối ưu hóa quá mức các tham số. Chỉ có một tham số n có thể dẫn đến rủi ro phù hợp đường cong từ tối ưu hóa quá mức.

  4. Hiệu quả khác nhau giữa các công cụ. Hệ thống Hull hoạt động kém hơn đối với các công cụ biến động cao. Các thông số cần phải được điều chỉnh phù hợp.

Hướng dẫn cải thiện

Dựa trên những hạn chế trên, chiến lược trung bình động của Hull có thể được cải thiện trong các khía cạnh sau:

  1. Thêm bộ lọc với các chỉ số bổ sung để tránh chéo sai. MACD, KD vv có thể giúp đánh giá xu hướng.

  2. Thêm các chiến lược dừng lỗ để kiểm soát lỗ giao dịch duy nhất, ví dụ như dừng lại hoặc dừng lợi nhuận.

  3. Tối ưu hóa lựa chọn tham số n để ngăn ngừa tối ưu hóa quá mức. Phân tích đi trước có thể được sử dụng để tối ưu hóa lăn.

  4. Sử dụng các mô hình học máy như RNN để tối ưu hóa động các giá trị tham số.

  5. Tối ưu hóa các tham số riêng biệt cho các dụng cụ khác nhau bằng cách sử dụng cài đặt máy học.

  6. Tối ưu hóa kích thước vị trí để giảm tần suất giao dịch.

Kết luận

Chiến lược trung bình di chuyển Hull là một chiến lược theo xu hướng điển hình. Mặc dù có những lợi thế so với MAs, nhưng nó vẫn phải đối mặt với các vấn đề như tối ưu hóa quá mức và giao dịch quá mức. Chúng ta có thể cải thiện chiến lược thông qua tối ưu hóa tham số, dừng lỗ, kích thước vị trí vv. Hệ thống Hull đơn giản và thực tế. Nó xứng đáng được nghiên cứu và nâng cao hơn nữa bằng cách kết hợp nhiều chỉ số và kỹ thuật hơn để xây dựng một hệ thống giao dịch mạnh mẽ.


/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's HullMA Strategy", shorttitle = "HullMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
n = input(title = "HullMA period", defval=16)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//HullMA
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?green:red
ma=plot(n1,color=c)
    
//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if n1 > n2
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if n1 < n2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
if true
    strategy.close_all()

Thêm nữa