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:
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:
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")