Chiến lược này là một hệ thống giao dịch định lượng toàn diện kết hợp nhiều đường trung bình động, Chỉ số sức mạnh tương đối (RSI), Chỉ số hướng trung bình (ADX) và phân tích khối lượng. Chiến lược thực hiện giao dịch dựa trên xác nhận xu hướng thông qua nhiều chỉ số kỹ thuật, sử dụng bộ lọc khối lượng và động lực để tăng độ tin cậy giao dịch.
Logic cốt lõi dựa trên một số thành phần chính: 1. Hệ thống trung bình chuyển động nhiều sử dụng Double HullMA, Volume-Weighted Moving Average (VWMA) và cơ bản Đường trung bình chuyển động (WMA) Đánh giá sức mạnh xu hướng bằng chỉ số ADX, chỉ giao dịch trong xu hướng mạnh 3. lọc RSI để tránh các điều kiện thị trường cực đoan 4. Phân tích khối lượng đòi hỏi khối lượng trên ngưỡng cho tín hiệu giao dịch Định hướng giao dịch thông qua đường chéo n1 và n2
Hệ thống trung bình động đa cung cấp đánh giá xu hướng cơ bản, ADX đảm bảo giao dịch chỉ trong xu hướng mạnh, RSI giúp tránh theo đuổi cực đoan và phân tích khối lượng đảm bảo giao dịch trong thời gian hoạt động thị trường cao.
Khuyến nghị quản lý rủi ro: - Điều chỉnh các thông số dựa trên đặc điểm thị trường - Đặt mức dừng lỗ và lợi nhuận thích hợp - Định kích thước vị trí điều khiển - Kiểm tra lại chiến lược thường xuyên
Chiến lược này xây dựng một hệ thống theo xu hướng tương đối hoàn chỉnh thông qua nhiều chỉ số kỹ thuật hoạt động phối hợp. Đặc điểm chính của nó là sử dụng nhiều xác nhận để cải thiện độ tin cậy giao dịch trong khi kiểm soát rủi ro thông qua các bộ lọc khác nhau. Mặc dù nó có thể bỏ lỡ một số cơ hội, nhưng nó thường giúp cải thiện sự ổn định giao dịch. Các hướng tối ưu hóa được đề xuất cung cấp không gian để nâng cao chiến lược hơn nữa.
/*backtest start: 2024-11-11 00:00:00 end: 2024-12-10 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Optimized Multi-MA Strategy with Volume, ADX and RSI", overlay=true) // Kullanıcı Parametreleri keh = input.int(3, title="Double HullMA", minval=1) teh = input.int(3, title="Volume-Weighted MA", minval=1) yeh = input.int(75, title="Base Weighted MA", minval=1) rsiPeriod = input.int(14, title="RSI Period", minval=1) adxPeriod = input.int(14, title="ADX Period", minval=1) volumeLookback = input.int(10, title="Volume Lookback Period", minval=1) // Son X mumun hacmi adxThreshold = input.int(20, title="ADX Trend Strength Threshold", minval=1) // ADX için trend gücü eşiği // Hareketli Ortalamalar rvwma = ta.vwma(close, teh) yma = ta.wma(close, yeh) n2ma = 2 * ta.wma(close, math.round(keh / 2)) nma = ta.wma(close, keh) diff = n2ma - nma sqrtKeh = math.round(math.sqrt(keh)) n1 = ta.wma(diff, sqrtKeh) n2 = ta.wma(diff[1], sqrtKeh) // ADX Hesaplaması trueRange = ta.rma(ta.tr, adxPeriod) plusDM = ta.rma(math.max(high - high[1], 0), adxPeriod) minusDM = ta.rma(math.max(low[1] - low, 0), adxPeriod) plusDI = (plusDM / trueRange) * 100 minusDI = (minusDM / trueRange) * 100 dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100 adx = ta.rma(dx, adxPeriod) trendIsStrong = adx > adxThreshold // RSI Filtreleme rsiValue = ta.rsi(close, rsiPeriod) rsiFilter = rsiValue > 30 and rsiValue < 70 // Aşırı alım ve aşırı satım bölgelerinin dışında olmak // Hacim Filtresi volumeThreshold = ta.sma(volume, volumeLookback) // Ortalama hacim seviyesi highVolume = volume > volumeThreshold // Sinyal Şartları (Sadece güçlü trendler ve rsi'nın aşırı bölgelerde olmaması) longCondition = n1 > n2 and close > rvwma and trendIsStrong and rsiFilter and highVolume shortCondition = n1 < n2 and close < rvwma and trendIsStrong and rsiFilter and highVolume // Hacim Filtresi ile İşaretler plotshape(series=longCondition and highVolume ? close : na, style=shape.triangleup, location=location.belowbar, color=color.blue, size=size.small, title="High Volume Long Signal") plotshape(series=shortCondition and highVolume ? close : na, style=shape.triangledown, location=location.abovebar, color=color.purple, size=size.small, title="High Volume Short Signal") // Strateji Giriş ve Çıkış Şartları if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Görsel Göstergeler plot(n1, color=color.green, title="N1 Line") plot(n2, color=color.red, title="N2 Line") plot(rvwma, color=color.yellow, linewidth=2, title="VWMA") plot(yma, color=color.orange, title="Base Weighted MA")