Chiến lược giao dịch trung bình động kép

Tác giả:ChaoZhang, Ngày: 2024-01-26 14:45:55
Tags:

img

Tổng quan

Chiến lược giao dịch trung bình động kép là một chiến lược giao dịch định lượng xây dựng tín hiệu giao dịch bằng cách sử dụng hai đường trung bình động với chu kỳ khác nhau. Chiến lược này đánh giá xu hướng và cơ hội thị trường bằng cách tính toán mối quan hệ giữa hai đường trung bình động và có hiệu suất theo dõi tốt trong các thị trường xu hướng.

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

Kỹ thuật cốt lõi của chiến lược này là phân tích hai đường trung bình động. Chiến lược xác định đường trung bình động ngắn chu kỳ 5 ngày ma0 và đường trung bình động chu kỳ dài 21 ngày ma1. Bằng cách so sánh các giá trị khác biệt osc0 giữa giá và ma0 và osc1 giữa ma0 và ma1, chiến lược xác định tình trạng xu hướng hiện tại.

Khi osc0>0 và osc1>0, có nghĩa là đường trung bình động ngắn hạn đã vượt qua đường dài hạn, cho thấy xu hướng tăng. Khi osc0<0 và osc1<0, có nghĩa là đường ngắn hạn đã vượt qua bên dưới, cho thấy xu hướng giảm. Chiến lược có vị trí dài khi xu hướng tăng được xác định và có vị trí ngắn khi xu hướng giảm được xác định.

Khi osc0<0 và osc1<0 sau khi đặt vị trí dài, điều đó có nghĩa là một sự đảo ngược xu hướng, vì vậy vị trí dài nên được đóng. Khi osc0>0 và osc1>0 sau khi đặt vị trí ngắn, điều đó cũng có nghĩa là một sự đảo ngược, vì vậy vị trí ngắn nên được đóng.

Phân tích lợi thế

Chiến lược giao dịch trung bình di chuyển kép có những lợi thế sau:

  1. Nguyên tắc đơn giản và dễ hiểu và thực hiện, phù hợp với người mới bắt đầu giao dịch số lượng;

  2. Theo dõi xu hướng, tốt trong việc theo dõi xu hướng thị trường với lợi nhuận tốt;

  3. Các tham số chu kỳ của các đường trung bình động có thể được điều chỉnh cho các điều kiện thị trường khác nhau;

  4. Có thể được kết hợp với các chỉ số hoặc chiến lược khác để có lợi nhuận cao hơn.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro với chiến lược này:

  1. Không thể thoát khỏi các vị trí kịp thời khi xu hướng đảo ngược, có thể dẫn đến tổn thất lớn;

  2. Khó kiếm lợi nhuận trên các thị trường giới hạn phạm vi do dừng lỗ thường xuyên;

  3. Khó để tối ưu hóa các thông số như chu kỳ 5 ngày và 21 ngày;

  4. Các tín hiệu giao dịch chậm trễ, nhập thị trường muộn có thể ảnh hưởng đến tỷ lệ lợi nhuận.

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

Chiến lược giao dịch trung bình động kép có thể được tối ưu hóa từ các khía cạnh sau:

  1. Kết hợp với VOL để xác nhận sự khởi đầu của xu hướng thực sự, tránh đột phá sai;

  2. Thêm các bộ lọc khác như đột phá giá, mở rộng khối lượng để đảm bảo độ tin cậy tín hiệu;

  3. Thiết lập dừng động để cắt giảm tổn thất trong thời gian;

  4. Tối ưu hóa các thông số như ngưỡng của sự khác biệt trung bình động để giảm lỗi;

  5. Sử dụng máy học để tự động tối ưu hóa các chu kỳ của các đường trung bình động.

Kết luận

Tóm lại, Chiến lược giao dịch trung bình động kép là một chiến lược theo xu hướng khá cổ điển và thực tế. Nó có logic đơn giản cho người mới bắt đầu thực hành, giỏi theo dõi xu hướng, rất có thể mở rộng để kết hợp với các kỹ thuật khác. Nhưng nó cũng có một số khiếm khuyết, cần tối ưu hóa thêm để xử lý điều kiện thị trường đặc biệt, giảm rủi ro và cải thiện sự ổn định.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("[STRATEGY][RS]MA Strategy test V0", overlay=true)
length0 = input(5)
length1 = input(21)

isinsession = not na(time('1', '0400-1500'))
price = open

ma0 = ema(ema(price, length0), length0)
ma1 = ema(ema(price, length1), length1)
plot(ma0, color=navy)
plot(ma1, color=black)

osc0 = price-ma0
osc1 = ma0-ma1

isbull = osc0 > 0 and osc1 > 0
buy_condition = isinsession and isbull and not isbull[1]
buy_exit_condition = osc0 < 0 and osc1 < 0
strategy.entry("buy", strategy.long, comment="buy", when=buy_condition)
strategy.close(id='buy', when=buy_exit_condition)

isbear = osc0 < 0 and osc1 < 0
sell_condition = isinsession and isbear and not isbear[1]
sell_exit_condition = osc0 > 0 and osc1 > 0
strategy.entry("sell", strategy.short, comment="sell", when=sell_condition)
strategy.close(id='sell', when=sell_exit_condition)

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

Thêm nữa