Chiến lược giao dịch theo xu hướng dựa trên Triple Hull Moving Average và Ichimoku Kinko Hyo


Ngày tạo: 2023-12-25 13:40:10 sửa đổi lần cuối: 2023-12-25 13:40:10
sao chép: 0 Số nhấp chuột: 606
1
tập trung vào
1621
Người theo dõi

Chiến lược giao dịch theo xu hướng dựa trên Triple Hull Moving Average và Ichimoku Kinko Hyo

Tổng quan

Chiến lược này kết hợp hai chỉ số Hull Moving Average và bảng cân bằng một mắt để thực hiện một hệ thống giao dịch theo dõi xu hướng. Hệ thống này có thể bắt được xu hướng đường ngắn và trung tâm, giao dịch theo xu hướng.

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

Chiến lược này sử dụng trung bình di chuyển của Hull để xác định xu hướng của giá. Trung bình di chuyển của Hull là một chỉ số để tối ưu hóa trung bình di chuyển để phản ứng nhanh hơn với sự thay đổi giá. Chiến lược sử dụng một hệ thống trung bình di chuyển của Hull ba lần, bao gồm 6 giai đoạn, 3 giai đoạn và 1.5 giai đoạn Hull MA.

Ngoài ra, chiến lược cũng kết hợp các đường chuyển đổi và đường chậm trễ của bảng cân bằng đầu tiên. Hai chỉ số này phản ánh xu hướng đường dài giữa của giá. Chiến lược kết hợp ba Hull MA với các chỉ số bảng cân bằng đầu tiên để tạo ra tín hiệu giao dịch.

Cụ thể, chiến lược này tính toán ba Hull MA: n1, n2, n2ma. và hai chỉ số của bảng cân bằng trực tiếp: leadLine1 và leadLine2. Sau đó tính post1 và post2 làm chỉ số giao dịch cuối cùng.

Khi post1 đi qua post2, làm thêm; khi post1 đi qua post2, làm trống. Như vậy, bạn có thể theo dõi và bắt được xu hướng đường ngắn trong giá, giao dịch theo xu hướng.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Kết hợp hai chỉ số để tăng sự ổn định của hệ thống.
  2. Sử dụng Hull MA để phản ứng nhanh hơn và nắm bắt được sự thay đổi xu hướng.
  3. Chỉ số bảng cân bằng có thể lọc các đột phá giả.
  4. Sử dụng nhiều Hull MA, có thể theo dõi hiệu quả xu hướng đường ngắn trong giá.
  5. Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và tối ưu hóa.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Trong một trận động đất, có thể có nhiều tín hiệu sai.
  2. Thiết lập tham số không đúng cách có thể dẫn đến hiệu suất chiến lược kém.
  3. Bạn nên tránh sử dụng chiến lược này khi đăng tin tức quan trọng.

Phản ứng:

  1. Các tham số có thể được điều chỉnh thích hợp để lọc ra một số tiếng ồn.
  2. Khuyến nghị tối ưu hóa tham số, tìm kiếm sự kết hợp tham số tốt nhất.
  3. Tránh giao dịch trước và sau khi có tin tức quan trọng.

Hướng tối ưu hóa

Chính sách này có thể được tối ưu hóa bằng cách:

  1. Hãy thử các kết hợp Hull MA với các độ dài khác nhau.
  2. Kiểm tra tăng hoặc giảm các chỉ số trên bảng cân bằng.
  3. Tối ưu hóa trơn tru cho chỉ số giao dịch post1 và post2.
  4. Thêm logic dừng lỗ, kiểm soát tổn thất đơn lẻ.

Tóm tắt

Chiến lược này sử dụng tổng hợp Hull MA và chỉ số bảng cân bằng đầu tiên để xây dựng một hệ thống giao dịch theo dõi xu hướng đơn giản và thực tế. Chiến lược có tốc độ phản ứng nhanh, có thể nắm bắt hiệu quả xu hướng đường ngắn trong giá. Hệ thống này đáng để thử nghiệm và tối ưu hóa hơn nữa, có thể đạt được hiệu suất giao dịch tốt hơn bằng cách điều chỉnh tham số và thêm các chỉ số lọc khác.

]

Mã nguồn chiến lược
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//                                                HULL & ICHIMOKU & MATHS
strategy("3 HULLs & ICHIMOKU divided by PRICE", shorttitle="3H&I/P", 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)
keh=input(title="Hull MA period",defval=6)
p=ohlc4[1]
n2ma=2*wma(p,round(keh/2))
nma=wma(p,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(p[1],round(keh/2))
nma1=wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
post1=((n1[1]*3)+leadLine1)/p
post2=((n2[1]*3)+leadLine2)/p
if (post1<post2)
    strategy.entry("buy", strategy.long, comment="BUY")
if (post1>post2)
    strategy.entry("sell", strategy.short, comment="SELL")