Cette stratégie est un système de trading quantitatif complet qui combine plusieurs moyennes mobiles, l'indice de force relative (RSI), l'indice directionnel moyen (ADX) et l'analyse de volume.
La logique de base est basée sur plusieurs éléments clés: 1. Système de moyenne mobile multiple utilisant Double HullMA, moyenne mobile pondérée par volume (VWMA) et moyenne mobile pondérée de base (WMA) 2. Évaluation de la force de la tendance à l'aide de l'indicateur ADX, négociation uniquement dans des tendances fortes Filtrage des indices de risque pour éviter les conditions de marché extrêmes 4. Analyse du volume nécessitant un volume supérieur au seuil pour les signaux de trading 5. Détermination de la direction du commerce par le croisement des lignes n1 et n2
Le système des moyennes mobiles multiples fournit un jugement de tendance de base, l'ADX assure la négociation uniquement dans des tendances fortes, le RSI aide à éviter de poursuivre des extrêmes et l'analyse du volume assure la négociation pendant les périodes d'activité élevée du marché.
Recommandations en matière de gestion des risques: - Ajuster les paramètres en fonction des caractéristiques du marché - Définir les niveaux appropriés de stop-loss et de take-profit - dimensionnement de la position de commande - Retour sur la stratégie régulièrement
La stratégie construit un système de suivi de tendance relativement complet à travers plusieurs indicateurs techniques travaillant en concert. Sa principale caractéristique est l'utilisation de plusieurs confirmations pour améliorer la fiabilité du trading tout en contrôlant le risque à travers divers filtres. Bien qu'elle puisse manquer certaines opportunités, elle aide généralement à améliorer la stabilité du trading.
/*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")