Strategi ini adalah sistem mengikuti tren berdasarkan indikator ADX dan volume perdagangan. Ini menggabungkan indikator ADX untuk menentukan kekuatan tren dan menggunakan volume sebagai sinyal konfirmasi untuk menangkap peluang perdagangan yang dapat diandalkan di pasar tren yang kuat. Logika inti adalah untuk berdagang hanya ketika pasar menunjukkan tren yang jelas didukung oleh volume perdagangan yang cukup.
Strategi ini menggunakan mekanisme penyaringan ganda menggunakan ADX dan volume. Ketika nilai ADX melebihi ambang batas yang ditetapkan (default 26), ini menunjukkan tren pasar yang signifikan. Sementara itu, ini mengkonfirmasi validitas tren dengan membandingkan volume saat ini dengan rata-rata bergerak volume 20 periode (multiplikator default 1.8). Berdasarkan dua kondisi ini, arah perdagangan ditentukan oleh kekuatan relatif DI + dan DI-. Strategi secara otomatis menutup posisi ketika sinyal terbalik muncul untuk mengendalikan risiko.
Ini adalah strategi mengikuti tren dengan struktur lengkap dan logika yang jelas. Melalui kombinasi indikator ADX dan volume perdagangan, secara efektif mengatasi masalah keandalan sinyal dalam perdagangan tren. Strategi ini memiliki pengaturan parameter yang fleksibel yang dapat dioptimalkan untuk karakteristik pasar yang berbeda. Meskipun ada risiko tertinggal tertentu, strategi ini memiliki nilai praktis yang baik melalui penyesuaian parameter yang sesuai dan peningkatan optimasi.
/*backtest start: 2024-01-01 00:00:00 end: 2024-11-11 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © traderhub //@version=5 strategy("ADX + Volume Strategy", overlay=true) // Strategy parameters adxLength = input(21, title="ADX Period") // ADX period adxThreshold = input(26, title="ADX Threshold") // ADX threshold to determine strong trend volumeMultiplier = input.float(1.8, title="Volume Multiplier", minval=0.1, maxval=10 , step = 0.1) // Volume multiplier, adjustable float // Calculate ADX, DI+, DI- [diPlus, diMinus, adx] = ta.dmi(adxLength, adxLength) // Average volume for signal confirmation avgVolume = ta.sma(volume, 20) // Simple Moving Average of volume over 20 bars // Conditions for entering a long position longCondition = adx > adxThreshold and diPlus > diMinus and volume > avgVolume * volumeMultiplier // Conditions for entering a short position shortCondition = adx > adxThreshold and diMinus > diPlus and volume > avgVolume * volumeMultiplier // Enter a long position if (longCondition) strategy.entry("Long", strategy.long) // Enter a short position if (shortCondition) strategy.entry("Short", strategy.short) // Close positions on opposite signals if (strategy.position_size > 0 and shortCondition) strategy.close("Long") if (strategy.position_size < 0 and longCondition) strategy.close("Short") // Display ADX on the chart plot(adx, color=color.red, title="ADX") hline(adxThreshold, "ADX Threshold", color=color.green)