
La estrategia es un sistema de seguimiento de tendencias basado en el indicador ADX y el volumen de transacciones. En combinación con el indicador ADX, determina la intensidad de la tendencia y utiliza el volumen de transacciones como señal de confirmación para capturar oportunidades de negociación confiables en mercados de fuerte tendencia. La lógica central de la estrategia es operar solo cuando el mercado presenta una tendencia evidente y está respaldado por un volumen de transacciones suficiente.
La estrategia utiliza el indicador ADX y el mecanismo de doble filtración del volumen de transacciones. Cuando el valor de ADX supera el umbral establecido (el 26 por defecto), indica que hay una tendencia evidente en el mercado. Al mismo tiempo, confirma la efectividad de la tendencia comparando el volumen de transacciones actual con la relación de la línea media de volumen de transacciones de 20 períodos (el 1,8 por defecto).
Esta es una estrategia de seguimiento de tendencias estructurada y con claridad lógica. El uso combinado de indicadores ADX y volúmenes de transacciones resuelve mejor los problemas de fiabilidad de la señal en el comercio de tendencias. La configuración de los parámetros de la estrategia es flexible y se puede optimizar según las diferentes características del mercado.
/*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)