Chiến lược giao dịch chênh lệch lọc stochastic đôi.

Tác giả:ChaoZhang, Ngày: 2024-02-27
Tags:

img

Tổng quan

Chiến lược giao dịch Phân biệt lọc Stochastic Double Awesome Oscillator xác định các cơ hội mua và bán tiềm năng thông qua việc phát hiện sự khác biệt giữa Awesome Oscillator (AO) và hành động giá, được lọc bởi các điều kiện mua quá và bán quá của Stochastic Oscillator để cải thiện độ tin cậy tín hiệu.

Chiến lược logic

Chiến lược bao gồm các thành phần sau:

  1. Tính toán dao động tuyệt vời (AO): AO là sự khác biệt giữa SMA 5 giai đoạn và 34 giai đoạn của điểm giữa (HL2) để xác định động lực động lực thị trường.

  2. Stochastic Oscillator: Được sử dụng để đo đạc động lượng và các điểm đảo ngược tiềm năng bằng cách so sánh giá đóng với phạm vi giá trong một khoảng thời gian. Sử dụng Stochastic 14 giai đoạn (stochK) và SMA 3 giai đoạn (stochD) để phát hiện mức mua quá mức / bán quá mức.

  3. Logic phát hiện chênh lệch: đơn giản hóa khi giá đang di chuyển theo một hướng trong khi AO di chuyển theo hướng ngược lại.

  4. Bộ lọc Stochastic: Các tín hiệu được lọc theo điều kiện mua quá mức Stochastic để bán và bán quá mức để mua.

  5. Định hình tín hiệu: Các tín hiệu được xác nhận sau khi lọc được vẽ trên biểu đồ dưới dạng hình dạng.

  6. Quy tắc tham gia: tham gia dài trên tín hiệu tăng xác nhận, tham gia ngắn trên tín hiệu giảm xác nhận.

Phân tích lợi thế

Chiến lược kết hợp theo xu hướng và xác định sự đảo ngược, với các tín hiệu đáng tin cậy.

  1. AO giúp xác định những thay đổi xu hướng ngắn hạn, sự khác biệt với giá cung cấp nguồn tín hiệu đáng tin cậy.

  2. Các bộ lọc ngẫu nhiên tránh các tín hiệu sai mà không có xác nhận mua quá mức / bán quá mức.

  3. Kết hợp các chỉ số cung cấp đánh giá thị trường mạnh mẽ và đáng tin cậy.

  4. Các tín hiệu và quy tắc nhập cảnh rõ ràng, dễ thực hiện.

  5. Lựa chọn chỉ số và tham số hợp lý, backtest tốt và hiệu suất trực tiếp.

Phân tích rủi ro

Các rủi ro tiềm ẩn bao gồm:

  1. Khám phá sự khác biệt đơn giản có nguy cơ đánh giá sai các tín hiệu. Tối ưu hóa có thể làm giảm khả năng đánh giá sai.

  2. Cài đặt tham số tĩnh có thể hoạt động kém hơn trong điều kiện thị trường thay đổi. Các tham số thích nghi có thể cải thiện hiệu suất.

  3. Chế độ lọc ngẫu nhiên có thể bỏ lỡ một số cơ hội có lợi nhuận.

  4. Không có cơ chế kiểm soát lỗ nghiêm ngặt cho các vị trí mở.

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

Các lĩnh vực tối ưu hóa hơn nữa:

  1. Cải thiện logic nhận dạng tín hiệu phân kỳ cho tín hiệu chất lượng cao hơn.

  2. Kiểm tra các kết hợp tham số khác nhau để tìm các tham số tối ưu.

  3. Kết hợp các chiến lược dừng lỗ để kiểm soát downside trên các giao dịch cá nhân.

  4. Tối ưu hóa các quy tắc kích thước nhập cảnh và quản lý vị trí mở.

  5. giới thiệu máy học cho các tham số động và tối ưu hóa logic.

  6. Thêm thêm các nguồn dữ liệu cho việc điều khiển nhiều yếu tố đa biến.

Tóm lại

Chiến lược AO Double Stochastic Filtered Divergence kết hợp hiệu quả việc theo dõi xu hướng và xác định đảo ngược thông qua AO divergence và lọc Stochastic. Quy tắc rõ ràng, kết quả backtest tốt, với tiềm năng thực tế mạnh mẽ.


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

//@version=5
strategy("Fixed AO Divergence Strategy", shorttitle="Fixed AO+Stoch", overlay=true)

// Calculate Awesome Oscillator
ao() => ta.sma(hl2, 5) - ta.sma(hl2, 34)
aoVal = ao()

// Stochastic Oscillator
stochK = ta.stoch(close, high, low, 14)
stochD = ta.sma(stochK, 3)

// Simplify the divergence detection logic
// For educational purposes, we will define a basic divergence detection mechanism
// Real-world application would require more sophisticated logic

// Detect bullish and bearish divergences based on AO and price action
bullishDivergence = (close > close[1]) and (aoVal < aoVal[1])
bearishDivergence = (close < close[1]) and (aoVal > aoVal[1])

// Stochastic Overbought/Oversold conditions
stochOverbought = (stochK > 80) and (stochD > 80)
stochOversold = (stochK < 20) and (stochD < 20)

// Filtered signals
confirmedBullishSignal = bullishDivergence and stochOversold
confirmedBearishSignal = bearishDivergence and stochOverbought

// Plot signals
plotshape(series=confirmedBullishSignal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bullish Divergence", text="BUY")
plotshape(series=confirmedBearishSignal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Bearish Divergence", text="SELL")

// Strategy Entry
if (confirmedBullishSignal)
    strategy.entry("Long", strategy.long, comment="Long Entry")

if (confirmedBearishSignal)
    strategy.entry("Short", strategy.short, comment="Short Entry")


Thêm nữa