
A estratégia é um sistema de rastreamento de tendências baseado nos indicadores ADX e no volume de transações. Ele julga a força da tendência combinando os indicadores ADX e usa o volume de transações como sinal de confirmação para capturar oportunidades de negociação confiáveis em mercados de forte tendência. A lógica central da estratégia é negociar apenas quando o mercado apresenta uma tendência evidente e é apoiado por volume de transações suficiente.
A estratégia utiliza o indicador ADX e o mecanismo de dupla filtragem de volume de transação. Quando o valor do ADX ultrapassa o limiar definido (default 26), indica-se a presença de uma tendência visível no mercado. Ao mesmo tempo, a eficácia da tendência é confirmada comparando o volume de transação atual com a relação da linha média de volume de transação de 20 ciclos (default multiplier 1.8).
Esta é uma estratégia de acompanhamento de tendências com uma estrutura completa e lógica clara. A melhor solução para a fiabilidade do sinal em negociação de tendências é o uso combinado de indicadores ADX e volume de negociação. A configuração de parâmetros da estratégia é flexível e pode ser otimizada de acordo com diferentes características do 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)