Volatilidade
5 funções de análise de volatilidade do NeuroScript®
Análise Técnica - Volatilidade (5 funções)
ta.tr(high, low, close) - True Range
Mede a volatilidade da faixa de preços. É o maior valor entre:
- high - low
- abs(high - close[1])
- abs(low - close[1])
var trueRange = ta.tr(high, low, close)ta.atr(high, low, close, length) - Average True Range
Indicador de volatilidade suavizado usando RMA (Wilder's smoothing).
indicator("ATR", overlay=false)
var atr14 = ta.atr(high, low, close, 14)
var stopLoss = close - 2 * atr14
plot(atr14, "ATR", color=color.blue)Usos comuns: Medição de volatilidade, posicionamento de stop-loss, dimensionamento de posição
ta.stdev(series, length) - Standard Deviation (Desvio Padrão)
Calcula o desvio padrão populacional dos últimos N valores.
var stddev = ta.stdev(close, 20)ta.bb(series, length, mult) - Bollinger Bands
Calcula bandas de volatilidade usando desvio padrão. Retorna objeto com upper, middle e lower.
indicator("Bollinger Bands", overlay=true)
var bbResult = ta.bb(close, 20, 2.0)
var upper = bbResult.upper
var middle = bbResult.middle
var lower = bbResult.lower
var p1 = plot(upper, "Upper Band", color=color.blue)
var p2 = plot(middle, "Middle Band", color=color.gray)
var p3 = plot(lower, "Lower Band", color=color.blue)
fill(p1, p3, color=color.blue, transp=95)Parâmetros padrão: length=20, mult=2.0 Interpretação: Preço perto da banda superior = possível sobrecompra, banda inferior = possível sobrevenda
ta.bbw(series, length, mult) - Bollinger Bands Width ⭐ NOVO
Mede a largura entre as bandas superior e inferior de Bollinger. Útil para detectar "squeezes" (consolidação) que antecedem grandes movimentos.
var bbw20 = ta.bbw(close, 20, 2.0)
// Squeeze: baixa volatilidade (possível breakout iminente)
var squeeze = bbw20 < 0.05
// Expansion: alta volatilidade (movimento forte em curso)
var expansion = bbw20 > 0.15
plot(bbw20, "BB Width", color=squeeze ? color.red : color.green)
hline(0.05, "Squeeze Level", color=color.red, linestyle=2)Interpretação: BBW baixo indica consolidação (setup para breakout), BBW alto indica movimento forte
Exemplo: Bollinger Bands com Breakout
indicator("Bollinger Breakout", overlay=true)
// Inputs
var length = input.int(20, "BB Period")
var mult = input.float(2.0, "Std Dev Multiplier", minval=0.5, maxval=5.0, step=0.1)
// Cálculo das Bollinger Bands
var bb = ta.bb(close, length, mult)
var upper = bb.upper
var middle = bb.middle
var lower = bb.lower
// Detecção de breakouts
var upperBreakout = close > upper
var lowerBreakout = close < lower
// Plotar bandas
var p1 = plot(upper, "Upper Band", color=color.blue, linewidth=1)
var p2 = plot(middle, "Middle Band", color=color.gray, linewidth=1, linestyle="dashed")
var p3 = plot(lower, "Lower Band", color=color.blue, linewidth=1)
// Preencher entre bandas
fill(p1, p3, color=color.blue, transp=95, title="BB Channel")
// Plotar breakouts
var breakColor = upperBreakout ? color.red : lowerBreakout ? color.green : ta.na
plot(breakColor != ta.na ? close : ta.na, "Breakout", color=breakColor, linewidth=3, style="circles")
return middle