
La stratégie est un système de trading quantitatif intégré qui combine des moyennes multiples, des indices relativement faibles (RSI), des indices de tendance moyens (ADX) et une analyse de volume de transactions. La stratégie est basée sur la synergie de plusieurs indicateurs techniques, la négociation sur la base de la confirmation de la tendance, et la fiabilité de la négociation est améliorée par le filtrage des indicateurs de volume de transactions et de dynamique.
La logique fondamentale de la stratégie repose sur les éléments clés suivants :
Le système de multiples moyennes fournit un jugement de référence sur les tendances des prix, l’ADX assure la négociation uniquement lorsque la tendance est suffisamment forte, le RSI aide à éviter de suivre les baisses de la chasse, tandis que l’analyse des volumes assure la négociation pendant les périodes de plus grande activité du marché.
Il est recommandé de gérer les risques de la manière suivante:
La stratégie a pour caractéristique principale d’améliorer la fiabilité des transactions grâce à des confirmations multiples, tout en contrôlant les risques par divers filtres. Bien que certaines opportunités de transactions puissent être manquées, elle contribue globalement à améliorer la stabilité des transactions.
/*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")