Chiến lược này sử dụng các tín hiệu chéo Williams % R và thêm bộ lọc trung bình động để tạo ra một hệ thống giao dịch ngắn hạn linh hoạt.
Tính toán Williams %R và trung bình di chuyển đơn giản 200 thời gian (MA).
Đi dài khi %R vượt qua mức -50 bằng một ngưỡng và đóng là trên MA.
Đi ngắn khi %R vượt qua dưới mức -50 bằng một ngưỡng và đóng là dưới MA.
Nếu dài, đóng vị trí khi gần đạt được lợi nhuận (giá nhập + lấy lợi nhuận pips) hoặc mức dừng lỗ (giá nhập - dừng lỗ pips).
Nếu ngắn, đóng vị trí khi gần đạt được lợi nhuận (giá nhập - lấy lợi nhuận pips) hoặc mức dừng lỗ (giá nhập + dừng lỗ pips).
Chiến lược này tận dụng tính chất quá mua / quá bán của Williams % R và kết hợp bộ lọc xu hướng MA cho các tín hiệu đáng tin cậy hơn.
Williams %R xác định hiệu quả mức mua quá mức / bán quá mức với các tín hiệu rõ ràng.
Bộ lọc MA thêm xu hướng thiên vị để tránh whipsaws.
Các tham số có thể tùy chỉnh để linh hoạt.
Chế độ dừng lỗ sẽ giữ được lợi nhuận.
Một logic đơn giản, rõ ràng, dễ hiểu và thực hiện, tốt cho giao dịch ngắn hạn.
Áp dụng cho nhiều sản phẩm với tính linh hoạt.
Williams %R có hiệu ứng chậm, có thể bỏ lỡ một số cơ hội.
Bộ lọc MA cũng có một số lag.
Các quy tắc mua/bán quá mức nghiêm ngặt có thể bỏ qua một số xu hướng.
Dừng mất mát quá chặt có thể bị dừng bởi whipsaws.
Stop loss quá rộng có thể hạn chế lợi nhuận.
Các thông số cần điều chỉnh cho môi trường thị trường khác nhau.
Tối ưu hóa các thông số cho tỷ lệ chiến thắng cao hơn.
Thêm các bộ lọc khác như MACD, KDJ vv.
Hãy thử các loại MA khác nhau như MA theo hàm số.
Thêm xu hướng thiên vị, chỉ giao dịch theo hướng xu hướng.
Tối ưu hóa các chiến lược dừng lỗ như dừng động, ra khỏi đèn chùm vv
Hãy thử định kích thước vị trí như phân số cố định, Martingale vv
Sử dụng máy học để tối ưu hóa các tham số tốt hơn.
Chiến lược này kết hợp các tín hiệu mua quá nhiều / bán quá nhiều của Williams % R với bộ lọc xu hướng MA thành một hệ thống ngắn hạn đơn giản. Nó có các tín hiệu đầu vào rõ ràng và logic dừng lỗ / lấy lợi nhuận. Có thể cải thiện thêm thông qua điều chỉnh tham số, lựa chọn chỉ số, quản lý dừng lỗ v.v. để tăng độ bền hơn. Dễ thực hiện và mở rộng, chiến lược này phù hợp với các nhà giao dịch ngắn hạn.
/*backtest start: 2023-08-19 00:00:00 end: 2023-09-18 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Williams %R Cross Strategy with MA Filter", overlay=true) // User Inputs wrLength = input(14, title="Williams %R Length") crossPips = input(10, title="Cross Threshold (Pips)") takeProfitPips = input(30, title="Take Profit (Pips)") stopLossPips = input(20, title="Stop Loss (Pips)") // Calculate Williams %R wrHigh = ta.highest(high, wrLength) wrLow = ta.lowest(low, wrLength) wr = (wrHigh - close) / (wrHigh - wrLow) * -100 // Calculate 200-period Simple Moving Average ma200 = ta.sma(close, 200) // Entry Conditions enterLong = ta.crossover(wr, -50 - crossPips) and close > ma200 enterShort = ta.crossunder(wr, -50 + crossPips) and close < ma200 // Exit Conditions exitLong = close >= (strategy.position_avg_price + (takeProfitPips / syminfo.mintick)) or close <= (strategy.position_avg_price - (stopLossPips / syminfo.mintick)) exitShort = close <= (strategy.position_avg_price - (takeProfitPips / syminfo.mintick)) or close >= (strategy.position_avg_price + (stopLossPips / syminfo.mintick)) // Order Management if enterLong strategy.entry("Long", strategy.long) if enterShort strategy.entry("Short", strategy.short) if exitLong strategy.close("Long") if exitShort strategy.close("Short")