NeuroScriptNeuroScript®

Tendência

4 funções de análise de tendência do NeuroScript®

Análise Técnica - Tendência (4 funções)

ta.adx(high, low, close, length) - Average Directional Index

Mede a força da tendência (não a direção) de 0 a 100. Retorna objeto com adx, plusDI e minusDI.

NeuroScript
NeuroScript®
indicator("ADX", overlay=false)

var adxResult = ta.adx(high, low, close, 14)
var adxValue = adxResult.adx
var plusDI = adxResult.plusDI
var minusDI = adxResult.minusDI

var strongTrend = adxValue > 25
var uptrend = plusDI > minusDI and adxValue > 25
var downtrend = minusDI > plusDI and adxValue > 25

plot(adxValue, "ADX", color=color.red)
plot(plusDI, "+DI", color=color.green)
plot(minusDI, "-DI", color=color.red)
hline(25, "Trend Threshold")

Interpretação:

  • ADX < 20: Tendência fraca ou ausente
  • ADX > 25: Tendência forte
  • ADX > 50: Tendência muito forte
  • +DI > -DI: Tendência de alta
  • -DI > +DI: Tendência de baixa

ta.aroon(high, low, length) - Aroon Indicator

Mede direção e força da tendência calculando tempo desde máxima/mínima. Retorna objeto com up e down (0-100).

NeuroScript
NeuroScript®
indicator("Aroon", overlay=false)

var aroonResult = ta.aroon(high, low, 25)
var aroonUp = aroonResult.up
var aroonDown = aroonResult.down

var strongUptrend = aroonUp > 70 and aroonDown < 30
var strongDowntrend = aroonDown > 70 and aroonUp < 30

plot(aroonUp, "Aroon Up", color=color.green)
plot(aroonDown, "Aroon Down", color=color.red)
hline(70, "Upper threshold")
hline(30, "Lower threshold")

Interpretação:

  • Aroon Up = 100: Nova máxima no período (tendência de alta forte)
  • Aroon Down = 100: Nova mínima no período (tendência de baixa forte)
  • Aroon Up > Aroon Down: Tendência de alta dominante
  • Ambos perto de 50: Consolidação ou tendência fraca

ta.sar(high, low, start, increment, maximum) - Parabolic SAR (Stop and Reverse)

Identifica potenciais pontos de reversão na tendência de preços.

NeuroScript
NeuroScript®
indicator("Parabolic SAR", overlay=true)

var psar = ta.sar(high, low, 0.02, 0.02, 0.20)
var isUptrend = close > psar
var isDowntrend = close < psar

plot(psar, "Parabolic SAR", color=color.blue)

Parâmetros padrão: start=0.02, increment=0.02, maximum=0.20 Interpretação:

  • Pontos abaixo do preço: tendência de alta (bullish)
  • Pontos acima do preço: tendência de baixa (bearish)
  • Quando preço cruza SAR: reversão de tendência

ta.supertrend(high, low, close, period, multiplier) - SuperTrend Indicator ⭐ NOVO

Indicador de tendência que usa ATR para criar níveis dinâmicos de suporte/resistência. Retorna objeto com supertrend (linha) e direction (1 = alta, -1 = baixa).

NeuroScript
NeuroScript®
indicator("SuperTrend", overlay=true)

var stResult = ta.supertrend(high, low, close, 10, 3.0)
var st = stResult.supertrend
var direction = stResult.direction

// Trend detection
var bullish = direction > 0
var bearish = direction < 0

// Entry signals on trend change
var longSignal = direction > 0 and direction[1] < 0
var shortSignal = direction < 0 and direction[1] > 0

// Plot com cores dinâmicas
var stColor = bullish ? color.green : color.red
plot(st, "SuperTrend", color=stColor, linewidth=2)

Parâmetros comuns:

  • (7, 3.0): Agressivo - mais sinais, mais ruído
  • (10, 3.0): Balanceado - uso geral (padrão)
  • (14, 3.0): Conservador - menos sinais, mais confiável

Usos: Trailing stop-loss, identificação de tendência, sinais de entrada/saída


Exemplo: ADX com Direção de Tendência

NeuroScript
NeuroScript®
indicator("ADX Trend System", overlay=false)

// Inputs
var length = input.int(14, "ADX Period")
var adxThreshold = input.int(25, "Trend Threshold", minval=0, maxval=100)

// Cálculo do ADX
var adxResult = ta.adx(high, low, close, length)
var adxValue = adxResult.adx
var plusDI = adxResult.plusDI
var minusDI = adxResult.minusDI

// Detecção de tendências
var strongTrend = adxValue > adxThreshold
var uptrend = plusDI > minusDI and strongTrend
var downtrend = minusDI > plusDI and strongTrend

// Cores baseadas em tendência
var adxColor = strongTrend ? color.green : color.gray
var diPlusColor = uptrend ? color.blue : color.gray
var diMinusColor = downtrend ? color.red : color.gray

// Plotar
plot(adxValue, "ADX", color=adxColor, linewidth=2)
plot(plusDI, "+DI", color=diPlusColor, linewidth=1)
plot(minusDI, "-DI", color=diMinusColor, linewidth=1)

// Linha de threshold
hline(adxThreshold, "Trend Threshold", color=color.gray, linestyle="dashed")

return adxValue