Strategi ini adalah sistem mengikuti trend berdasarkan penunjuk ADX dan jumlah dagangan. Ia menggabungkan penunjuk ADX untuk menentukan kekuatan trend dan menggunakan jumlah sebagai isyarat pengesahan untuk menangkap peluang dagangan yang boleh dipercayai di pasaran trend yang kuat. Logik teras adalah untuk berdagang hanya apabila pasaran menunjukkan trend yang jelas yang disokong oleh jumlah dagangan yang mencukupi.
Strategi ini menggunakan mekanisme penapisan berganda menggunakan ADX dan jumlah. Apabila nilai ADX melebihi ambang yang ditetapkan (default 26), ia menunjukkan trend pasaran yang signifikan. Sementara itu, ia mengesahkan keabsahan trend dengan membandingkan jumlah semasa dengan purata bergerak jumlah 20 tempoh (pembalap lalai 1.8). Berdasarkan kedua-dua keadaan ini, arah perdagangan ditentukan oleh kekuatan relatif DI + dan DI-. Strategi secara automatik menutup kedudukan apabila isyarat terbalik muncul untuk mengawal risiko.
Ini adalah strategi trend-mengikuti dengan struktur lengkap dan logik yang jelas. Melalui gabungan penunjuk ADX dan jumlah dagangan, ia berkesan menangani isu kebolehpercayaan isyarat dalam perdagangan trend. Strategi ini mempunyai tetapan parameter yang fleksibel yang boleh dioptimumkan untuk ciri pasaran yang berbeza. Walaupun terdapat risiko kelewatan tertentu, strategi ini mempunyai nilai praktikal yang baik melalui penyesuaian parameter yang sesuai dan penambahbaikan pengoptimuman.
/*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)