Diese Strategie ist ein umfassendes quantitatives Handelssystem, das mehrere gleitende Durchschnitte, Relative Strength Index (RSI), Average Directional Index (ADX) und Volumenanalyse kombiniert.
Die Kernlogik beruht auf mehreren Schlüsselkomponenten:
Das Multiple Moving Average-System liefert grundlegende Trendbeurteilungen, der ADX sorgt dafür, dass nur starke Trends gehandelt werden, der RSI hilft, Extreme zu vermeiden und die Volumenanalyse sorgt dafür, dass der Handel in Zeiten hoher Marktaktivität stattfindet.
Empfehlungen für das Risikomanagement:
Die Strategie baut ein relativ vollständiges Trendfolgensystem durch mehrere technische Indikatoren auf, die zusammenarbeiten. Sein Hauptmerkmal ist die Verwendung mehrerer Bestätigungen, um die Handelszuverlässigkeit zu verbessern und gleichzeitig das Risiko durch verschiedene Filter zu kontrollieren. Obwohl es einige Chancen verpassen kann, hilft es im Allgemeinen, die Handelsstabilität zu verbessern. Die vorgeschlagenen Optimierungsrichtungen bieten Raum für weitere Strategieverbesserungen.
/*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")