Chiến lược dao động Hull MA dựa trên kênh và hồi quy tuyến tính


Ngày tạo: 2023-12-01 16:47:01 sửa đổi lần cuối: 2023-12-01 16:47:01
sao chép: 0 Số nhấp chuột: 731
1
tập trung vào
1619
Người theo dõi

Chiến lược dao động Hull MA dựa trên kênh và hồi quy tuyến tính

Tổng quan

Chiến lược này là một chiến lược giao dịch dao động kết hợp Hull MA, kênh giá, tín hiệu EMA và hồi phục tuyến tính. Chiến lược này sử dụng Hull MA để xác định hướng xu hướng thị trường, kênh giá và hồi phục tuyến tính để xác định khu vực đáy, tín hiệu EMA để xác định thời gian vào thị trường để nắm bắt xu hướng đường ngắn.

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

Chiến lược này bao gồm một số chỉ số:

  1. Hull MA
    • Hull MA tham số chung là 337 trong thời gian, đại diện cho hướng xu hướng đường dài trung bình
    • Thị trường nhiều đầu khi WMA chu kỳ 18 cao hơn WMA chu kỳ 337 và ngược lại là thị trường trống
  2. Kênh giá
    • Kênh giá bao gồm các EMA giá cao và thấp, đại diện cho các khu vực dễ hình thành hỗ trợ và kháng cự
  3. EMA tín hiệu
    • Các tín hiệu EMA thường có 89 chu kỳ, đại diện cho xu hướng đường ngắn và tín hiệu giao dịch
  4. Phục hồi tuyến tính
    • Chu kỳ đường nhanh 6, đánh giá đáy và đột phá
    • Dòng chậm 89 chu kỳ, định hướng xu hướng đường dài

Logic nhập cảnh:

Nhiều đầu vào: Hull MA lên và giá cao hơn đường ray, quay trở lại thẳng lên qua EMA ngắn hạn Hull MA xuống và giá thấp hơn đường ray dưới, linear regression xuống qua EMA ngắn hạn

Lập luận ra sân:

Nhiều đầu ra sân: Giá thấp hơn đường ray dưới và vượt qua đường quay trở xuống Đi đầu không: Giá cao hơn đường ray và đi qua đường quay trở lên

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 nhiều chỉ số để đánh giá chính xác hơn
    • Hull MA đánh giá xu hướng chủ đạo, kênh đánh giá áp lực hỗ trợ, EMA đánh giá thời gian nhập cảnh
  2. Báo cáo này được đăng tải trên trang web chính thức của Trung Quốc.
    • Chiến lược là một chiến lược giao dịch xoay chuyển theo chiều ngược, có thể nắm bắt xu hướng trong mỗi chu kỳ ngắn giữa
  3. Rủi ro có thể kiểm soát được, rút ít hơn
    • Chiến lược chỉ phát tín hiệu ở khu vực có khả năng cao, tránh theo đuổi đợt giảm giá cao

Phân tích rủi ro

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

  1. Không gian tối ưu hóa tham số giới hạn
    • Các tham số chính như chu kỳ EMA là cố định, không gian tối ưu hóa nhỏ
  2. Losses from the Shock
    • Trong trường hợp giá bị biến động ngang, lệnh dừng có thể được kích hoạt.
  3. Cần một nền tảng phân tích kỹ thuật
    • Suy nghĩ chiến lược đòi hỏi một số kiến thức về hành vi giá cả và chỉ số, không phù hợp với tất cả mọi người

Có thể tối ưu hóa từ những điểm sau:

  1. Điều chỉnh chiến lược giảm thiệt hại, chẳng hạn như giảm thiệt hại sau động đất
  2. Tối ưu hóa logic ra sân
  3. Thêm bộ lọc cho các chỉ số khác, ví dụ MACD

Tóm tắt

Chiến lược này kết hợp nhiều chỉ số như Hull MA, kênh giá, EMA và sự hồi phục tuyến tính để tạo thành một chiến lược giao dịch xoay quanh đường trung và ngắn hoàn chỉnh hơn. Chiến lược này có thể cải thiện đáng kể độ chính xác phán đoán, thu được lợi nhuận trong xu hướng và đảo ngược so với chỉ số đơn lẻ. Nhưng cũng có một số rủi ro, cần phải có cơ sở phân tích kỹ thuật.

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

//@version=2
strategy("Swing Hull/SonicR/EMA/Linear Regression Strategy", overlay=true)
//Hull MA
n=input(title="HullMA Period",defval=377)
//
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)
condDown = n2 >= n1
condUp = condDown != true
col =condUp ? lime : condDown ? red : yellow
plot(n1,title="Hull MA", color=col,linewidth=3)
// SonicR + Line reg
EMA = input(defval=89, title="EMA Signal")
HiLoLen     = input(34, minval=2,title="High Low channel Length")
lr     = input(89, minval=2,title="Linear Regression Length")
pacC        = ema(close,HiLoLen)
pacL        = ema(low,HiLoLen)
pacH        = ema(high,HiLoLen)
DODGERBLUE = #1E90FFFF
// Plot the Price Action Channel (PAC) base on EMA high,low and close//
L=plot(pacL, color=DODGERBLUE, linewidth=1, title="High PAC EMA",transp=90)
H=plot(pacH, color=DODGERBLUE, linewidth=1, title="Low PAC EMA",transp=90)
C=plot(pacC, color=DODGERBLUE, linewidth=2, title="Close PAC EMA",transp=80)
//Moving Average//
signalMA =ema(close,EMA)
plot(signalMA,title="EMA Signal",color=black,linewidth=3,style=line)
linereg = linreg(close, lr, 0)
lineregf = linreg(close, HiLoLen, 0)
cline=linereg>linereg[1]?green:red
cline2= lineregf>lineregf[1]?green:red
plot(linereg, color = cline, title = "Linear Regression Curve Slow", style = line, linewidth = 1)
//plot(lineregf, color = cline2, title = "Linear Regression Curve Fast", style = line, linewidth = 1)
longCondition = n1>n2
shortCondition = longCondition != true
closeLong =  lineregf-pacH>(pacH-pacL)*2 and close<lineregf and linereg>signalMA
closeShort = pacL-lineregf>(pacH-pacL)*2 and close>lineregf and linereg<signalMA
if shortCondition    
    if (close[0] < signalMA[0] and close[1] > pacL[1] and linereg>pacL and close<n1 and pacL<n1) //cross entry
        strategy.entry("SHORT", strategy.short, comment="Short")
strategy.close("SHORT", when=closeShort) //output logic
if longCondition // swing condition          
    if (close[0] > signalMA[0] and close[1] < pacH[1] and linereg<pacH and close>n1 and pacH>n1) //cross entry
        strategy.entry("LONG", strategy.long, comment="Long")
strategy.close("LONG", when=closeLong) //output logic