Chiến lược theo dõi động lực

Tác giả:ChaoZhang, Ngày: 2023-11-10 12:12:44
Tags:

img

Tổng quan

Chiến lược này dựa trên các chỉ số động lực kết hợp với trung bình động để theo dõi xu hướng thị trường. Nó đi dài khi có động lực tăng mạnh và đi ngắn khi có động lực giảm mạnh. Nó thuộc thể loại các chiến lược theo xu hướng.

Chiến lược logic

  1. Tính toán động lực của giá như: (Giá hiện tại - Giá N giai đoạn trước) / Giá N giai đoạn trước

  2. Tính toán trung bình động giữa giá trong N giai đoạn

  3. Bình thường hóa giá trị động lực trong phạm vi 0-1

  4. Khi động lượng bình thường lớn hơn 0,5 và giá là trên trung bình động, đi dài

  5. Khi động lượng bình thường là ít hơn 0,5 và giá là dưới trung bình động, đi ngắn

  6. Sử dụng một cơ chế dừng lỗ chuyển động với mức dừng lỗ thích hợp

Điều trên bao gồm logic giao dịch cơ bản. Khi thị trường đang có xu hướng, giá sẽ di chuyển liên tục theo một hướng, tạo ra các giá trị động lực lớn. Chiến lược đánh giá sức mạnh của xu hướng bằng cách sử dụng động lực và hướng sử dụng đường trung bình động để quyết định nhập. Ngoài ra, dừng lỗ là rất quan trọng để kiểm soát rủi ro.

Phân tích lợi thế

Chiến lược này có những lợi thế sau:

  1. Theo dõi xu hướng thị trường, với lợi nhuận lớn tiềm năng

  2. Động lực nhạy cảm với sự thay đổi giá và phản ứng nhanh với xu hướng

  3. Trung bình động lọc ra tiếng ồn ngẫu nhiên và kết hợp tốt với động lượng

  4. Cơ chế dừng lỗ giới hạn lỗ trên các giao dịch riêng lẻ

  5. Logic đơn giản và rõ ràng, dễ thực hiện và backtest

  6. Các tham số linh hoạt có thể thích nghi với các giai đoạn và chế độ thị trường khác nhau

Nhìn chung, đây là một chiến lược tuyệt vời cho các thị trường xu hướng. Nó có thể lợi nhuận đáng kể từ xu hướng theo hướng.

Phân tích rủi ro

Mặc dù có những lợi thế, cần lưu ý một số rủi ro:

  1. Nguy cơ phá vỡ trong xu hướng tăng khi giá đảo ngược sau khi phá vỡ

  2. Rủi ro đảo ngược trong xu hướng giảm khi giá tăng sau khi giảm

  3. Whipsaw tín hiệu khi giá dao động xung quanh trung bình động

  4. Các tín hiệu sai nếu các thông số không được đặt đúng cách

  5. Hiệu suất thấp hơn ở các thị trường hỗn loạn trong phạm vi

  6. Cần dừng nghiêm ngặt và chuyển động để ngăn chặn thoát sớm

Để giải quyết những rủi ro này, chiến lược dừng lỗ cần tối ưu hóa, lọc các tín hiệu không cần thiết với các thông số lỏng lẻo, điều chỉnh các thông số cho các khoảng thời gian khác nhau và kiểm soát kích thước vị trí.

Hướng dẫn tối ưu hóa

Dưới đây là một số cách chiến lược có thể được tối ưu hóa thêm:

  1. Kiểm tra các kết hợp tham số khác nhau cho kết quả backtest tốt nhất

  2. Kết hợp các quy tắc giao dịch rùa để ra khỏi lỗ 2N và lợi nhuận 1N

  3. Tối ưu hóa lệnh dừng lỗ với các chỉ số biến động cho lệnh dừng lỗ thích nghi

  4. Thêm các quy tắc kích thước vị trí dựa trên rút tiền, thời gian, vv

  5. Kiểm tra các phương pháp tính toán động lượng khác nhau như động lượng trung bình chuyển động theo cấp số nhân

  6. Thêm các bộ lọc mẫu nến cho các tín hiệu mạnh mẽ hơn

  7. Sử dụng máy học để tối ưu hóa tham số, lựa chọn tính năng, vv

  8. Bao gồm một số đầu vào của con người tùy ý tại các điểm chính

Với những cải tiến này, chiến lược có thể đạt được sự ổn định, khả năng thích nghi và lợi nhuận tốt hơn.

Kết luận

Chiến lược theo dõi đà là một cách tiếp cận theo xu hướng đơn giản và thực tế. Nó có thể nhanh chóng nắm bắt xu hướng thị trường và kiếm lợi từ bong bóng và sự sụp đổ. Nhưng rủi ro phù hợp đường cong cần phải được quản lý bằng các kiểm soát rủi ro có kỷ luật để duy trì độ bền. Với điều chỉnh tham số và mở rộng chức năng, chiến lược có thể mang lại lợi nhuận ổn định trong nhiều chế độ thị trường hơn.


/*backtest
start: 2023-11-02 00:00:00
end: 2023-11-09 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Momentum Strategy, rev.2", overlay=true)

//
// Data
//
src = input(close)
lookback = input(20)
cscheme=input(1, title="Bar color scheme", options=[1,2])

//
// Functions
//
momentum(ts, p) => (ts - ts[p]) / ts[p]

normalize(src, len) =>
    hi  = highest(src, len)
    lo  = lowest(src, len)
    res = (src - lo)/(hi - lo)

//
// Main
//
price = close
mid = sma(src, lookback)
mom = normalize(momentum(price, lookback),100)

//
// Bar Colors
//
clr1 = cscheme==1?black: red
clr2 = cscheme==1?white: green
barcolor(close < open ? clr1 : clr2)

//
// Strategy
//
if (mom > .5 and price > mid )
    strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
    strategy.cancel("MomLE")

if (mom < .5 and price < mid )
    strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
    strategy.cancel("MomSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Thêm nữa