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.
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).
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.
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).
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
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