Chiến lược vượt qua trung bình di chuyển

Tác giả:ChaoZhang, Ngày: 2023-11-06 17:01:53
Tags:

img

Tổng quan

Chiến lược trung bình chuyển động chéo tính toán các đường trung bình chuyển động của các giai đoạn khác nhau và sử dụng các đường chéo của chúng làm tín hiệu giao dịch. Nó thuộc về các chiến lược phân tích kỹ thuật. Chiến lược này kết hợp các đường trung bình chuyển động nhanh, trung bình và chậm để đánh giá tín hiệu giao dịch, có thể lọc hiệu quả tiếng ồn thị trường và xác định xu hướng.

Chiến lược logic

Chiến lược tính toán 3 đường trung bình động với các khoảng thời gian khác nhau: EMA 34 giai đoạn, EMA 89 giai đoạn và EMA 200 giai đoạn.

Các tín hiệu giao dịch được tạo ra dựa trên sự chéo chéo giữa các MA khác nhau: khi MA nhanh vượt qua trên MA trung bình, nó kích hoạt tín hiệu mua; khi MA nhanh vượt qua dưới MA trung bình, nó kích hoạt tín hiệu bán.

Để lọc ra tiếng ồn dư thừa, chiến lược này cũng sử dụng MA chậm. Chỉ khi MA nhanh vượt qua MA chậm đồng thời, các tín hiệu mua và bán thực tế sẽ được kích hoạt. Ví dụ, chỉ khi MA nhanh vượt qua cả MA trung bình và chậm, tín hiệu mua sẽ được tạo ra. Điều này đảm bảo giao dịch chỉ xảy ra khi có những thay đổi xu hướng đáng kể xảy ra.

Ưu điểm

  • Sử dụng MAs nhiều giai đoạn để lọc tiếng ồn và xác định những thay đổi xu hướng lớn.
  • MA nhanh nhạy, MA trung bình ổn định và MA chậm lọc các sự đột phá giả.
  • Sử dụng EMA để tính toán MAs, đặt trọng lượng hơn vào giá gần đây và phản ứng tốt hơn với những thay đổi xu hướng.
  • Hiển thị các MAs khác nhau rõ ràng thông qua giao chéo để dễ dàng xác định tín hiệu.
  • Chiến lược linh hoạt cho phép điều chỉnh thời gian MA cho môi trường thị trường khác nhau.

Rủi ro

  • MAs có sự chậm trễ và có thể trì hoãn việc tạo tín hiệu.
  • Các xu hướng mạnh có thể thay thế các MAs và tạo ra các tín hiệu quá mức.
  • Các thiết lập thời gian MA kém có thể làm tăng tần suất giao dịch và rủi ro.
  • Sự biến động cực kỳ có thể gây ra sự giao thoa MA không chính xác.
  • Các thị trường có phí cao không phù hợp với các chiến lược tần số cao như vậy.

Những cải tiến

  • Đánh giá các kết hợp thời gian MA khác nhau để tìm các thông số tối ưu.
  • Thêm chỉ số biến động v.v. để tạm dừng giao dịch khi biến động lớn xảy ra.
  • Kết hợp với dao động stochastic vv để tránh mua / bán ở mức cực.
  • Tối ưu hóa thời gian nhập cảnh bằng cách chờ đợi MA chính rút lại trước khi nhập.
  • Sử dụng các MA thích nghi để điều chỉnh các khoảng thời gian một cách năng động để linh hoạt hơn.

Kết luận

Chiến lược trung bình động chéo là một chiến lược phân tích kỹ thuật điển hình. Nó quan sát mối quan hệ giữa các MAs của các khung thời gian khác nhau để xác định các điểm đảo ngược thị trường. Việc sử dụng đồng thời các MAs nhanh, trung bình và chậm có thể phản ứng nhanh với xu hướng và lọc tín hiệu giả hiệu quả. Với điều chỉnh tham số thích hợp, nó có thể linh hoạt cho các môi trường thị trường khác nhau. Tuy nhiên, các vấn đề chậm với MAs cần được xem xét. Nhìn chung, chiến lược có một logic trực quan và đáng để xác nhận và tối ưu hóa trong thị trường trực tiếp.


/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="EMA 34, 89, 200 e cruzamento das EMA", overlay=true)

// Input options
fastMALen = input(title="Fast MA",  defval=34)
midMALen  = input(title="Medium MA",  defval=89)
slowMALen = input(title="Slow MA",  defval=200)

// Calculate values
fastMA = ema(close, fastMALen)
midMA  = ema(close, midMALen)
slowMA = ema(close, slowMALen)

// Plot values
plot(series=fastMA, color=yellow,
     title="Fast MA", linewidth=3, trackprice=false)
plot(series=midMA, color=red,
     title="Mid MA", linewidth=4, trackprice=false)
plot(series=slowMA, color=white,
     title="Slow MA", linewidth=5)

// Highlight crossovers
longCondition = crossover(ema(close, 34), ema(close, 200)) 
if (longCondition)
    strategy.entry("COMPRA FINAL", strategy.long)

longCondition1 = crossover(ema(close, 34), ema(close, 89)) 
if (longCondition1)
    strategy.entry("COMPRA INICIAL", strategy.long)

shortCondition = crossunder(ema(close, 34), ema(close, 200))
if (shortCondition)
    strategy.entry("VENDE FINAL", strategy.short)
    
shortCondition1 = crossunder(ema(close, 34), ema(close, 89))
if (shortCondition1)
    strategy.entry("VENDE INICIAL", strategy.short)


Thêm nữa