Chiến lược theo dõi xu hướng Bollinger Band Crossover Momentum

Tác giả:ChaoZhang, Ngày: 2024-02-26 16:52:16
Tags:

img

Tổng quan

Chiến lược này sử dụng Bollinger Bands để xác định hướng của xu hướng thị trường và kết hợp các chỉ số đà để thực hiện các giao dịch theo dõi xu hướng. Momentum trong tên chiến lược đại diện cho việc áp dụng các chỉ số đà, Crossover đại diện cho việc xác định các tín hiệu bán thầu và bán ngắn dựa trên các dấu hiệu giao thoa, Bollinger Bands đại diện cho việc sử dụng Bollinger Bands để xác định hướng xu hướng, Trend đại diện cho chiến lược để theo dõi xu hướng, và Tracking đại diện cho chiến lược có thể theo dõi xu hướng cho giao dịch.

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

Chiến lược có thể được chia thành ba phần:

  1. Đánh giá hướng của Bollinger Bands. Đường ray giữa của Bollinger Bands đại diện cho đường trung bình động, và đường ray trên và dưới đại diện cho phạm vi biến động. Khi giá gần đường ray trên, nó bị mua quá mức. Khi gần đường ray dưới, nó bị bán quá mức.

  2. Tính toán động lực. Chiến lược này sử dụng Hull Momentum. Hull Momentum bắt nguồn từ trung bình di chuyển nhanh trừ trung bình di chuyển chậm. Một giá trị dương đại diện cho xu hướng tăng, và một giá trị âm đại diện cho xu hướng giảm.

  3. Tín hiệu chéo. Khi trung bình di chuyển nhanh vượt qua trung bình di chuyển chậm từ dưới, một tín hiệu dài được tạo ra. Khi nó vượt qua từ trên xuống, một tín hiệu ngắn được tạo ra.

Quy tắc giao dịch là: Hướng của Bollinger Bands đại diện cho xu hướng chính, và sự chéo chéo của chỉ số động lực đại diện cho thời gian nhập thị trường. Một tín hiệu giao dịch được tạo ra khi sự chéo chéo động lực phù hợp với hướng của Bollinger Bands. Đó là để theo dõi hướng xu hướng được đại diện bởi Bollinger Bands.

Ưu điểm của Chiến lược

  1. Tránh những bước đột phá sai bằng cách kết hợp xu hướng và đà phát triển.

  2. Kiểm soát rủi ro tốt hơn. Bollinger Bands cung cấp các điểm dừng lỗ, hiệu quả hơn so với trung bình động đơn giản.

  3. Theo dõi xu hướng hiệu quả hơn. Các chỉ số động lực có thể đảm bảo đủ sức mạnh để tiếp tục đẩy giá theo hướng ban đầu sau khi bước vào thị trường, làm cho việc theo dõi xu hướng suôn sẻ hơn.

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

  1. Rủi ro của sự thất bại xác định Bollinger Bands. Bollinger Bands không phải lúc nào cũng xác định hoàn toàn chính xác xu hướng, có thể cung cấp các tín hiệu hướng không chính xác do đó làm tăng tỷ lệ mất mát.

  2. Rủi ro đảo ngược xu hướng: Ngay cả khi Bollinger Bands phản ánh chính xác xu hướng quy mô lớn, giá có thể đảo ngược trong trung hạn và ngắn hạn, nên lưu ý khi giao dịch.

  3. Nguy cơ tối ưu hóa tham số: 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ốt nhất.

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

  1. Ngoài Bollinger Bands và Hull Momentum, các chỉ số khác như MACD và KDJ có thể được thêm vào để tạo thành một chỉ số FILTER để cải thiện độ chính xác phán đoán.

  2. Tối ưu hóa tham số thích nghi. Tham gia các thuật toán học máy để tối ưu hóa các tham số trong thời gian thực theo các loại và môi trường thị trường khác nhau để cải thiện tính ổn định của chiến lược.

  3. Tối ưu hóa chiến lược dừng lỗ. Tối ưu hóa chiến lược dừng lỗ để tối đa hóa lợi nhuận khóa trước khi xu hướng chính thay đổi và dừng lỗ nhanh nhất khi xu hướng đảo ngược.

Tóm lại

Chiến lược này tích hợp Bollinger Bands để xác định xu hướng quy mô lớn và các chỉ số động lực Hull để xác định các điểm đầu vào cụ thể, theo dõi hiệu quả xu hướng. Đồng thời, vẫn còn chỗ để cải thiện, chẳng hạn như thêm nhiều bộ lọc chỉ số, tối ưu hóa tham số thích nghi, tối ưu hóa chiến lược dừng lỗ và vân vân để cải thiện 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)

Thêm nữa