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.
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í.
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")