Chiến lược chéo trung bình di chuyển đơn giản

Tác giả:ChaoZhang, Ngày: 2024-02-21 15:11:32
Tags:

img

Tổng quan

Đây là một chiến lược giao dịch kết hợp dựa trên đường trung bình động đơn giản (SMA). Nó sử dụng đường chéo giữa đường SMA 9 ngày và đường SMA 21 ngày làm tín hiệu mua và bán. Khi đường SMA ngắn hạn vượt qua đường SMA dài hạn từ dưới, một tín hiệu mua được tạo ra. Khi đường SMA ngắn hạn vượt qua đường SMA dài hạn từ trên, một tín hiệu bán được tạo ra.

Chiến lược logic

Lý thuyết cốt lõi của chiến lược này là sử dụng hai đường SMA với các tham số khác nhau - đường SMA 9 ngày đại diện cho xu hướng ngắn hạn và đường SMA 21 ngày đại diện cho xu hướng dài hạn. Khi đường xu hướng ngắn hạn vượt qua trên đường xu hướng dài hạn từ dưới, nó cho thấy thị trường đang thay đổi từ xu hướng giảm sang xu hướng tăng, tạo ra tín hiệu mua. Khi đường ngắn hạn vượt qua dưới đường dài hạn từ trên, nó báo hiệu sự thay đổi từ xu hướng tăng xuống xu hướng giảm, tạo ra tín hiệu bán.

Các tín hiệu chính mà chiến lược này dựa trên là cross vàngcross chết của hai đường SMA. Một đường chéo vàng xảy ra khi đường SMA ngắn vượt qua trên đường SMA dài, báo hiệu một sự thay đổi có thể xảy ra từ xu hướng giảm sang xu hướng tăng. Một đường chéo chết xảy ra khi đường SMA ngắn vượt qua dưới đường SMA dài, cho thấy sự suy giảm từ xu hướng tăng có thể bắt đầu. Bằng cách sử dụng hai tín hiệu này, chiến lược xác định mối quan hệ giữa xu hướng ngắn hạn và dài hạn để đưa ra quyết định giao dịch.

Ưu điểm

  1. Dễ hiểu và thực hiện
  2. Một số tham số cần thử nghiệm / tối ưu hóa rộng rãi
  3. Tần suất giao dịch hợp lý tránh giao dịch quá mạnh
  4. Đơn giản là chính xác trong việc xác định các điểm đảo ngược xu hướng
  5. Cung cấp khả năng đo lường và ổn định ở một mức độ nhất định

Rủi ro

  1. Có xu hướng tạo ra tín hiệu sai và chém
  2. Việc lựa chọn điểm mua/bán phụ thuộc nhiều vào kinh nghiệm thay vì một phương pháp hệ thống
  3. Hiệu suất phụ thuộc rất nhiều vào các thông số. SMA 9 ngày/21 ngày có thể không tối ưu
  4. Không hiệu quả trong việc lọc các giao dịch tiếng ồn trong các thị trường hỗn loạn / bên cạnh
  5. Các giao dịch thua lỗ đáng kể trong môi trường biến động cao

Những cải tiến có thể:

  1. Thêm bộ lọc để tránh hành động trên tín hiệu sai
  2. Kết hợp các chỉ số khác để đánh giá độ tin cậy tín hiệu
  3. Kiểm tra và tối ưu hóa các thông số cho các sản phẩm khác nhau
  4. Thực hiện stop loss/take profit để kiểm soát rủi ro

Kết luận

Nhìn chung, đây là một hệ thống chéo trung bình di chuyển kép khá truyền thống và đơn giản. Nó dễ hiểu và thực hiện với việc lựa chọn tham số tương đối đơn giản. Nó có thể theo dõi hiệu quả những thay đổi giữa xu hướng ngắn hạn và dài hạn. Tuy nhiên, các vấn đề như tín hiệu sai, các tham số được lựa chọn theo kinh nghiệm, hiệu suất tầm thường trong môi trường biến động cao cần phải được giải quyết. Tối ưu hóa, cải tiến và kết hợp thích hợp nên được xem xét cùng với các thực tiễn kiểm soát rủi ro vững chắc.


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

//@version=5
strategy("Bitboy Strategy", overlay=true)

// Define MAs
SlowMA = ta.sma(close, 9)
FastMA = ta.sma(close, 21)

// Plot MAs
plot1 = plot(SlowMA, color=color.new(color.red, 0), title="Slow MA")
plot2 = plot(FastMA, color=color.new(color.green, 0), title="Fast MA")

// Plot MA Ribbon
fill(plot1, plot2, color=FastMA > SlowMA ? color.rgb(233, 21, 21, 50) : color.new(#1de223, 45))

// Define buy/sell conditions
longCondition = ta.crossover(SlowMA, FastMA)
shortCondition = ta.crossunder(SlowMA, FastMA)

// Strategy commands for buy/sell
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Plot buy/sell signals (for visualization)
plotshape(longCondition, location=location.belowbar, color=color.rgb(18, 230, 25, 37), style=shape.labelup, text="Buy", textcolor=color.white)
plotshape(shortCondition, location=location.abovebar, color=color.rgb(239, 23, 23, 40), style=shape.labeldown, text="Sell", textcolor=color.white)

Thêm nữa