Médias Móveis
6 funções de médias móveis do NeuroScript®
Análise Técnica - Médias Móveis (6 funções)
ta.sma(series, length) - Simple Moving Average (Média Móvel Simples)
Calcula a média aritmética dos últimos N valores.
var sma20 = ta.sma(close, 20)
plot(sma20, "SMA 20", color=color.blue)ta.ema(series, length) - Exponential Moving Average (Média Móvel Exponencial)
Calcula a média móvel com ponderação exponencial, dando mais peso aos valores recentes.
var ema12 = ta.ema(close, 12)
var ema26 = ta.ema(close, 26)
plot(ema12, "EMA 12", color=color.blue)
plot(ema26, "EMA 26", color=color.red)ta.wma(series, length) - Weighted Moving Average (Média Móvel Ponderada)
Média móvel com ponderação linear decrescente (valores mais recentes têm maior peso).
var wma10 = ta.wma(close, 10)ta.rma(series, length) - Rolling Moving Average (Wilder's Smoothing)
Também conhecida como Smoothed Moving Average, utiliza o método de suavização de Wilder.
var rma14 = ta.rma(close, 14)ta.vwma(series, volume, length) - Volume Weighted Moving Average
Média móvel ponderada por volume.
var vwma20 = ta.vwma(close, volume, 20)ta.hma(series, length) - Hull Moving Average ⭐ NOVO
Média móvel com lag reduzido e suavização melhorada. Criada por Alan Hull, combina WMAs para eliminar o atraso das médias tradicionais.
var hma20 = ta.hma(close, 20)
plot(hma20, "HMA 20", color=color.purple, linewidth=2)
// HMA é mais responsiva que SMA/EMA
var uptrend = close > hma20Exemplo: Sistema de Cruzamento de Médias Móveis
indicator("MA Crossover System", overlay=true)
// Inputs
var fastLength = input.int(9, "Fast MA Period", minval=1)
var slowLength = input.int(21, "Slow MA Period", minval=1)
// Cálculo das médias
var fastMA = ta.ema(close, fastLength)
var slowMA = ta.ema(close, slowLength)
// Detecção de cruzamentos
var crossUp = ta.crossover(fastMA, slowMA)
var crossDown = ta.crossunder(fastMA, slowMA)
// Plotar médias
plot(fastMA, "Fast EMA", color=color.blue, linewidth=1)
plot(slowMA, "Slow EMA", color=color.red, linewidth=2)
// Preencher área entre médias
var p1 = plot(fastMA)
var p2 = plot(slowMA)
var fillCol = fastMA > slowMA ? color.green : color.red
fill(p1, p2, color=fillCol, transp=90)
return crossUp ? 1 : crossDown ? -1 : 0