Chiến lược sóng Elliott với trung bình di chuyển 200 ngày

Tác giả:ChaoZhang, Ngày: 2024-02-26 10:49:25
Tags:

img

Tổng quan

Chiến lược này kết hợp lý thuyết Elliott Wave và chỉ số trung bình động 200 ngày để đạt được giao dịch theo xu hướng tự động và lấy lợi nhuận.

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

Lý thuyết sóng Elliott chia biến động giá thị trường thành 5 làn sóng. Các sóng số lẻ là sóng động lực và các sóng số chẵn là sóng điều chỉnh. Khi các điểm cao của Wave1, Wave3 và Wave5 đẩy lên theo thứ tự, và Wave2 và Wave4 rút lại hiệu quả theo thứ tự, nó được đánh giá là một sự kết hợp sóng tăng, thuộc về thị trường tăng. Chiến lược đi dài vào thời điểm này. Ngược lại, khi các điểm thấp của Wave1, Wave3 và Wave5 đẩy xuống theo thứ tự, và Wave2 và Wave4 rút lại hiệu quả theo thứ tự, nó được đánh giá là một sự kết hợp sóng giảm, thuộc về thị trường gấu. Chiến lược đi ngắn vào thời điểm này.

Chiến lược cũng giới thiệu chỉ số trung bình động 200 ngày như một điều kiện phán đoán phụ trợ. Chỉ khi mô hình sóng Elliott tăng hoặc giảm được xác định và giá đóng cửa của ngày vượt quá đường trung bình động 200 ngày, thì chỉ có thể có một vị trí dài, và chỉ có thể có một vị trí ngắn nếu giá đóng cửa của ngày phá vỡ dưới đường trung bình động 200 ngày.

Sau khi các tín hiệu dài và ngắn được phát ra, hướng ngược lại năm sóng thoát khỏi vị trí.

Phân tích lợi thế

  • Sử dụng lý thuyết sóng Elliott để xác định xu hướng thị trường và các điểm chính có thể nắm bắt sự thay đổi thị trường một cách kịp thời.
  • Dựa trên bộ lọc chỉ số trung bình động 200 ngày để tránh bị mắc kẹt trong một thị trường giới hạn phạm vi.
  • Nhìn chung, chiến lược này có thể đạt được lợi nhuận tốt trong trung và dài hạn trên thị trường chứng khoán hoặc thị trường tương lai.

Phân tích rủi ro

  • Trong giao dịch trực tiếp, biến động giá có thể không hoàn toàn phù hợp với các mô hình năm sóng được mô tả trong lý thuyết Elliott, vì vậy có một rủi ro sai định nào đó.
  • Chỉ dựa vào mô hình năm sóng không thể xác định vị trí và tầm quan trọng của phân khúc sóng này trong bối cảnh thị trường rộng lớn hơn.
  • Thật dễ dàng để tạo ra các tín hiệu giao dịch sai và thua lỗ trong thị trường bên.
  • Nó không xem xét tác động năng động của biến động giá cổ phiếu đối với vị trí của trung bình động 200 ngày.

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

  • Nhiều chỉ số có thể được kết hợp để lọc, chẳng hạn như MACD, KDJ, vv, để giảm tỷ lệ đánh giá sai.
  • Tối ưu hóa thuật toán nhận dạng 5 sóng để tăng độ chính xác.
  • Tăng phán đoán về việc liệu phân khúc sóng hiện tại có đang trong một làn sóng tăng hoặc giảm ở mức độ lớn hơn để tránh giao dịch chống lại xu hướng.
  • Bao gồm các chỉ số như thay đổi khối lượng giao dịch để xác định các điểm đảo ngược xu hướng thực sự.
  • Xem xét các điều chỉnh động tính đến biến động giá cổ phiếu trên vị trí trung bình động 200 ngày.

Tóm lại

Chiến lược này tích hợp các lợi thế của lý thuyết sóng và các chỉ số theo xu hướng, và hoạt động tốt trong việc nắm bắt các điểm chính của thị trường và kiểm soát rủi ro giao dịch. Tuy nhiên, chỉ dựa vào thông tin giá có nghĩa là có khả năng cải thiện hiệu quả trong điều kiện thị trường phức tạp. Việc giám sát chặt chẽ và điều chỉnh liên tục trong giao dịch trực tiếp là cần thiết để đạt được lợi nhuận ổn định lâu dài.


/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Elliott Wave Strategy with 200 SMA", overlay=true)

// Elliott Wave Strategy
wave1High = high[1]
wave1Low = low[1]
wave2High = high[2]
wave2Low = low[2]
wave3High = high[3]
wave3Low = low[3]
wave4High = high[4]
wave4Low = low[4]
wave5High = high[5]
wave5Low = low[5]

bullishWavePattern = wave3High > wave1High and wave4Low > wave2Low and wave5High > wave3High
bearishWavePattern = wave3Low < wave1Low and wave4High < wave2High and wave5Low < wave3Low

enterLong = bullishWavePattern and close > sma(close, 200)
exitLong = bearishWavePattern
enterShort = bearishWavePattern and close < sma(close, 200)
exitShort = bullishWavePattern

// Plotting 200 SMA
sma200 = sma(close, 200)
plot(sma200, color=color.blue, title="Moving Average 200")

// Displaying "Razer Moving 200" message on chart
if (enterLong)
    label.new(bar_index, low, "Long on Moving 200", color=color.green, textcolor=color.white)
if (enterShort)
    label.new(bar_index, high, "Short on Moving 200", color=color.red, textcolor=color.white)

if (enterLong)
    strategy.entry("Long", strategy.long)
if (exitLong)
    strategy.close("Long")
if (enterShort)
    strategy.entry("Short", strategy.short)
if (exitShort)
    strategy.close("Short")

Thêm nữa