Strategi ini adalah sistem perdagangan kuantitatif yang komprehensif yang menggabungkan beberapa moving average, Relative Strength Index (RSI), Average Directional Index (ADX), dan analisis volume.
Logika inti didasarkan pada beberapa komponen utama: 1. Sistem rata-rata bergerak ganda menggunakan Double HullMA, Volume-Weighted Moving Average (VWMA), dan Basic Weighted Moving Average (WMA) 2. Penilaian kekuatan tren menggunakan indikator ADX, perdagangan hanya dalam tren yang kuat 3. penyaringan RSI untuk menghindari kondisi pasar yang ekstrim 4. Analisis volume yang membutuhkan volume di atas ambang batas untuk sinyal perdagangan 5. Penentuan arah perdagangan melalui persimpangan garis n1 dan n2
Sistem rata-rata bergerak ganda memberikan penilaian tren dasar, ADX memastikan perdagangan hanya dalam tren yang kuat, RSI membantu menghindari mengejar ekstrem, dan analisis volume memastikan perdagangan selama periode aktivitas pasar yang tinggi.
Rekomendasi manajemen risiko: - Sesuaikan parameter berdasarkan karakteristik pasar - Menetapkan stop-loss yang tepat dan mengambil tingkat keuntungan - Pengukuran posisi kontrol - Strategi backtesting reguler
Strategi ini membangun sistem trend berikut yang relatif lengkap melalui beberapa indikator teknis yang bekerja bersama. Fitur utamanya adalah menggunakan beberapa konfirmasi untuk meningkatkan keandalan perdagangan sambil mengendalikan risiko melalui berbagai filter. Meskipun mungkin kehilangan beberapa peluang, itu umumnya membantu meningkatkan stabilitas perdagangan. Arahan optimasi yang disarankan memberikan ruang untuk peningkatan strategi lebih lanjut.
/*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")