Một chiến lược giao dịch sử dụng đường trung bình động kép


Ngày tạo: 2024-01-26 14:45:55 sửa đổi lần cuối: 2024-01-26 14:45:55
sao chép: 0 Số nhấp chuột: 578
1
tập trung vào
1617
Người theo dõi

Một chiến lược giao dịch sử dụng đường trung bình động kép

Tổng quan

Chiến lược giao dịch trung bình di chuyển kép (Dual Moving Average Trading Strategy) là một chiến lược giao dịch định lượng sử dụng trung bình di chuyển của hai chu kỳ khác nhau để xây dựng tín hiệu giao dịch. 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 trung bình di chuyển, có hiệu quả theo dõi tốt trong hành vi xu hướng.

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

Chiến lược này chủ yếu sử dụng hai đường trung bình di chuyển để phân tích các chỉ số kỹ thuật. Chiến lược xác định một đường trung bình di chuyển 5 ngày ma0 với chu kỳ ngắn hơn và đường trung bình di chuyển 21 ngày ma1 với chu kỳ dài hơn. Chiến lược đánh giá tình trạng xu hướng hiện tại bằng cách so sánh giá với chênh lệch osc0 của ma0 và âm tính của osc1 của ma0 với ma1.

Khi osc0>0 và osc1>0, cho thấy đường trung bình ngắn hạn đã vượt qua đường trung bình dài hạn, thuộc về giao dịch đa đầu; khi osc0 và osc1, cho thấy đường trung bình ngắn hạn đã vượt qua đường trung bình dài hạn, thuộc về giao dịch không đầu. Chiến lược khi đánh giá giao dịch đa đầu, thực hiện các hoạt động mua và mở vị trí; khi đánh giá giao dịch không đầu, thực hiện các hoạt động bán và mở vị trí.

Sau khi mở vị trí, chiến lược đánh giá không gian lợi nhuận của vị trí bằng cách giám sát sự thay đổi thời gian thực của osc0 và osc1. Khi osc0 < 0 và osc1 < 0 sau khi giữ nhiều vị trí, biểu thị xu hướng đảo ngược, tại thời điểm này xóa vị trí nhiều vị trí; Khi osc0 > 0 và osc1 > 0 sau khi giữ vị trí trống, biểu thị xu hướng đảo ngược, tại thời điểm này xóa vị trí trống.

Phân tích lợi thế

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

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

  2. Giao dịch theo xu hướng, theo dõi xu hướng, thu nhập tốt hơn;

  3. Điều chỉnh các tham số chu kỳ của trung bình di chuyển để phù hợp với các đặc điểm của thị trường khác nhau;

  4. Nó có thể được sử dụng với các chỉ số khác hoặc kết hợp chiến lược để mở rộng phạm vi lợi nhuận.

Phân tích rủi ro

Chiến lược giao dịch đường trung bình di chuyển đôi cũng có một số rủi ro:

  1. Khi xu hướng đảo ngược, không thể dừng lỗ kịp thời, có thể dẫn đến tổn thất lớn hơn;

  2. Các nhà khoa học đã nghiên cứu và phát hiện ra các nguyên nhân gây ra các cơn động đất.

  3. Các tham số này rất khó để tối ưu hóa, 5 và 21 không phải là tham số tối ưu;

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

Hướng tối ưu hóa

Chiến lược giao dịch trung bình di chuyển đôi có thể được tối ưu hóa theo các khía cạnh sau:

  1. Kết hợp với chỉ số VOL để xác định sự khởi đầu của xu hướng thực sự và tránh phá vỡ giả;

  2. Thêm các điều kiện phán đoán bổ sung, chẳng hạn như giá phá vỡ, khối lượng giao dịch tăng lên, để đảm bảo độ tin cậy của tín hiệu giao dịch;

  3. Động thái dừng lỗ đối với các vị trí nắm giữ, kiểm soát lỗ trong thời gian;

  4. Tối ưu hóa giá trị tham số của chênh lệch trung bình di chuyển, giảm tỷ lệ sai sót.

  5. Sử dụng phương pháp học máy để tự động tối ưu hóa các tham số chu kỳ của trung bình di chuyển.

Tóm tắt

Chiến lược giao dịch đường trung bình di chuyển đôi nói chung là một chiến lược theo dõi xu hướng cổ điển và thực tế hơn. Chiến lược này hoạt động đơn giản, phù hợp với người mới bắt đầu thực hành giao dịch định lượng; tình cờ, hiệu quả theo dõi tốt; khả năng mở rộng, dễ dàng kết hợp với các chỉ số và chiến lược kỹ thuật khác.

Mã nguồn chiến lược
/*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)