
Strategi ini adalah sistem pelacakan tren berdasarkan indikator ADX dan volume transaksi. Ini menilai kekuatan tren dengan menggabungkan indikator ADX dan menggunakan volume transaksi sebagai sinyal konfirmasi untuk menangkap peluang perdagangan yang andal di pasar yang sedang tren. Logika inti dari strategi ini adalah untuk melakukan perdagangan hanya ketika pasar menunjukkan tren yang jelas dan didukung oleh volume transaksi yang cukup.
Strategi ini menggunakan indikator ADX dan mekanisme penyaringan ganda volume transaksi. Ketika nilai ADX melebihi batas yang ditetapkan (default 26), menunjukkan adanya tren yang jelas di pasar; serta mengkonfirmasi efektivitas tren dengan membandingkan volume transaksi saat ini dengan rasio rata-rata volume transaksi 20 periode (default multiplier 1.8). Berdasarkan pemenuhan kedua kondisi ini, arah tren dinilai berdasarkan hubungan yang relatif kuat antara DI + dan DI - sehingga menentukan arah posisi dibuka.
Ini adalah strategi pelacakan tren yang terstruktur, logis dan jelas. Dengan menggunakan indikator ADX dan volume perdagangan, masalah keandalan sinyal dalam perdagangan tren diselesaikan dengan lebih baik. Pengaturan parameter strategi fleksibel dan dapat dioptimalkan sesuai dengan karakteristik pasar yang berbeda. Meskipun ada risiko keterlambatan tertentu, strategi ini memiliki nilai praktis yang baik dengan penyesuaian dan pengoptimalan parameter yang sesuai.
/*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)