Tài nguyên đang được tải lên... tải...

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

Tác giả:ChaoZhang, Ngày: 2024-01-04 15:03:14
Tags:

img

Tổng quan

Chiến lược này sử dụng đường chéo trung bình di chuyển đơn giản và chỉ số phạm vi thực tế trung bình để tạo ra tín hiệu mua và bán. Nó thuộc về các chiến lược theo xu hướng. Nó chủ yếu sử dụng đường chéo trung bình di chuyển 50 ngày và 100 ngày để xác định xu hướng và thiết lập dừng lỗ dựa trên ATR để kiểm soát rủi ro.

Chiến lược logic

  1. Tính toán SMA1 đơn giản di chuyển 50 ngày và SMA2 đơn giản di chuyển 100 ngày
  2. Khi SMA1 vượt qua SMA2, một tín hiệu mua được tạo ra. Khi SMA1 vượt dưới SMA2, một tín hiệu bán được tạo ra.
  3. Tính toán ATR 14 ngày
  4. ATR nhân một yếu tố được thiết lập được sử dụng làm điểm dừng lỗ
  5. Khi một tín hiệu mua được kích hoạt, giá đóng trừ điểm dừng lỗ là điểm bán dừng lỗ. Khi một tín hiệu bán được kích hoạt, giá đóng cộng với điểm dừng lỗ là điểm mua dừng lỗ.

Có thể thấy rằng chiến lược này chủ yếu dựa trên khả năng đánh giá xu hướng của các đường trung bình động và khả năng kiểm soát rủi ro của ATR. Logic đơn giản và dễ hiểu và thực hiện.

Ưu điểm

  1. Logic đơn giản dễ thực hiện, phù hợp cho người mới bắt đầu
  2. Đường trung bình động có thể theo dõi xu hướng hiệu quả
  3. ATR dừng lỗ có thể kiểm soát hiệu quả các tổn thất từ các sự kiện thiên nga đen riêng lẻ
  4. Các thông số có thể dễ dàng điều chỉnh cho các môi trường thị trường khác nhau

Rủi ro

  1. Nhiều tín hiệu sai có thể được kích hoạt trong các thị trường giới hạn phạm vi, thiếu các điểm đảo ngược
  2. ATR có thể không phản ứng đủ nhạy cảm với các thị trường thay đổi nhanh chóng, dẫn đến tổn thất lớn hơn dự kiến
  3. Các thiết lập tham số và ATR nhân dựa trên kinh nghiệm.
  4. Các đường trung bình di chuyển kép chính nó có hiệu ứng chậm lại, có thể bỏ lỡ các điểm chuyển đổi

Quản lý rủi ro:

  1. Giảm thời gian trung bình động để làm cho chỉ số nhạy cảm hơn
  2. Điều chỉnh động nhân ATR để giảm lỗ dừng linh hoạt hơn
  3. Thêm các chỉ số khác để lọc tín hiệu sai
  4. Hoạt động dựa trên các phán đoán về cấu trúc khung thời gian lớn hơn

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

  1. Hãy thử các loại trung bình động khác, như EMA mà lọc tốt hơn
  2. Xem xét stop loss động với Keltner Channels vv để thay thế ATR
  3. Thêm các chỉ số hỗ trợ như âm lượng để lọc tín hiệu
  4. Xác định các điểm quan trọng của xu hướng với các khái niệm như sóng Elliott, hỗ trợ kháng cự vv

Tóm lại

Đây là một chiến lược theo xu hướng điển hình, sử dụng đường trung bình động để xác định hướng xu hướng và ATR dừng lỗ để kiểm soát rủi ro. Logic đơn giản và dễ hiểu. Nhưng nó có một số rủi ro chậm trễ và tín hiệu sai. Có thể cải thiện thông qua điều chỉnh tham số, tối ưu hóa chỉ số, kết hợp nhiều yếu tố hơn v.v. để làm cho chiến lược thích nghi hơn. Nhìn chung chiến lược này phù hợp cho thực hành và tối ưu hóa người mới bắt đầu, nhưng cần phải cẩn thận khi áp dụng nó trong giao dịch thực tế.


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMA and ATR Strategy", overlay=true)

// Step 1. Define strategy settings
lengthSMA1 = input.int(50, title="50 SMA Length")
lengthSMA2 = input.int(100, title="100 SMA Length")
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.int(4, title="ATR Multiplier")

// Step 2. Calculate strategy values
sma1 = ta.sma(close, lengthSMA1)
sma2 = ta.sma(close, lengthSMA2)
atr = ta.atr(atrLength)

// Step 3. Output strategy data
plot(sma1, color=color.blue, title="50 SMA")
plot(sma2, color=color.red, title="100 SMA")

// Step 4. Determine trading conditions
longCondition = ta.crossover(sma1, sma2)
shortCondition = ta.crossunder(sma1, sma2)

longStopLoss = close - (atr * atrMultiplier)
shortStopLoss = close + (atr * atrMultiplier)

// Step 5. Execute trades based on conditions
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=longStopLoss)

if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Buy", "Sell", stop=shortStopLoss)


Thêm nữa