
Chiến lược này sử dụng chỉ số Brinband để xác định hướng xu hướng thị trường và kết hợp với chỉ số động lực để thực hiện giao dịch theo dõi xu hướng. Trong tên chiến lược, động lượng đại diện cho việc sử dụng chỉ số động lực, chéo đại diện cho việc xác định các chỉ số chéo làm nhiều tín hiệu làm trống, Brinband đại diện cho việc sử dụng Brinband để xác định hướng xu hướng, xu hướng đại diện cho chiến lược theo dõi xu hướng, theo dõi đại diện cho chiến lược có thể theo dõi xu hướng để giao dịch.
Chiến lược này bao gồm ba phần chính:
Xác định hướng của đường dây Brin. Đường dây giữa đường dây Brin đại diện cho đường trung bình, đường dây trên đường dây dưới đại diện cho phạm vi dao động. Khi giá gần đường dây trên là mua quá mức, khi gần đường dây dưới là bán quá mức.
Tính động lực. Chiến lược này sử dụng động lực Hull. Hull được tính bằng đường trung bình di chuyển nhanh trừ đường trung bình di chuyển chậm.
Tín hiệu chéo: Tín hiệu chéo được tạo ra khi đường trung bình di chuyển nhanh đi qua đường trung bình di chuyển chậm từ phía dưới; Tín hiệu chéo được tạo ra khi đường trung bình di chuyển chậm đi qua đường trung bình di chuyển từ phía trên xuống.
Các quy tắc giao dịch là: hướng Brin là xu hướng lớn, giao điểm động lực là thời gian nhập. Khi giao điểm động lực phù hợp với hướng Brin, tín hiệu giao dịch sẽ được tạo ra.
Kết hợp xu hướng và động lực, tránh phá vỡ giả. Sử dụng dây chuyền Brin để đánh giá xu hướng cấp lớn, sau đó sử dụng chỉ số động lực để đánh giá thời điểm nhập cảnh cụ thể, tránh nguy cơ theo đuổi formset do phá vỡ địa phương.
Kiểm soát rủi ro tốt hơn. Brinband cung cấp điểm dừng lỗ hiệu quả hơn so với trung bình di chuyển đơn giản.
Theo dõi xu hướng hiệu quả hơn. Chỉ số động lực đảm bảo có đủ sức mạnh để tiếp tục đẩy giá theo hướng ban đầu sau khi tham gia, theo dõi xu hướng dễ dàng hơn.
Brinband xác định rủi ro thất bại. Brinband không phải lúc nào cũng xác định xu hướng chính xác, có thể cung cấp tín hiệu hướng sai khiến tỷ lệ thua lỗ tăng lên.
Rủi ro đảo ngược xu hướng. Ngay cả khi các đường Brinch phản ánh chính xác xu hướng cấp độ lớn, giá có thể bị đảo ngược trong ngắn hạn và trung hạn, cần lưu ý khi giao dịch.
Các tham số tối ưu hóa rủi ro. Các tham số chiến lược như chu kỳ tính toán cần được tối ưu hóa cho các dữ liệu thị trường khác nhau để đạt được hiệu quả giao dịch tối ưu.
Kết hợp với các chỉ số FILTER. Ngoài Brin và động lượng Hull, các chỉ số khác như MACD, KDJ có thể được thêm vào để tạo thành chỉ số FILTER, tăng độ chính xác phán đoán.
Tối ưu hóa tham số thích ứng. Tham gia thuật toán học máy, tối ưu hóa tham số theo thời gian thực cho các giống và môi trường thị trường khác nhau, tăng sự ổn định của chiến lược.
Tối ưu hóa chiến lược dừng lỗ. Tối ưu hóa chiến lược dừng lỗ, khóa lợi nhuận tối đa trước khi xu hướng không thay đổi và dừng lỗ nhanh nhất khi xu hướng đảo ngược.
Chiến lược này tích hợp các xu hướng Brin Belt để xác định xu hướng cấp độ lớn và các chỉ số động lực Hull để xác định thời điểm nhập cảnh cụ thể, thực hiện theo dõi hiệu quả các xu hướng. Ngoài ra, có một số không gian cải tiến, có thể được cải thiện từ việc thêm các chỉ số filter, tham số tự thích ứng tối ưu hóa và tối ưu hóa chiến lược dừng lỗ để tăng sự ổn định và lợi nhuận.
/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// Hull Moving Average Crossover by SeaSide420
strategy("Hull Moving Average Crossover Strategy", overlay=true)
keh=input(title="HullMA cross",defval=10)
p=input(ohlc4)
n2ma=2*ta.wma(p,math.round(keh/2))
nma=ta.wma(p,keh)
diff=n2ma-nma
sqn=math.round(math.sqrt(keh))
n2ma1=2*ta.wma(p[1],math.round(keh/2))
nma1=ta.wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=math.round(math.sqrt(keh))
n1=ta.wma(diff,sqn)
n2=ta.wma(diff1,sqn)
hullcross1 = n1
hullcross2 = n2
longcross1=(n1[0]-n1[3])+(n1[0]-n2[4])*100
longcross2=(n2[0]-n2[3])+(n2[0]-n1[4])*100
closelong = n1<n2 and longcross1<longcross2
if (closelong)
strategy.close("Long")
closeshort = n1>n2 and longcross1>longcross2
if (closeshort)
strategy.close("Short")
longCondition = n1>n2 and longcross1>longcross2 and strategy.opentrades<1
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and longcross1<longcross2 and strategy.opentrades<1
if (shortCondition)
strategy.entry("Short",strategy.short)
b=hullcross1>hullcross2?color.green:color.red
c=hullcross2>hullcross1?color.green:color.red
plot(ta.cross(hullcross1, hullcross2) ? hullcross1 : na,color=c, linewidth = 5, offset=3)
barcolor(longcross1 < longcross2 ? color.black : color.white)
bgcolor(longcross2 < longcross1 ? color.green : color.black, transp=85)
plotshape(ta.cross(longcross2, longcross1) ? longcross2 : na, text="X", style=shape.labeldown, location=location.bottom)