NeuroScriptNeuroScript®

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.

NeuroScript
NeuroScript®
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.

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

NeuroScript
NeuroScript®
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.

NeuroScript
NeuroScript®
var rma14 = ta.rma(close, 14)

ta.vwma(series, volume, length) - Volume Weighted Moving Average

Média móvel ponderada por volume.

NeuroScript
NeuroScript®
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.

NeuroScript
NeuroScript®
var hma20 = ta.hma(close, 20)
plot(hma20, "HMA 20", color=color.purple, linewidth=2)

// HMA é mais responsiva que SMA/EMA
var uptrend = close > hma20

Exemplo: Sistema de Cruzamento de Médias Móveis

NeuroScript
NeuroScript®
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