Tài nguyên đang được tải lên... tải...

Chiến lược đột phá của HMA

Tác giả:ChaoZhang, Ngày: 2024-01-04 15:34:52
Tags:

img

II. Tổng quan chiến lược

Chiến lược này sử dụng chỉ số HMA (Hull Moving Average) và phân tích kỹ thuật của K-line để nhận ra phán đoán động lực và các hoạt động đột phá về giá cả.

III. Nguyên tắc chiến lược

  1. Nguyên tắc chỉ số HMA

Chỉ số HMA được tạo ra bởi Alan Hull vào năm 2005 để tạo ra một đường trung bình động vừa nhạy vừa trơn tru. Phương pháp tính toán của nó là:

(1) Tính toán DMA trung bình Doppel Smoothing của nửa chu kỳ

(2) Tính toán SMA trung bình toàn chu kỳ

(3) Tính toán sự khác biệt DIFF giữa DMA và SMA

(4) Tính toán đường trung bình chu kỳ SQRT ((thời gian) của DIFF để có được HMA

  1. Chiến lược giao dịch

Chiến lược sử dụng các bước đột phá tăng và giảm của chỉ số HMA làm tín hiệu, kết hợp với bước đột phá của phần thực thể của đường K, để tạo ra tín hiệu mua và bán. Đồng thời, đặt nguyên tắc dừng lỗ và lấy lợi nhuận để theo dõi tình hình lợi nhuận và lỗ trong thời gian thực để bảo vệ lợi nhuận.

IV. Ưu điểm của chiến lược

  1. Đặc điểm hội tụ của chỉ số HMA làm cho nó cực kỳ nhạy cảm với sự thay đổi giá đồng thời duy trì sự trơn tru của đường trung bình động để tránh các tín hiệu sai.

  2. Cơ chế đột phá đôi cải thiện độ tin cậy của tín hiệu và tránh bị mắc kẹt.

  3. Động thái dừng lỗ và bảo vệ lợi nhuận tối ưu hóa rủi ro và lợi nhuận.

  4. Giao dịch tự động hoàn toàn đơn giản hóa các hoạt động.

V. Rủi ro của chiến lược

  1. Trong biến động thị trường dữ dội, xác suất dừng lỗ bị ảnh hưởng lớn hơn.

  2. Tần suất giao dịch cao làm tăng chi phí hoa hồng.

  3. Cài đặt tham số không đúng có thể tạo ra rất nhiều tín hiệu sai.

Giải pháp

  1. Tối ưu hóa các điều kiện dừng lỗ và lấy lợi nhuận và thiết lập các mức khôi phục hợp lý.

  2. Điều chỉnh tần suất giao dịch để giảm tác động hoa hồng.

  3. Kiểm tra và tối ưu hóa chu kỳ HMA và điều kiện đột phá để xác định các thông số tối ưu.

VI. Định hướng tối ưu hóa chiến lược

  1. Bao gồm các chỉ số đánh giá xu hướng để tránh giao dịch ngược xu hướng.

  2. Tăng sự đánh giá tự động về chuyển đổi nguồn dữ liệu để thích nghi với nhiều môi trường thị trường hơn.

  3. Tăng các thuật toán học máy để đạt được tối ưu hóa tham số tự động.

  4. triển khai trên máy chủ để đạt được xác minh giao dịch trực tiếp 24 giờ.

VII. Tóm tắt

Chiến lược đột phá đà HMA sử dụng những lợi thế độc đáo của trung bình động Hull để nắm bắt chính xác đà thị trường. Cơ chế lọc đột phá kép cải thiện chất lượng tín hiệu, và dừng lợi nhuận và dừng lỗ năng động bảo vệ thu nhập. Chiến lược này dễ sử dụng, hiệu quả và là một công cụ giao dịch định lượng rất thực tế đáng được quảng bá.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//SeaSide420
strategy("Hull Moving Average and Daily Candle Crossover", shorttitle="Hull&D", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=720, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
// settings----------------------
q=input(title="HullMA",defval=5)
SL = input(defval=-10000.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=500.00, title="Target Point in $", type=float, step=1)
price=input(ohlc4,title="Price data")
ot=1
p=price[1]
// Daily candle crossover---------
dt = 0.0010
Daily=(p-p[1])/p[1]
//--------------------------------
// Hull MA's----------------------
n2ma=2*wma(p,round(q/2))
nma=wma(p,q)
diff=n2ma-nma
sqn=round(sqrt(q))
n2ma1=2*wma(p[1],round(q/2))
nma1=wma(p[1], q)
diff1=n2ma1-nma1
sqn1=round(sqrt(q))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
//---------------------------------
// Plotting------------------------
z1e=n1>n2?green:black
z2e=n1>n2?black:red
z3e=n1>n2?green:red
n1e=plot(n1, title="HMA1", color=z1e, linewidth=2, offset=2)
n2e=plot(n2, title="HMA2", color=z2e, linewidth=2, offset=2)
fill(n1e, n2e, color=z3e, transp=80)
// Order controls-------------------
closelong = n1<n2 and n1[1]<n2[1] and n1[2]<n2[2] or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n1[1]>n2[1] and n1[2]>n2[2] or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and n1[1]>n2[1] and n1[2]>n2[2] and strategy.opentrades<ot and Daily>dt and close>n1
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and n1[1]<n2[1] and n1[2]<n2[2] and strategy.opentrades<ot and Daily<dt and close<n1 
if (shortCondition)
    strategy.entry("Short",strategy.short)

Thêm nữa