Chiến lược chéo giữa hai mức trung bình động

Tác giả:ChaoZhang, Ngày: 2023-09-21 16:40:01
Tags:

Tổng quan

Chiến lược này được thiết kế dựa trên thập tự vàng và thập tự tử của các đường trung bình động kép. Nó đi dài khi đường trung bình động ngắn vượt qua đường trung bình động dài, và đóng vị trí khi đường trung bình động ngắn vượt qua đường trung bình động dài. Chiến lược đơn giản và dễ hiểu, phù hợp cho người mới bắt đầu học.

Chiến lược logic

Chiến lược chủ yếu dựa trên các chỉ số sma (gần) 14) và sma (gần) 28.

Đầu tiên xác định các đường trung bình di chuyển ngắn và dài:

short_ma = sma(close, 14)  
long_ma = sma(close, 28)

Sau đó xác định lối vào và lối ra dựa trên thập giá vàng và thập giá chết:

longCondition = crossover(short_ma, long_ma)
shortCondition = crossunder(short_ma, long_ma) 

Đi dài khi MA ngắn vượt qua MA dài:

strategy.entry("Buy", strategy.long, when = longCondition)

Khóa vị trí khi MA ngắn vượt qua dưới MA dài:

strategy.close_all(when = shortCondition) 

Logic là đơn giản và rõ ràng, sử dụng các chéo của hai MAs để xác định các lối vào và lối ra.

Phân tích lợi thế

  • Logic đơn giản, dễ sử dụng cho người mới bắt đầu
  • Sử dụng MA crossovers để xác định xu hướng
  • Thời gian MA có thể tùy chỉnh cho tối ưu hóa tham số
  • Cho phép dừng lỗ để kiểm soát lỗ giao dịch duy nhất

Phân tích rủi ro

  • Nhạy cảm với biến động thị trường, có thể tạo ra nhiều giao dịch thua lỗ
  • Bản chất chậm trễ của MAs, có thể bỏ lỡ các điểm đảo ngược giá
  • Có khả năng bị mắc kẹt gần các điểm giao thông MA
  • Cần tối ưu hóa thời gian MA, thời gian khác nhau có thể dẫn đến kết quả khác nhau
  • Không thể cắt giảm nhanh chóng khi xu hướng thay đổi mạnh mẽ

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

Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:

  1. Tối ưu hóa thời gian MA để tìm sự kết hợp tốt nhất

Kiểm tra các khoảng thời gian MA ngắn và dài khác nhau, chẳng hạn như (5, 10), (10, 20), (20, 60) vv để tìm ra sự kết hợp tối ưu.

  1. Thêm bộ lọc để tránh tín hiệu sai

Thêm các bộ lọc như khối lượng giao dịch, chênh lệch giá vv gần các giao dịch chéo MA để tránh giao dịch quá mức trong các thị trường khác nhau.

  1. Bao gồm stop loss

Đặt giá dừng lỗ hoặc sử dụng MA như là đường dừng lỗ để kiểm soát lỗ giao dịch duy nhất.

  1. Kết hợp với các chỉ số khác

Thêm các chỉ số phụ như MACD, KDJ vv để cải thiện hiệu suất chiến lược.

  1. Tối ưu hóa các điểm nhập cảnh

Tìm các điểm nhập tốt hơn gần MA thay vì nhập ngay tại giao lộ. Ví dụ, nhập vào các điểm phân kỳ MA.

Tóm lại

Chiến lược MA kép rất đơn giản cho người mới bắt đầu sử dụng. Nhưng nó nhạy cảm với biến động thị trường và có rủi ro mất mát. Chúng ta có thể cải thiện nó bằng cách tối ưu hóa các thông số, thêm bộ lọc, kết hợp dừng lỗ, kết hợp các chỉ số khác v.v. Nó có thể hoạt động tốt trong xu hướng mạnh nhưng nên được sử dụng thận trọng hoặc dừng lỗ thích hợp trong các thị trường dao động.
[/trans]


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=2
// strategy("Tester", pyramiding = 50, default_qty_type = strategy.cash, default_qty_value = 20, initial_capital = 2000, commission_type = strategy.commission.percent, commission_value = 0.25)

minGainPercent = input(0.6)
gainMultiplier = minGainPercent * 0.01 + 1


longCondition = crossover(sma(close, 14), sma(close, 28))
shortCondition = crossunder(sma(close, 14), sma(close, 28))


avg_protection = input(1)
gain_protection = input(1)


strategy.entry("Buy", strategy.long, when = longCondition    and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true))
strategy.close_all(when = shortCondition  and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))

Thêm nữa