
La estrategia es un sistema de comercio cuantitativo integrado que combina múltiples medias, indicadores relativamente fuertes (RSI), indicadores de tendencia promedio (ADX) y análisis de volumen de transacción. La estrategia se realiza mediante la combinación de múltiples indicadores técnicos para operar sobre la base de la confirmación de tendencias, aumentando la fiabilidad de las operaciones mediante el filtrado de indicadores de volumen de transacción y dinámica.
La lógica central de la estrategia se basa en los siguientes componentes clave:
El sistema de líneas medias múltiples proporciona un criterio de referencia para las tendencias de precios, el ADX asegura que se negocie solo cuando la tendencia es lo suficientemente fuerte, el RSI ayuda a evitar la caída de la caza, y el análisis de volúmenes de transacción asegura que la negociación ocurra en períodos de mayor actividad del mercado.
Se recomienda administrar el riesgo de la siguiente manera:
La estrategia se basa en la combinación de múltiples indicadores técnicos para construir un sistema de seguimiento de tendencias relativamente completo. La principal característica de la estrategia es mejorar la fiabilidad de las transacciones a través de múltiples confirmaciones, mientras que el control de riesgos a través de diversos filtros. Aunque es posible que se pierdan algunas oportunidades de negociación, en general ayuda a mejorar la estabilidad de las transacciones.
/*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")