You are on page 1of 40

Este documento foi produzido pela MCTrade atravs da traduo

e adaptao de parte do contedo do manual original do


MetaStock MetaStock User Manual. MetaStock marca
registrada da Equis International.

Pg. 2

Exceto onde permitido por lei, nenhuma parte deste documento pode ser
reproduzida ou transmitida por qualquer processo ou meio sem a permisso
prvia por escrito da MCTrade. A MCTrade por meio da publicao deste
documento, no garante que qualquer informao contida aqui ou permanecer
exata ou que o uso da informao assegurar a operao correta e sem falhas do
produto em questo. A MCTrade oferece seus produtos e servios como
ferramentas para serem usadas por investidores que esto conscientes do risco
inerente negociao em bolsa de valores, no como recomendaes de compra
ou venda. A MCTrade, seus agentes, afiliados e empregados no sero
considerados responsveis por ou atravs de qualquer usurio por qualquer perda
ou dano que possam resultar da confiana na informao contida neste
documento.

Pg. 3

O que a Linguagem de Frmulas do MetaStock?


A Linguagem de Frmulas do MetaStock (MetaStock Frmula Language) uma linguagem
especial de programao usada para definir e criar indicadores customizados, system tests,
exploraes e experts. uma linguagem similar quela usada em populares planilhas.
De modo simples, ela composta de funes de alto nvel (ex.: mov(), rsi(), abs()), operadores
matemticos (ex.: +, -, /, *), e parmetros (abertura, maxima, minima, fechamento, etc.).
Esta linguagem o fundamento e a ligao comum entre cada uma das 4 ferramentas:
Indicadores
Customizados

System Tests

Exploraes

Experts

Linguagem de Frmulas MetaStock

Identificadores de preos
So identificadores de campos especficos de preo, nos quais as frmulas podem operar.
Nome
Abertura
Mxima
Mnima
Fechamento
Volume
Taxa de juros
Indicador
Valor anterior

Abreviatura
O
H
L
C
V
OI
P
PREV

Operadores matemticos
So a cola que une a frmula. Os operadores bsicos so os seguintes:
Sinal
+
*
/

Significado
Adio
Subtrao
Multiplicao
Diviso

H operadores avanados, como raz quadrada, que sero explicados mais tarde

Pg. 4

Precedncia de operadores
Os parnteses podem ser usados para controlar a precedncia das operaes dentro de uma
frmula. Caso no sejam usados, a seguinte precedncia ter efeito:
Sinal
*
/
+
<
>
<=
>=
=
<>
And
Or
:=

Significado
Valor negativo
Multiplicao
Diviso
Adio
Subtrao
Menor que
Maior que
Menor ou igual
Maior ou igual
Igual
Diferente
E lgico
Ou lgico
Operador de atribuio de varivel

Funes
Alm das 4 operaes matemticas bsicas, o MetaStock possui mais de 200 funes que
fazem operaes matemticas. Todas elas sero explicadas mais adiante.
Todas funes devem ser seguidas de um par de parnteses.

Parmetros de funes
Parmetros provm funo as informaes necessrias para o clculo da mesma. Por
exemplo, a funo sqrt() requer um nico parmetro dentro dos parnteses, que no caso, o
valor que ter sua raiz quadrada calculada.
Algumas funes podem requerer nenhum, um ou vrios parmetros. Este ltimo caso se
observa neste exemplo: mov(rsi(14),30,simple)

Localizando erros em frmulas


O MetaStock faz um timo trabalho no reporte de erros em frmulas. A sintaxe da frmula
checada, de modo a impossibilitar a entrada de uma frmula com erros. No caso de erro
detectado, a frmula ser exibida com o cursor posicionado no local exato do erro e com a
respectiva mensagem de erro.

Pg. 5

Inserindo funes
Clicando no boto Functions quando entrando uma frmula, o MetaStock exibir uma janela
com suas mais de 200 funes, dividas em categorias, de modo a auxili-lo a lembrar o nome e
formato da frmula

Funes aninhadas
Uma funo pode estar dentro de outra funo, servindo como parmetro primeira. Este
aninhamento pode ser feito em mais de um nvel.
Exemplos:
stdev( stoch(5,3), 10 )
mov( rsi(15), 10, SIMPLE)
mov( mov( rsi(15), 20, W), 10, SIMPLE)

Usando operadores And e Or


Se uma frmula requer mltiplas condies, voc pode combinar as condies com
operadores e e ou (and e or).
Exemplo:
If((macd() > 0 OR close > mov(close,10,e)) AND rsi(14) > 70, +1, 0)

Referenciando Indicadores Customizados existentes


Voc pode referenciar outros indicadores customizados atravs da funo fml().
Exemplo:
if( close <= mov(close, 10, E),fml("Down Day"), fml("Up Day") )

Pg. 6

Referenciando Ativos
A funo de dados de ativo (Security) permite que uma frmula acesse os dados de
preo de um ativo local ou on-line.
Ativos on-line so referenciados com ONLINE: antes do smbolo.
Ativos locais so referenciados atravs do caminho completo at eles.
Exemplos:

Para referenciar o fechamento da Microsoft como um ativo on-line:


Security("ONLINE:MSFT",C)

Para referenciar o fechamento da Microsoft como um ativo local usando o caminho


completo: Security("C:\MetaStock Data\Sample\MSFT",C)
Para referenciar o fechamento da Microsoft como um ativo local na mesma pasta
da base de ativos: Security("MSFT",C)

Usando variveis para aprimorar e simplificar


Com o objetivo de encurtar, simplificar, aprimorar ou facilitar a manuteno das
frmulas, voc pode usar variveis. Uma varivel um nome alfanumrico que
assinalado a uma expresso ou valor. At 20 variveis podem ser usadas em uma
frmula. Elas devem ser assinaladas antes de seu uso em uma frmula.
Regras para nome de varivel:
At 20 caracteres
No pode conter vrgulas, parnteses, etc.
No pode ter o mesmo nome de uma funo (ex.: mov, rsi, if)
No pode usar nome de outra varivel (ex.: open, high, close)
Deve conter pelo menos 1 letra (ex.: T1234)
No diferenciam maisculas de minsculas (ex.: periodo o mesmo que
PERIODO

Auto-referenciando frmulas usando PREV


A constante PREV permite criar frmulas auto-referenciadoras. Isto significa que ela
pode referenciar o valor do perodo anterior dela mesma.
Exemplo:
((H+L+C)/3) + PREV

Esta frmula soma a mxima, mnima e preo de fechamento e divide por 3, e ento
soma este valor ao valor do dia anterior.

O identificador P
O identificador especial P utilizado para referenciar qualquer indicador ou preo
traado no grfico. Funciona para um indicador, explorao, system test ou expert
calcular sobre uma linha de grfico traada que no seja do prprio ativo.

Pg. 7

Usando o Frmula Organizer para importar e exportar


O Frmula Organizer um assistente que permite a voc importar e exportar qualquer
arquivo MetaStock baseado em frmulas, como indicadores customizados, system
tests, exploraes e experts. Ele permite ainda a proteo de frmulas a serem
exportadas com senha.
Ele encontrado dentro do Indicator Builder, atravs do boto Organizer.

Mensagens de Erro
A maioria das mensagens de erro exibidas so auto-explicativas. Vamos explicar
algumas das mensagens mais comuns:
A reference to a frmula name is no longer valid.

Este erro ocorre quando uma frmula retornada contendo referncia a uma frmula
no existente.
Does not contain an executable frmula.

Foi feita uma tentativa de executar um indicador customizado que no contm uma
frmula vlida
Frmula too complex.

Este erro causado por funes (no frmulas) aninhadas em nvel muito profundo,
ou por uma complexa expresso matemtica que utiliza numerosos operadores
matemticos que no estejam agrupados entre parnteses.
Insufficient memory to continue frmula execution. MetaStock ran out of memory to
store temporary values.

Este erro pode ser evitado reduzindo o nmero de perodos de dados atualmente
carregados, ou reduzindo referncias a frmulas aninhadas
Overflow in function.

O resultado do clculo da frmula gerou um valor grande demais para ser


armazenado.
Too many numeric constants defined in frmula.

Foi excedido o mximo de 20 constantes numricas diferentes na mesma frmula


Value out of valid range in function.

Um parmetro na funo invlido

Simulation Functions
Estas funes permitem que voc utilize valores que ocorreram em uma simulao de
um system test, para determinar regras de compra e venda. Estas funes s
funcionam se usadas nas abas Buy Order, Sell Order, Sell Short Order e Buy to Cover
Order do System Tester.
Exemplo: if(Simulation.AccountCash < 5000,1,0) ...

Pg. 8

Relao de Funes Padro


Absolute Value
Sintaxe: abs( DADO )
Objetivo: Calcular o valor absoluto (mdulo) de DADO.
Exemplo: A frmula abs( -10 ) retorna +10;
a frmula abs( 10 ) tambm retorna +10.

Accumulation/Distribution
Sintaxe: ad()
Objetivo: Calcular o indicador Accumulation/Distribution.

Accumulation Swing Index


Sintaxe: aswing( LIMITE_MOV )
Objetivo: Calcular o indicador Accumulation Swing Index. Este indicador requer preo
de abertura.
Exemplo: aswing( 3.0 )
Veja tambm: swing()

Addition
Sintaxe: add( DADO1, DADO2 )
Objetivo: Somar os 2 parmetros.
Exemplo: A frmula add( H, 10.7 ) soma 10,7 mxima (esta frmula tambm
poderia ser escrita como H + 10.7).
Veja tambm: sub()

Alert
Sintaxe: alert( EXPRESSO, PERODOS )
Objetivo: Estender um resultado verdadeiro de EXPRESSO para o nmero
especificado de perodos. Este resultado verdadeiro mantido verdadeiro at o
nmero de perodos especificado, mesmo que um resultado falso seja gerado.
Exemplo: alert( cross(rsi(14),70),5 )

Arc Tangent
Sintaxe: atan( Y DADO, X DADO )
Objetivo: Retornar o arco tangente de Y/X. O valor retornado em graus de 0 a 359,9.
Exemplo: A frmula atan( 10, 0 ) retorna 90.
Veja tambm: cos(), sin()

Aroon Down
Sintaxe: aroondown( PERODOS )
Objetivo: Calcular o componente Aroon Down do indicador Aroon.
Exemplo: aroondown( 14 )

Aroon Up
Sintaxe: aroonup( PERODOS )
Objetivo: Calcular o componente Aroon Up do indicador Aroon.
Exemplo: aroonup( 14 )

Pg. 9

Average Directional Movement


Sintaxe: adx( PERODOS )
Objetivo: Calcular o indicador Average Directional Movement.
Exemplo: adx( 14 )
Veja tambm: adxr(), csi(), dx(), mdi(), PDI()

Average True Range


Sintaxe: atr( PERODOS )
Objetivo: Calcular o indicador Average True Range.
Exemplo: atr( 20 )

Bars Since
Sintaxe: barssince( DADO )
Objetivo: Calcular o nmero de barras (perodos de tempo) que passaram desde que
DADO era verdadeiro.
Exemplo: barssince( macd() < 0 )
Importante: Quando usando a funo barssince() em uma explorao, voc deve clicar
o boto Load ___ Records e especificar um valor igual ao nmero de barras
carregado no seu grfico; seno, a explorao pode trazer resultados imprecisos.

Bollinger Band Bottom


Sintaxe: bbandbot( DADO, PERODOS, MTODO, DESVIO )
Objetivo: Calcular a Banda de Bollinger de baixo de DADO usando o mtodo de clculo
MTODO e os desvios padres DESVIOS. Os mtodos vlidos so SIMPLE,
EXPONENTIAL, WEIGHTED, TIMESERIES, TRIANGULAR, e VARIABLE. Eles podem ser
abreviados como E, S, T, TRI, VAR, e W.
Exemplo: bbandbot( close, 10, S, 2 )

Bollinger Band Top


Sintaxe: bbandtop( DADO, PERODOS, MTODO, DESVIO )
Objetivo: Calcular a Banda de Bollinger de cima de DADO usando o mtodo de clculo
MTODO e os desvios padres DESVIOS. Os mtodos vlidos so SIMPLE,
EXPONENTIAL, WEIGHTED, TIMESERIES, TRIANGULAR, e VARIABLE. Eles podem ser
abreviados como E, S, T, TRI, VAR, e W.
Exemplo: bbandtop( close, 10, S, 2 )

Buying Pressure
Sintaxe: buyp()
Objetivo: Calcular o componente buying pressure do Demand Index. Buying pressure
a medida de quantidade de volume relacionada compra.

Ceiling
Sintaxe: ceiling( DADO )
Objetivo: Calcular o menor inteiro que maior que DADO.
Exemplo: o frmula ceiling( 7.2 ) retorna 8;
o frmula ceiling(-7.2) retorna -7.
Veja tambm: funes floor() e int().

Chaikin o/D Oscillator


Sintaxe: co()
Objetivo: Calcular o indicador Chaikin Oscillator.

Pg. 10

Chaikin's Money Flow


Sintaxe: cmf( PERODOS )
Objetivo: Calcular o indicador Chaikin Money Flow sobre os ltimos PERODOS
nmero de perodos.
Exemplo: cmf(14)

Chande Momentum Oscillator


Sintaxe: cmo( DADO, PERODOS )
Objetivo: Calcular o indicador Chande Momentum Oscillator de DADO sobre os
ltimos PERODOS nmero de perodos.
Exemplo: cmo( c,14 )

Commodity Channel Index (Equis)


Sintaxe: ccie( PERODOS )
Objetivo: Calcular o indicador Commodity Channel Index, desenvolvido pela Equis.
Exemplo: ccie( 14 )

Commodity Channel Index (Standard)


Sintaxe: cci( PERODOS )
Objetivo: Calcular o indicador Commodity Channel Index.
Exemplo: cci( 14 )

Commodity Selection Index


Sintaxe: csi( PERODOS, VALOR, MARGEM, COMISSO )
Objetivo: Calcular o indicador Commodity Selection Index.
Exemplo: csi(14, 50, 2500,25)
Veja tambm: adx(), adxr(), dx(), mdi(), pdi()

Correlation Analysis
Sintaxe: correl( INDEPENDENTE, DEPENDENTE,PERODOS, DESLOCAMENTO)
Objetivo: Calcular o indicador Correlation. Compara a correlao de DEPENDENTE
com INDEPENDENTE por PERODOS perodos de tempo, depois de deslocar
DEPENDENTE para a direita DESLOCAMENTO perodos.
Exemplo: A frmula correl( macd(), CLOSE, 5, 10 ) compara o indicador MACD com o
preo de fechamento de 10 perodos no futuro, depois estatisticamente faz a mdia de
cada dado sobre os 5 perodos anteriores
Veja tambm: tsf() e stdev()

Cosine
Sintaxe: cos( DADO )
Objetivo: Retornar o cosseno de DADO. Assume que o valor DADO em graus.
Exemplo: cos( C )
Veja tambm: atan(), sin()

Cross
Sintaxe: cross( DADO 1, DADO 2 )
Objetivo: Retornar um +1 no dia que DADO 1 cruza sobre DADO 2.
Seno, 0 retornado. Se voc quer saber quando DADO 1 cruza abaixo de DADO 2,
use a frmula cross( DADO 2, DADO 1)
Exemplo: cross( close, mov(close,9,e) )

Pg. 11

Cumulate
Sintaxe: cum( DADO )
Objetivo: Calcular a soma cumulativa de DADO desde o primeiro perodo no grfico.
Exemplo: A frmula cum( 1 ) calcula um indicador que aumenta um ponto para cada
dia desde o comeo do grfico.
A frmula cum( C ) calcula o total cumulativo de todos preos de fechamento desde
o comeo do grfico.
Veja tambm: sum()

Day Of Month
Sintaxe: dayofmonth()
Objetivo: Retornar o dia do ms. Se hoje 15 de julho, retorna 15.

Day Of Week
Sintaxe: dayofweek()
Objetivo: Retornar o dia da semana. Sendo: 1=Segunda, 2=Tera, 3=Quarta, 4=Quinta,
5=Sexta, 6=Sbado, 7=Domingo.

Delta
Sintaxe: delta( TIPO, DATA, PREO, JUROS, DIVIDENDO )
Objetivo: Calcular o indicador Delta.
Exemplo: delta( EC, 961220, 125, 7.50, 4.75 )
Veja tambm: gamma(), life(), option(), theta(), veja(), volo(), delta()
DEMA
Sintaxe: dema( DADO, PERODOS )
Objetivo: Calcular o indicador DEMA.
Exemplo: dema( c,14 )
Veja tambm: tema()

Demand Index
Sintaxe: di()
Objetivo: Calcular o indicador Demand Index.

Detrended Price Oscillator


Sintaxe: dpo( PERODOS )
Objetivo: Calcular o indicador Detrended Price Oscillator.
Exemplo: dpo( 25 )

Directional Movement Index


Sintaxe: dx( PERODOS )
Objetivo: Calcular o indicador Directional Movement Index.
Exemplo: dx( 14 )
Veja tambm: adx(), adxr(), csi(), mdi(), pdi()

Directional Movement Rating


Sintaxe: adxr( PERODOS )
Objetivo: Calcular o indicador Directional Movement Rating.
Exemplo: adxr( 14 )
Veja tambm: adx(), dx(), csi(), mdi(), pdi()

Pg. 12

Divergence
Sintaxe: divergence( DADO1, DADO2, % MUDANA MNIMA )
Objetivo: Retornar um +1 se DADO1 diverge de DADO2 (ou seja, DADO1 est
aumentando e DADO2 est diminuindo).
Desenha um -1 se DADO1 converge para DADO2 (ou seja, DADO1 est aumentando e
DADO2 tambm).
Desenha um 0 (zero) se eles esto se movendo na mesma direo.
Movimentos em DADO1 menor que % MUDANA MNIMA so ignorados.
A funo Divergence baseada no Zig Zag. Primeiro, um % MUDANA MNIMA Zig
Zag calculado para DADO1. Depois, um Zig Zag calculado para DADO2 usando o
% MUDANA MNIMA necessrio para casar o nmero de segmentos Zig Zag em
DADO1 sobre a faixa de dados carregados. Os dois Zig Zags so ento comparados
para divergncia e convergncia.
Exemplo: A frmula divergence( close, rsi(21), 3 ) procura por divergncias entre o
fechamento e o IFR de 21 perodos. Movimentos no fechamento menores que 3%
sero ignorados.

Division
Sintaxe: div( DADO, DADO )
Objetivo: Dividir o primeiro parmetro pelo segundo. Diviso por zero produz um
resultado de zero.
Exemplo: A frmula div( 10, 2 ) retorna 5
Veja tambm: mul()

Dynamic Momentum Index


Sintaxe: dmi( DADO )
Objetivo: Calcular o indicador Dynamic Momentum Index.
Exemplo: dmi( CLOSE )

Ease of Movement
Sintaxe: emv(PERODOS, MTODO )
Objetivo: Calcular a mdia mvel de PERODOS do valor Ease of Movement usando o
mtodo de clculo MTODO. Mtodos vlidos so SIMPLE, EXPONENTIAL, WEIGHTED,
TIMESERIES, TRIANGULAR, e VARIABLE. Eles podem ser abreviados como E, S, T, TRI,
VAR, e W.
Exemplo: A frmula emv(14,S) retorna o valor de Ease of Movement suavizado com
um mdia mvel de 14 perodos.

Exponent
Sintaxe: exp( DADO )
Objetivo: Calcular e elevado potncia DADO.
Veja tambm: log()

External Frmula
Sintaxe: extfml("DLL NOME.FUNO NOME", argumento1,,argumento n)
Objetivo: Retornar o valor da funo contida em uma DLL MSX. Isso s disponvel se
a DLL MSX estiver presente.
Exemplo: ExtFml(MyDLL.MinhaFuno,close) referencia a funo chamada
MinhaFuno contida na DLL MSX chamada MyDLL, e usa o preo de fechamento do
ativo neste clculo.

Pg. 13

Fast Fourier Transform


Sintaxe: fft( DADO, PERODOS, TAMANHO, DETREND ou MEAN, AMPLITUDE ou
FORA )
Objetivo: Calcular o perodo de tempo PERODOS do indicador Fourier de DADO, dada
a amostra TAMANHO usando o mtodo DETREND ou MEAN, e exibe o espectro
AMPLITUDE ou FORA.
Exemplo: A frmula fft( CLOSE, 100, 1, DETREND, POWER ) retorna o indicador
padro Fast Fourier.

Floor
Sintaxe: floor( DADO )
Objetivo: Calcular o maior inteiro que menor que DADO.
Exemplo: A funo floor( 13.9 ) retorna 13.
A funo floor( -13.9 ) retorna -14.
Veja tambm: ceiling(), int()

Forecast Oscillator
Sintaxe: forecastosc( DADO, PERODOS )
Objetivo: Calcular o indicador Forecast Oscillator.
Exemplo: forecastosc( close, 14 )

Frmula Call
Sintaxe: fml("NOME_DA_FRMULA" )
Objetivo: Calcular o valor de outra frmula. A frmula pode ser referenciada usando o
NOME_DA_FRMULA entre aspas. Quando referenciando o nome da frmula, o nome
deve estar contido em aspas duplas (ex.: fml( "Minha Frmula)).
Se voc mudar o nome de uma frmula, voc deve tambm mudar qualquer chamada
fml() que referencie esta frmula.
Exemplo: A frmula fml(Minha Frmula) * fml(MeuMACD) calcula o valor da
frmula chamada Minha Frmula multiplicada por MeuMACD.
Veja tambm: fmlvar()

Frmula Variable Call


Sintaxe: fmlvar( "NOME_DA_FRMULA", "NOME_DA_VARIVEL")
Objetivo: Chamar o indicador customizado NOME_DA_FRMULA e retornar o valor
contido na varivel do indicador chamada NOME_DA_VARIVEL. Tanto o nome da
frmula quanto o nome da varivel devem estar contidas em aspas duplas (ex.: fmlvar(
"Minha Formula, Minha Variavel)). Se voc trocar uma frmula ou nome de
varivel, voc deve tambm mudar qualquer chamada fmvarl() que referencia esta
frmula e varivel.
Exemplo: fmlvar(MeuIndicador, MinhaVariavelA)
Veja tambm: fml()

Fraction
Sintaxe: frac( DADO )
Objetivo: Elimina a poro inteira de DADO e retorna a parte fracional.
Exemplo: A frmula frac( 10.7 ) retorna 0.7; A frmula frac(-19.8 ) retorna -0.8.
Veja tambm: int()

Pg. 14

Gamma
Sintaxe: gamma( TIPO, DATA, PREO, JUROS, DIVIDENDO )
Objetivo: Calcular o indicador Gamma.
Exemplo: gamma( EC, 961220, 125, 7.50, 4.75 )
Veja tambm: delta(), life(), option(), theta(), veja(), volo(). Veja a funo option()
para uma descrio dos parmetros usados na funo gamma()

Gap Down
Sintaxe: gapdown()
Objetivo: Retornar um +1 no dia que o preo do ativo faz um gap para baixo.
Seno, um 0 retornado. O gap down ocorre se a mnima de ontem maior que a
mxima de hoje

Gap Up
Sintaxe: gapup()
Objetivo: Retornar um +1 no dia que o preo do ativo fez um gap para cima.
Seno um 0 retornado. Um gap up ocorre se a mxima de ontem menor que a
mnima de hoje.

Herrick Payoff Index


Sintaxe: hpi( CENTS, FATOR MULTIPLICATIVO )
Objetivo: Calcular o indicador Herrick Payoff Index.
Exemplo: hpi(100, 10)

Highest
Sintaxe: highest( DADO )
Objetivo: Calcular o maior valor de DADO desde o primeiro dia carregado no grfico.
Exemplo: A frmula highest( rsi(14) ) retorna o maior valor de IFR desde o primeiro
dia carregado no grfico; highest ( close ) retorna o maior preo de fechamento
desde o primeiro dia carregado no grfico.
Veja tambm: hhv(), llv(), less()

Highest Bars Ago


Sintaxe: highestbars( DADO )
Objetivo: Calcular o nmero de perodos que se passaram desde o maior valor de
DADO. Isto inclui todos dados carregados no grfico.
Exemplo: A frmula highestbars( close ) retorna o nmero de perodos que se
passaram desde que o preo de fechamento atingiu seu maior topo.

Highest High Value


Sintaxe: hhv( DADO, PERODOS )
Objetivo: Calcular o maior valor em DADO sobre um precedente PERODOS
(PERODOS inclui o dia atual).
Exemplo: A frmula hhv( CLOSE, 5 ) retorna a maior mxima de fechamento sobre
os 5 perodos precedentes;
hhv(H,7) retorna o maior preo mximo sobre os 7 perodos precedentes.
Veja tambm: llv()

Pg. 15

Highest High Value Bars Ago


Sintaxe: hhvbars( DADO, PERODOS )
Objetivo: Calcular o nmero de perodos que passaram desde que DADO alcanou seu
topo em PERODOS
Exemplo: A frmula hhvbarras( close,50 ) retorna o nmero de perodos que
passaram desde que um preo de fechamento alcanou seu topo de 50 perodos.

Highest Since
Sintaxe: highestsince ( N-simo, EXPRESSO,DADO )
Objetivo: Retornar o maior valor de DADO desde a N-sima mais recente ocorrncia
de EXPRESSO. Isto inclui todo dado carregado no grfico.
Exemplo: A frmula highestsince( 2, cross(c,mov(c,10,s), close ) retorna o maior
valor de um fechamento desde a segunda mais recente ocorrncia de um fechamento
cruzando acima de sua mdia mvel de 10 perodos.

Highest Since Bars Ago


Sintaxe: highestsincebars( N-simo, EXPRESSO,DADO )
Objetivo: Calcular o nmero de perodos que passaram desde o maior valor de DADO
(depois de que a N-sima ocorrncia mais recente de EXPRESSO foi verdadeira). Isto
inclui todo dado carregado no grfico. Esta funo retorna o nmero de perodos que
passaram desde que a funo highestsince() retornou seu valor.
Exemplo: A frmula highestsincebars( 2, cross(c,mov(c,10,s), close ) retorna o
nmero de perodos que passaram desde o maior valor de um fechamento (depois da
segunda mais recente ocorrncia de um fechamento cruzando sobre sua mdia mvel
de 10 dias).

Hour
Sintaxe: hour()
Objetivo: Em um grfico intraday, retorna o nmero de horas que passaram durante o
dia, usando um relgio de 24 horas. Por exemplo, se a hora atual 13:15:22, hour()
retornar 13.

If
Sintaxe: if( DADO > >= < <= <> = DADO, THEN DADO1, ELSE DADO2 )
Objetivo: A funo condicional retorna o segundo parmetro (THEN) se a expresso
condicional definida pelo primeiro parmetro for verdadeira; seno, um terceiro
parmetro retornado (ELSE).
Exemplo: A frmula if(1<2,3,4) sempre retornar o valor 3.

Inertia
Sintaxe: inertia( PERODOS REGRESSO, PERODOS RVI )
Objetivo: Calcular o indicador Inertia. O PERODOS RVI o nmero de perodos usado
pelo componente Relative Volatility Index do indicador.
Exemplo: inertia(20,14)

Pg. 16

Input
Sintaxe: input( "QUESTO", VALOR MNIMO, VALOR MXIMO, VALOR PADRO )
Objetivo: Esta funo instrui o MetaStock a pedir uma entrada de dados quando um
indicador customizado utilizado. Esta funo suportada somente pelo Indicator
Builder.
QUESTO define o texto exibido na janela junto caixa de dados. Isto usado para
descrever o que deve ser entrado.
VALOR MNIMO o menor valor que pode ser entrado. Se voc tentar entrar um valor
menor que este, o MetaStock exibe uma mensagem.
VALOR MXIMO o maior valor que pode ser entrado. Se voc tentar entrar um valor
maior que este, o MetaStock exibe uma mensagem.
VALOR PADRO o valor que inicialmente exibido quando a janela carregada. Este
valor usado se outra frmula usando a funo fml() chamou o indicador
customizado.
Exemplo: input(Entre o nmero de perodos,1,50,9)

Inside
Sintaxe: inside()
Objetivo: Retornar um +1 quando um dia inside (dentro) ocorre. Um dia inside
ocorre quando a mxima de hoje menor que a mxima de ontem e a mnima de hoje
maior que a mnima de ontem. Uma faixa determinada pelo primeiro dia inside e
somente quebrada por um dia Rally, Reaction, ou Outside

Integer
Sintaxe: int( DADO )
Objetivo: Remover a poro fracionrio de DADO e retornar a parte inteira.
Exemplo: A frmula int( 10.7 ) retorna 10; A frmula int(-19.8 ) retorna -19.
Veja tambm: ceiling(), floor() e frac()

Intraday Momentum Index


Sintaxe: imi( PERODOS )
Objetivo: Calcular o indicador Intraday Momentum Index.
Exemplo: imi( 14 )

IsDefined()
Sintaxe: isdefined( DADO )
Objetivo: Retornar 1 se todo dado necessrio para calcular uma frmula est
disponvel. Seno, retorna 0.
Exemplo: A frmula isdefined(mov(c,20,s)) retornar 0 se houver menos que 20
perodos de data carregados no grfico.

IsUndefined()
Sintaxe: isundefined( DADO )
Objetivo: Retornar 0 se todo dado necessrio para calcular a frmula estiver
disponvel; 1 se no estiver.
Exemplo: A frmula isundefined(mov(c,20,s)) retornar 1 se houver menos que 20
perodos de data carregados no grfico.

Pg. 17

Klinger Oscillator
Sintaxe: kvo()
Objetivo: Calcular o indicador Klinger Oscillator.
Exemplo: A frmula kvo() retorna o valor do Klinger Oscillator (ou seja, uma linha
slida). A frmula mov(kvo(),13,E) retorna o valor da linha de disparo do KVO (ou
seja,uma linha pontilhada).

Last Value in Data Array


Sintaxe: lastvalue(DADO)
Objetivo: Esta funo carrega um conjunto inteiro de dados com o ltimo valor
calculado do DADO especificado. O resultado desta funo pode ser usado no lugar de
uma constante em qualquer argumento de funo.
Se DADO indefinido (ex.: somente 100 dias carregados e a sua requisio o ltimo
valor de uma mdia mvel de 200 dias) ento o lastvalue retorna zero.
Como esta funo carrega um conjunto inteiro de dados com o ltimo valor de outro
dado, ela permite que a frmula olhe no futuro. Isto inaceitvel para a maioria dos
indicadores, mas muito benfico para fins como reconhecimento de padres.
Exemplo: A frmula mov(close,lastvalue(fml(Determine Perodos)),s) calcula a
Mdia mvel usando um nmero de perodos retornado por um indicador chamado
Determine Periods.

Linear Regression Indicator


Sintaxe: linearreg( DADO, PERODOS )
Objetivo: Calcular o indicador Linear Regression.
Exemplo: linearreg( c, 50 )

Linear Regression Slope


Sintaxe: linregslope( DADO, PERODOS )
Objetivo: Calcular o indicador Linear Regression Slope.
Exemplo: linregslope(c, 50 )

Logarithm (natural)
Sintaxe: log( DADO )
Objetivo: Calcular o logaritmo natural de DADO.
Exemplo: funo exp()

Lowest
Sintaxe: lowest( DADO )
Objetivo: Calcular o menor valor em uma DADO desde o primeiro dia carregado no
grfico.
Exemplo: A frmula lowest( rsi(14) ) retorna o menor IFR desde o primeiro dia
carregado no grfico; lowest( close ) retorna o menor preo de fechamento desde o
primeiro dia carregado no grfico.
Veja tambm: hhv(), llv()

Pg. 18

Lowest Bars Ago


Sintaxe: lowestbars( DADO )
Objetivo: Calcular o nmero de perodos passados desde o menor valor de DADO.
Isto inclui todo dado carregado no grfico.
Exemplo: A frmula lowestbars( close ) retorna o nmero de perodos que passaram
desde que o preo de fechamento atingiu seu menor ponto.

Lowest Low Value


Sintaxe: llv( DADO, PERODOS )
Objetivo: Calcular o menor valor em uma DADO sobre o precedente PERODOS
(PERODOS inclui o dia atual).
Exemplo: A frmula llv( CLOSE, 14 ) retorna o menor preo de fechamento sobre os
precedentes 14 perodos.
Veja tambm: hhv()

Lowest Low Value Bars Ago


Sintaxe: llvbars( DADO, PERODOS )
Objetivo: Calcular o nmero de perodos passados desde que o DADO alcanou o
perodo PERODOS de mnimo.
Exemplo: A frmula llvbarras( close,50 ) retorna o nmero de perodos passados
desde que o preo de fechamento alcanou seu menor valor em 50 perodos.

Lowest Since
Sintaxe: lowestsince ( N-simo, EXPRESSO, DADO )
Objetivo: Retornar o menor valor de DADO desde a N-sima mais recente ocorrncia
de EXPRESSO. Isto inclui todo dado carregado no grfico.
Exemplo: A frmula lowestsince( 2, cross(c,mov(c,10,s), close ) retorna o menor
valor de fechamento desde a segunda mais recente ocorrncia do fechamento
cruzando acima da sua mdia mvel de 10 dias.

Lowest Since Bars Ago


Sintaxe: lowestsincebars( N-simo, EXPRESSO, DADO )
Objetivo: Calcular o nmero de perodos passados desde o menor valor de DADO
(depois da N-sima mais recente ocorrncia de EXPRESSO). Isto inclui todo dado
carregado no grfico. Esta funo retorna o nmero de perodos passados desde que a
funo lowestsince() retornou seu valor
Exemplo: A frmula lowestsincebars( 2, cross (c,mov(c,10,s), close ) retorna o
nmero de perodos passados desde o menor valor do fechamento (depois da segunda
mais recente ocorrncia do fechamento cruzando acima das sua mdia mvel de 10
dias).

MACD
Sintaxe: macd()
Objetivo: Calcular o indicador MACD.
Exemplo: A frmula macd() retorna o valor do indicador MACD (ou seja, a linha
slida). A frmula mov(macd(),9,E) retorna o valor da linha de sinal do MACD (ou
seja, a linha pontilhada).

Market Facilitation Index


Sintaxe: marketfacindex()
Objetivo: Calcular o indicador Market Facilitation.
Exemplo: marketfacindex()

Pg. 19

Mass Index
Sintaxe: mass( PERODOS )
Objetivo: Calcular o indicador Mass Index.
Exemplo: mass( 25 )

Maximum
Sintaxe: max( DADO1, DADO2 )
Objetivo: Retornar o maior de 2 parmetros.
Exemplo: A frmula max( CLOSE, 10 ) retorna o preo de fechamento ou 10, o que
for maior. A frmula max(-14, 13) sempre retorna 13.

Median Price
Sintaxe: mp()
Objetivo: Calcular o indicador Median Price.
Veja tambm: typ()

MESA Lead Sine


Sintaxe: mesaleadsine( TAMANHO_DO_CICLO )
Objetivo: Calcular o indicador MESA Lead Sine que retorna junto com o MESA Sine
Wave.
Exemplo: mesaleadsine( 20 )
Veja tambm: mesasinewave()

MESA Sine Wave


Sintaxe: mesasinewave( TAMANHO_DO_CICLO )
Objetivo: Calcular o indicador MESA Sine Wave
Exemplo: mesasinewave( 20 )
Veja tambm: mesaleadsine()

Midpoint
Sintaxe: mid( DADO, PERODOS )
Objetivo: Retorna o ponto mdio do DADO no perodo especfico PERODO. O ponto
mdio o valor entre o maior e o menor DADO durante o PERODO.
Exemplo: A frmula mid( CLOSE, 7 ) equivalente a llv(C,7) + ((hhv(C,7) 2/23/2005llv(C,7)) / 2).
Veja tambm: hhv() e llv()

Minimum
Sintaxe: min( DADO1, DADO2 )
Objetivo: Retornar o menor de 2 parmetros.
Exemplo: A frmula min( CLOSE, 10 ) retorna o preo de fechamento ou 10, o que
for menor. A frmula min(-14, 13) sempre retorna -14.
Veja tambm: max()

Minus Directional Movement


Sintaxe: mdi( PERODOS )
Objetivo: Calcular o indicador Minus Directional Movement.
Exemplo: mdi( 14 )
Veja tambm: adx(), adxr(), csi(), pdi(), dx()

Pg. 20

Minute
Sintaxe: minute()
Objetivo: Em um grfico intraday, retorna o nmero de minutos passados durante a
hora atual. Por exemplo, se a hora atual 10:15:22, o minute() retornar 15.

Modulus
Sintaxe: mod( DADO1, DADO2 )
Objetivo: Calcular o resto (ou seja, a parte fracionria) de DADO1 dividido por DADO2.
A diviso por zero produz resultado zero.
Exemplo: A frmula mod( 10, 3 ) retorna 1.0; a frmula mod( -10.7, 3 ) retorna
-1.7. Voc pode escrever uma frmula equivalente: -10.7 - (int(-10.7 / 3) * 3).

Momentum
Sintaxe: mo( DADO, PERODOS )
Objetivo: Calcular o indicador Momentum.
Exemplo: mo( 12 )

Money Flow Index


Sintaxe: mfi( PERODOS )
Objetivo: Calcular o indicador Money Flow Index.
Exemplo: mfi( 14 )
Veja tambm: rsi()

Month
Sintaxe: month()
Objetivo: Retornar o ms do ano para o preo. Se uma barra foi retornada para
15/10/09, 10 ser retornado.

Moving Average
Sintaxe: mov( DADO, PERODOS, MTODO )
Objetivo: Calcular a mdia mvel de PERODOS perodo sobre o DADO usando o
mtodo de clculo MTODO.
Os mtodos vlidos so EXPONENTIAL, SIMPLE, TIMESERIES, TRIANGULAR, WEIGHTED,
VARIABLE, e VOLUMEADJUSTED. Eles podem ser abreviados como E, S, T, TRI, VAR, e
W.
Exemplo: A frmula mov( CLOSE, 25, EXPONENTIAL ) retorna o valor da mdia
mvel exponencial de 25 perodos sobre o preo de fechamento.

Multiplication
Sintaxe: mul( DADO1, DADO2 )
Objetivo: Calcular DADO1 multiplicado por DADO2.
Exemplo: A funo mul( CLOSE, 2) retorna o preo de fechamento multiplicado por
2. (Esta funo tambm poderia ser escrita como C * 2.)
Veja tambm: div()

Negative
Sintaxe: neg( DADO )
Objetivo: Calcular o negativo de DADO.
Exemplo: A frmula neg( 10 ) retorna -10; a frmula neg( -12 ) retorna +12.
Esta frmula tambm poderia ser escrita como -(-12).

Pg. 21

Negative Volume Index


Sintaxe: nvi( DADO )
Objetivo: Calcular o indicador Negative Volume Index.
Veja tambm: pvi()

On Balance Volume
Sintaxe: obv( DADO )
Objetivo: Calcular o indicador On Balance Volume

Option Expiration
Sintaxe: optionexp()
Objetivo: Calcular o indicador Next Option Expiration
Veja tambm: life()

Option Life
Sintaxe: life( DATA DE EXPIRAO )
Objetivo: Calcular o indicador Option Life.
Exemplo: life( 070121 ) exibe o nmero de dias at 21 de Janeiro de 2007.
Veja tambm: delta, gamma(), option(), theta(), vega(), volo()

Outside
Sintaxe: outside()
Objetivo: Retornar +1 quando um dia fora ocorre. Um dia fora ocorre quando a
mxima de hoje maior que a mxima de ontem e a mnima de hoje menor que
a mnima de ontem. A faixa determinada pelo primeiro dia fora e s quebrada por
um Rally, Reao, ou Dia Dentro.

Parabolic SAR
Sintaxe: sar( PASSO, MXIMO )
Objetivo: Calcular o indicador Parabolic SAR.
Exemplo: sar( 0.02, 0.20 )

Peak Bars Ago


Sintaxe: peakbars( N-simo, DADO, % MNIMO DE MUDANA )
Objetivo: Retornar o nmero de barras passadas desde o N-simo topo.
Ele usa a funo Zig Zag para determinar os topos.
N=1 retorna o nmero de barras passadas desde o topo mais recente.
N=2 retorna o nmero de barras passadas desde o segundo topo mais recente.
Exemplo: peakbars(1,close,5)

Peak Value
Sintaxe: peak( N-simo, DADO, % MNIMO DE MUDANA )
Objetivo: Retornar o valor do DADO no N-simo topo anterior.
Ele usa a funo Zig Zag para determinar os topos.
N=1 retorna o valor do topo mais recente.
N=2 retorna o valor do segundo topo mais recente.
Exemplo: peak(1,close,5)

Performance
Sintaxe: per( DADO )
Objetivo: Calcular o indicador Performance.

Pg. 22

Plus Directional Movement


Sintaxe: pdi( PERODOS )
Objetivo: Calcular o indicador Plus Directional Movement.
Exemplo: pdi( 14 )
Veja tambm: adx(), adxr(), csi(),dx()

Polarized Fractal Efficiency


Sintaxe: pfe( DADO, PERODOS, PERODOS SUAVIZADOS)
Objetivo: Calcular o indicador Polarized Fractal Efficiency.
Exemplo: pfe( c,10,5 )

Positive Volume Index


Sintaxe: pvi(DADO)
Objetivo: Calcular o indicador Positive Volume Index.
Veja tambm: nvi()

Power
Sintaxe: power( DADO, POTNCIA )
Objetivo: Calcular DADO elevado potncia POTNCIA. Um DADO de valor negativo
elevado a uma potncia no inteira causar uma mensagem de erro.
Exemplo: A frmula power( 10, 3 ) retorna 1.000.

Precision
Sintaxe: prec( DADO, PRECISO )
Objetivo: Trunca DADO em PRECISO casas decimais.
Exemplo: A frmula prec( 10.12981, 2 ) retorna 10.120.
A frmula prec( 10.12981, 4 ) retorna 10.12980.
Nota: Pequenos erros de arredondamentos binrios podem causar mnimas distores
na parte decimal de qualquer nmero armazenado em um computador.

Price Channel High


Sintaxe: pricechannelhigh( PERODOS )
Objetivo: Calcular o top channel line do indicador Price Channel
Exemplo: pricechannelhigh( 14 )

Price Channel Low


Sintaxe: pricechannellow( PERODOS )
Objetivo: Calcular o bottom channel line do indicador Price Channel.
Exemplo: pricechannellow( 14 )

Pg. 23

Price Oscillator
Sintaxe: oscp( PERODOS1, PERODOS2, MTODO_MM, MTODO_DIF )
Objetivo: Calcular o indicador Price Oscillator pr-definido PERODOS1/PERODOS2
usando o mtodo de mdia mvel MTODO_MM expresso em MTODO_DIF.
Os mtodos MTODO_MM vlidos so SIMPLE, EXPONENTIAL, TIMESERIES,
TRIANGULAR, WEIGHTED e VARIABLE. Eles podem ser abreviados como S, E, T, TRI, W
e VAR.
Os mtodos MTODO_DIF vlidos so PERCENT e POINTS. Eles podem ser abreviados
como % e $.
Exemplo: A frmula oscp(1, 25, E, $) retorna o 1-perodo/25-perodos price
oscillator exponencial, expresso em pontos.
Veja tambm: oscv()

Price Volume Trend


Sintaxe: pvt( DADO )
Objetivo: Calcular o indicador Price Volume Trend.

Projection Band Bottom


Sintaxe: projbandbot( PERODOS )
Objetivo: Calcular o bottom Projection Band.
Exemplo: projbandbot( 21 )

Projection Band Top


Sintaxe: projbandtop( PERODOS )
Objetivo: Calcular o top Projection Band.
Exemplo: projbandtop( 21 )

Projection Oscillator
Sintaxe: projosc(PERODOS REGRESSO, PERODOS LENTO )
Objetivo: Calcular o indicador Projection Oscillator.
Exemplo: projosc( 21,3 )

Put/Call Price
Sintaxe: option( TIPO, DATA, PREO, JUROS, DIVIDENDO )
Objetivo: Calcular o indicador Put/Call Price.
Exemplo: A frmula option( EC, 101231, 125, 8.5, 6.31 ) calcula o valor de mercado
do call do ativo que vence em 31 de dezembro de 2.010, ao preo de strike de $125. A
taxa de juros atual 8,5% e o dividendo pago anualmente de $6,31.
TIPO especifica se uma ao (equity) ou futuro (abreviados por E ou F) e se um Put
ou Call (abrevidados por P ou C). Portanto, os tipos vlidos so EC, EP, FC, e FP, que
tambm podem ser expressos respectivamente como CALL, PUT, FUTURECALL e
FUTUREPUT.)
DATA a data que a opo expira. A data deve ser entrada no formato AAMMDD. Por
exemplo: 31 de dezembro de 2010 deve ser entrado como 101231. Este formato de
data usado independentemente do formato de data especificado na seo de
Configurao.
PREO identifica o preo de strike da opo.
JUROS especifica a taxa de juros de Mercado livre de risco.
DIVIDENDO especifica o dividendo total recebido nos ltimos 12 meses.
Veja tambm: delta(), gamma(), life(), theta(), vega(), volo()

Pg. 24

Qstick
Sintaxe: qstick( PERODOS )
Objetivo: Calcular o indicador Qstick.
Exemplo: qstick( 21 )

r-squared
Sintaxe: rsquared( DADO, PERODOS )
Objetivo: Calcular o indicador Rsquared.
Exemplo: rsquared( c, 21 )

Rally
Sintaxe: rally()
Objetivo: Retornar um +1 quando um dia de rally ocorre. Caso contrrio, um
0 retornado. O dia de rally ocorre quando a mxima de hoje maior que a mxima
do dia de rally anterior e a mnima de hoje maior que ou igual mnima do dia de
rally anterior.

Rally With Volume


Sintaxe: rallywithvol()
Objetivo: Retornar um +1 quando um dia de rally com volume ocorre. Caso
contrrio, um 0 retornado. O dia de rally com volume ocorre quando a mxima de
hoje maior que a mxima do dia de rally anterior e a mnima de hoje maior que ou
igual mnima do dia de rally anterior. O volume de hoje tem de ser maior que o
volume do dia de rally anterior.

Random Walk Index de Highs


Sintaxe: rwih( PERODOS MNIMOS, PERODOS MXIMOS )
Objetivo: Calcular o indicador Random Walk Index do indicador Highs.
Exemplo: rwih( 6,39 )

Random Walk Index de Lows


Sintaxe: rwil( PERODOS MNIMOS, PERODOS MXIMOS )
Objetivo: Calcular o indicador Random Walk Index do indicador Lows.
Exemplo: rwil( 6,39 )

Range Indicator
Sintaxe: rangeindicator( PERODOS, PERODOS SUAVIZADOS )
Objetivo: Calcular o indicador Range.
Exemplo: rangeindicator( 10,3 )

Rate of Change
Sintaxe: roc( DADO, PERODOS, MTODO_DIF )
Objetivo: Calcular a taxa de mudana de PERODOS sobre o DADO expresso como
MTODO_DIF.
MTODO_DIF vlidos so PERCENT e POINTS (que podem ser abreviados como % e $).
Exemplo: A frmula roc( CLOSE, 12, PERCENT ) retorna o rate-of-change percentual
de 12 perodos sobre o preo de fechamento.

Pg. 25

Reaction
Sintaxe: reaction()
Objetivo: Retornar um +1 quando um dia de reao ocorre. Seno, um 0
retornado. Um dia de reao ocorre quando a mxima de hoje menor que ou igual
mxima do dia de reao anterior e a mnima de hoje menor que a mnima do dia de
reao anterior.

Reaction With Volume


Sintaxe: reactionwithvol()
Objetivo: Retornar um +1 quando um dia de reao ocorre. Seno, um 0
retornado. Um dia de reao ocorre quando a mxima de hoje menor que ou igual
mxima do dia de reao anterior e a mnima de hoje menor que a mnima do dia de
reao anterior. O volume de hoje tem de ser maior que o volume do dia de reao
anterior.

Reference
Sintaxe: ref( DADO, PERODOS )
Objetivo: Referencia um elemento anterior ou subsequente em um DADO. Um
PERODO positivo referencia n perodos no futuro; um PERODO negativo referencia
n perodos atrs.
Exemplo: A frmula ref( CLOSE, -12 ) retorna o preo de fechamento 12 perodos
atrs. Assim, voc poderia escrever o rate-of-change (expresso em pontos) de 12 dias
como C 2/23/2010- ref( C, -12 ).
A frmula ref( C, +12 ) retorna o preo de fechamento 12 perodos a frente.

Relative Momentum Index


Sintaxe: rmi( DADO, PERODOS, PARMETRO MOMENTUM )
Objetivo: Calcular o indicador Relative Momentum Index.
Exemplo: rmi( c,20,20 )

Relative Strength Index


Sintaxe: rsi( DADO, PERODOS )
Objetivo: Calcular o indicador IFR.
Exemplo: rsi( 14 )

Relative Volatility Index


Sintaxe: rvi( PERODOS )
Objetivo: Calcular o indicador Relative Volatility Index.
Exemplo: rvi( 21 )

Round
Sintaxe: round( DADO )
Objetivo: Arredonda DADO para o inteiro mais prximo
Exemplo: A frmula round( +10.5 ) retorna +11.
A frmula round( -10.4 ) retorna -10.
Veja tambm: ceiling(), floor(), int()

Pg. 26

Security Data
Sintaxe: security("SMBOLO",DADO)
Objetivo: Retorna o valor de DADO para o ativo especificado. Se o ativo estiver na
mesma pasta do ativo base, o caminho no necessrio. Voc pode tambm
especificar dados on-line, usando ONLINE: como caminho.
Exemplo: security(c:\MetaStock Data\Sample\VALE5,C)
security(ONLINE:VALE5,C)
security(VALE5,C)

Selling Pressure
Sintaxe: sellp()
Objetivo: Calcular o componente de presso vendedora do Demand Index. Selling
pressure a medida do valor do volume relacionado venda.

Sine
Sintaxe: sin( DADO )
Objetivo: Retorna o seno de DADO. Esta funo assume que o valor de DADO est em
graus.
Exemplo: Voc pode retornar uma onda de seno usando a frmula sin(cum(5)).
Aumentando o valor nesta frmula (5, no caso) aumentar a frequencia da onda de
seno.
Veja tambm: atan(), cos()

Square Root
Sintaxe: sqrt( DADO )
Objetivo: Calcular a raiz quadrada de DADO.
A raiz quadrada de um nmero negativo sempre retorna zero como resultado.
Exemplo: A frmula sqrt( 16 ) retorna 4.

Standard Deviation
Sintaxe: stdev( DADO, PERODOS )
Objetivo: Calcular o indicador de desvio padro.
Exemplo: stdev( CLOSE, 21 )

Standard Error
Sintaxe: ste( DADO, PERODOS )
Objetivo: Calcular o indicador Standard Error.
Exemplo: ste( CLOSE, 21 )

Standard Error Band Bottom


Sintaxe: stebandbot( DADO, PERODOS, ERRO PADRO, MTODO SUAVIZADO,
PERODOS SUAVIZADOS)
Objetivo: Calcular o bottom Standard Error Band de DADO deslocado para baixo ERRO
PADRO erros padro.
Exemplo: stebandbot( close, 21, 2 )

Pg. 27

Standard Error Band Top


Sintaxe: stebandtop( DADO, PERODOS, ERRO PADRO, MTODO SUAVIZADO,
PERODOS SUAVIZADOS)
Objetivo: Calcular o bottom Standard Error Band de DADO deslocado para cima ERRO
PADRO erros padro.
Exemplo: stebandtop( close, 21, 2 )

Stochastic Momentum Index


Sintaxe: stochmomentum( PERODOS, SUAVIZAO, DUPLA SUAVIZAO )
Objetivo: Calcular o indicador Stochastic Momentum Index.
Exemplo: stochmomentum( 10,40,3 )

Stochastic Oscillator
Sintaxe: stoch( %K PERODOS, %K LENTA )
Objetivo: Calcular o indicador Stochastic Oscillator.
Exemplo: A frmula stoch( 5, 3 ) retorna o valor do estocstico 5 perodos, com
linha lenta de 3 perodos.

Subtraction
Sintaxe: sub( DADO1, DADO2 )
Objetivo: Calcular DADO1 menos DADO2.
Exemplo: A frmula sub( 10, 2 ) retorna 8 (Esta frmula tambm poderia ser escrita
como 10 - 2).
Veja tambm: add()

Summation
Sintaxe: sum( DADO, PERODOS )
Objetivo: Calcular a soma cumulativa do DADO para um nmero especfico de
PERODOS de lookback (incluindo hoje).
Exemplo: A frmula sum( CLOSE, 12 ) retorna a soma dos ltimos 12 preos de
fechamento. A mdia mvel de 12-perodos poderia ser escrita como sum(C,12) / 12.
Veja tambm: cum()

Swing Index
Sintaxe: swing( LIMITE_MOV )
Objetivo: Calcular o indicador Swing Index.
O Swing Index requer preos de abertura.
Exemplo: swing( 3.0 )
Veja tambm: aswing()

TEMA
Sintaxe: tema( DADO, PERODOS )
Objetivo: Calcular o indicador TEMA.
Exemplo: tema( c,14 )
Veja tambm: dema()

Theta
Sintaxe: theta( TIPO, DATA, PREO, JUROS, DIVIDENDO )
Objetivo: Calcular o indicador Theta.
Exemplo: theta( EC, 961220, 125, 7.50, 4.75 )
Veja tambm: delta(), gamma(), life(), option(), veja(), volo()

Pg. 28

Tick
Sintaxe: tick()
Objetivo: Retornar o nmero de ticks que vieram no minuto atual. Por exemplo, se o
tick atual foi gravado s 10:15:22, 22 representa a contagem de tick no 15 minuto
da 10 hora. No incio do 16 minuto, o contador de tick volta 0.
Note que esta funo somente funciona em grficos com intervalo intraday em 0
(grficos tick-by-tick).
Quando impresso em grficos de tick, o valor pode variar de 0 a 999significando que
at 999 ticks podem ser gravados em um minuto. Usar esta funo em grficos de 1minuto, 5-minutos, etc., resultar em um valor de zero.

Time Series Forecast


Sintaxe: tsf( DADO, PERODOS )
Objetivo: Calcular o indicador Time Series Forecast sobre DADO para PERODOS
perodos
Exemplo: A frmula tsf( CLOSE, 10 ) retorna o Time Series Forecast de
10-perodos sobre o preo de fechamento.
Veja tambm: correl()

Trade Volume Index


Sintaxe: tvi( DADO, TICK MNIMO )
Objetivo: Calcular o indicador Trade Volume Index.
Exemplo: tvi( 0.125 )
Veja tambm: obv()

TRIX
Sintaxe: trix( DADO, PERODOS )
Objetivo: Calcular o indicador TRIX.
Exemplo: trix( 12 )

Trough Bars Ago


Sintaxe: troughbars( N-simo, DADO, % MUDANA MNIMA )
Objetivo: Retornar o nmero de barras passadas desde o N-simo fundo.
Ele usa a funo Zig Zag para determinar os fundos. Se o N-simo for 1, ento ser
retornado o nmero de barras passadas desde o mais recente fundo. Se o N-simo for
2, ser retornado o nmero de barras passadas desde o segundo mais recente fundo, e
assim por diante.
Exemplo: troughbars(1,close,5)

Trough Value
Sintaxe: trough( N-simo, DADO, % MUDANA MNIMA )
Objetivo: Retornar o valor de N-simo fundo de DADO atrs.
Ele usa a funo Zig Zag para determinar os fundos. Se o N-simo for 1, ento ser
retornado o valor do mais recente fundo. Se o N-simo for 2, ser retornado o valor
do segundo mais recente fundo, e assim por diante.
Exemplo: trough( 1,close,5 )

Typical Price
Sintaxe: typical()
Objetivo: Calcular o indicador Typical Price.

Pg. 29

Ultimate Oscillator
Sintaxe: ult( CICLO1, CICLO2, CICLO3 )
Objetivo: Calcular o indicador Ultimate Oscillator usando os trs tamanhos de ciclos
fornecidos como parmetros. Note que cada parmetro deve ser maior que o
anterior, seno uma mensagem de erro ser exibida (por exemplo ult( 5, 5, 5) no
vlido).
Exemplo: A frmula ult( 7, 14, 21 ) retorna o Ultimate Oscillator padro.

Value When
Sintaxe: valorwhen ( N-simo, EXPRESSO, DADO )
Objetivo: Retorna o valor do DADO quando a EXPRESSO for verdadeira na N-sima
ocorrncia mais recente. Isto inclui todo dado carregado no grfico.
Exemplo: A frmula valorwhen( 2, cross(c,mov(c,10,s), rsi(20) ) retorna o valor
do IFR na 2 mais recente ocorrncia de preo de fechamento cruzando acima da sua
mdia mvel de 10 dias.

Variance
Sintaxe: var( DADO, PERODOS )
Objetivo: Calcular a varincia estatstica de DADO sobre o perodo de tempo
PERODO.
Exemplo: var( CLOSE, 20 )
Veja tambm: stdev()

Vega
Sintaxe: vega( TIPO, DATA, PREO, JUROS, DIVIDENDO )
Objetivo: Calcular o indicador Vega.
Exemplo: vega( EC, 961220, 125, 7.50, 4.75 )
Veja tambm: delta(), gamma(), life(), option(), theta(), volo()

Vertical Horizontal Filter


Sintaxe: vhf( DADO, PERODOS )
Objetivo: Calcular o indicador Vertical Horizontal Filter de DADO do perodo de tempo
PERODO.
Exemplo: vhf( C, 28 )

Volatility, Chaikin's
Sintaxe: vol(PERODOS MM, PERODOS ROC)
Objetivo: Calcular o indicador Chaikins Volatility.
Exemplo: vol( 10, 10 )

Volatility, Option
Sintaxe: volo()
Objetivo: Calcular o indicador Option Volatility.
Exemplo: volo()
Veja tambm: delta(), gamma(), life(), option(), theta(), vega()

Pg. 30

Volume Oscillator
Sintaxe: oscv( PERODOS, PERODOS, MTODO_MM, MTODO_DIF)
Objetivo: Calcular o PERODOS/PERODOS pr-definido Volume Oscillator usando o
mtodo de mdia mvel MTODO_MM expresso em MTODO_DIF.
MTODO_MM vlidos so SIMPLE, EXPONENTIAL, WEIGHTED, TIMESERIES,
TRIANGULAR, e VARIABLE (que podem ser abreviados como S, E, W, T, TRI, e VAR).
MTODO_DIF vlidos so PERCENT e POINTS (que podem ser abreviados como % e $).
Exemplo: oscv( 1, 25, SIMPLE, $ )
Veja tambm: oscp()

Weighted Close
Sintaxe: wc()
Objetivo: Calcular o indicador Weighted Close.

Wilder's Smoothing
Sintaxe: wilders( DADO, PERODOS )
Objetivo: Calcular o indicador Wilders Smoothing.
Exemplo: wilders( CLOSE, 14 )
Veja tambm: mov()

Williams %R
Sintaxe: willr( PERODOS %R)
Objetivo: Calcular o indicador Williams %R.
Exemplo: willr( 14 )

Williams' o/D
Sintaxe: willa()
Objetivo: Calcular o indicador Williams o/D.

Write If
Sintaxe: writeif( EXPRESSO, "TEXTO VERDADEIRO","TEXTO FALSO" )
Objetivo: Esta funo s pode ser usada dentro do comentrio do Expert Advisor.
Se a EXPRESSO for avaliada como verdadeira, ento o TEXTO VERDADEIRO, ser
exibido no comentrio; caso contrrio, o TEXTO FALSO apresentado.
Exemplo: writeif( c > mov(c,200,s), O fechamento est acima da mdia mvel de 200
perodos, O fechamento est abaixo da mdia mvel de 200 perodos).

Write Value
Sintaxe: writeval( DADO ) ou writeval( DADO , FORMATO )
Objetivo: Esta funo s pode ser usada dentro do comentrio do Expert Advisor.
Ela usada para exibir o valor numrico e o formato decimal de DADO. O formato
decimal X.Y onde X o nmero total de dgitos e Y o nmero de dgitos direita do
ponto decima.
Exemplo: writeval( stoch(39,3) - stoch(12,3) , 5.2)

Pg. 31

Year
Sintaxe: year()
Objetivo: Retornar o ano. Se uma barra foi impressa em 10/15/96, a funo retornar
1996.

Zig Zag
Sintaxe: zig( DADO, MUDANA MNIMA, MTODO_DIF )
Objetivo: Calcular a MUDANA MNIMA do indicador Zig Zag de DADO usando o
MTODO_DIF.
MTODO_DIF vlidos so PERCENT e POINTS (que podem ser abreviados como % e $).
Exemplo: zig( CLOSE, 5, PERCENT )

Pg. 32

Funes Candlestick
As funes Candlestick permitem que voce localize os padres japoneses Candlestick. Cada
funo retorna +1 quando o padro encontrado, ou 0 caso contrrio.
As interpretaes abaixo mostradas provm dos livros de Steve Nison.
Para usar estas funes numa Explorao, carregue pelo menos 10 registros, seno os
resultados da Explorao podem ser imprecisos.
Os padres que tem nome conhecido em portugus, o tero entre parnteses aps o nome
original.

Bearish 3 Method Formation


Sintaxe: bear3formation()
Descrio: Um corpo preto longo seguido de 3 pequenos
(geralmente brancos) corpos e um outro corpo preto longo.
Interpretao: continuao de padro baixista

Bearish Harami (Harami de Baixa)


Sintaxe: bearharami()
Descrio: Um pequeno corpo preto est contido dentro de
um incomum grande corpo branco
Interpretao: um padro baixista quando precedido de uma
tendncia altista

Bearish Harami Cross (Harami Cross de Baixa)


Sintaxe: bearharamicross()
Descrio: Um doji contido dentro de um corpo branco
grande
Interpretao: um sinal de reverso de topo

Big Black Candle (Barra Elefante de Baixa)


Sintaxe: bigblack()
Descrio: Um incomum grande corpo preto com uma grande
faixa entre a mxima e a mnima, e preos de abertura perto
da mxima e fechamento perto da mnima
Interpretao: um padro baixista

Big White Candle (Barra Elefante de Alta)


Sintaxe: bigwhite()
Descrio: Um incomum longo corpo branco com uma larga
faixa entre o mximo e mnimo, e preos de abertura perto da
mnima e fechamento perto da mxima
Interpretao: Um padro altista

Pg. 33

Black Body (Candle de Baixa)


Sintaxe: black()
Descrio: Um candlestick formado quando o preo de
fechamento menor que o preo de abertura
Interpretao: Um sinal baixista. Mais importante quando
parte de um padro

Bullish 3 Method Formation


Sintaxe: bull3formation ()
Descrio: : Um longo corpo branco seguido de 3 pequenos
(geralmente pretos) corpos e outro longo corpo branco.
Interpretao: continuao de padro altista

Bullish Harami (Harami de Alta)


Sintaxe: bullharami ()
Descrio: : Um pequeno corpo branco contido dentro de
um incomum grande corpo preto
Interpretao: um padro altista quando precedido de uma
tendncia de baixa

Bullish Harami Cross (Harami Cross de Alta)


Sintaxe: bullharamicross()
Descrio: Um doji contido dentro de um corpo preto grande
Interpretao: um padro de reverso de fundo

Dark Cloud Cover (Nuvens Negras)


Sintaxe: darkcloud()
Descrio: um candlestick branco longo seguido de um
candlestick preto. O preto abre acima do da mxima do
branco e fecha bem dentro do corpo branco
Interpretao: um sinal de reverso de fundo durante uma
tendncia de alta

Doji
Sintaxe: doji()
Descrio: Os preos de abertura e fechamento so os
mesmos
Interpretao: linhas doji so geralmente componentes de
vrios padres candlestick importantes

Pg. 34

Doji Star (Doji de Alta)


Sintaxe: dojistar()
Descrio: Um doji que faz gap acima ou abaixo de um
candlestick branco ou preto
Interpretao: um sinal de reverso com confirmao
durante o prximo dia de operao.

Engulfing Bearish Line (Engolfo de Baixa)


Sintaxe: engulfingbear()
Descrio: um pequeno corpo branco seguido de e contido
em um grande corpo preto
Interpretao: um forte sinal de reverso de topo

Engulfing Bullish Line (Engolfo de Alta)


Sintaxe: engulfingbull()
Descrio: um pequeno corpo preto seguido de e contido em
um grande corpo branco
Interpretao: um forte sinal de reverso de fundo

Evening Doji Star (Beb Abandonado de Alta)


Sintaxe: eveningdojistar()
Descrio: Um grande corpo branco seguido de um doji que
faz gap acima do corpo branco. O terceiro candlestick tem
corpo preto que fecha bem dentro do corpo branco
Interpretao: Um forte sinal de reverso de topo, mais
baixista que o padro normal de Evening Star

Evening Star (Estrela da Tarde)


Sintaxe: eveningstar()
Descrio: Um grande corpo branco seguido de um pequeno
corpo (branco ou preto) que faz gap acima do corpo branco.
O terceiro candlestick tem corpo preto que fecha bem dentro
do corpo branco
Interpretao: Um forte sinal de reverso de topo

Falling Window (Gap de Baixa)


Sintaxe: fallingwindow()
Descrio: Uma janela (gap) entre a mnima do primeiro
candlestick e a mxima do segundo candlestick. Isto produz
os mesmos resultados que a funo Gap Down.
Interpretao: Um rally at a janela altamente provvel. A
janela deve oferecer resistncia

Pg. 35

Gravestone Doji
Sintaxe: gravestonedoji()
Descrio: Os preos de abertura e fechamento esto na
mnima do perodo
Interpretao: um sinal de reverso de topo de mercado.
Quanto mais longa a sombra do alto mais baixista o sinal

Hammer (Martelo)
Sintaxe: hammer()
Descrio: Um pequeno corpo (branco ou preto) perto da
mxima com uma longa sombra para baixo com pouca ou
nenhuma sombra para cima
Interpretao: um padro altista durante uma tendncia de
baixa

Hanging man (Homem Enforcado)


Sintaxe: hangingman()
Descrio: um pequeno corpo (banco ou preto) perto da
mxima com uma longa sombra para baixo com pouca ou
nenhuma sombra para cima. A sombra para baixo deve ser 2
ou 3 vezes a altura do corpo
Interpretao: um padro baixista durante um tendncia de
alta

Inverted Black Hammer (Martelo Invertido)


Sintaxe: invblackhammer()
Descrio: um hammer de ponta-cabea com um corpo preto
Interpretao: um sinal de reverso de fundo com
confirmao no prximo dia de prego

Inverted Hammer (Estrela Cadente)


Sintaxe: invhammer()
Descrio: um hammer de ponta-cabea (branco ou preto)
Interpretao: um sinal de reverso de fundo com
confirmao no prximo dia de prego

Long Legged Doji


Sintaxe: longleggeddoji()
Descrio: um padro doji com sombras de cima e de baixo
muito longas
Interpretao: um padro de reverso de topo de mercado

Pg. 36

Long Lower Shadow


Sintaxe: longlowershadow()
Descrio: um candlestick (branco ou preto) com uma sombra
de baixo que tem um comprimento de 2/3 ou mais da faixa
total do candlestick
Interpretao: um sinal altista, particularmente quando perto
de nveis de suporte

Long Upper Shadow


Sintaxe: longuppershadow ()
Descrio: um candlestick (branco ou preto) com uma sombra
de cima que tem um comprimento de 2/3 ou mais da faixa
total do candlestick
Interpretao: um sinal baixista, particularmente quando
perto de nveis de resistncia

Morning Doji Star (Beb Abandonado de Alta)


Sintaxe: morningdojistar()
Descrio: Um corpo preto grande seguido de um doji que faz
gap abaixo do corpo preto. O terceiro candlestick um corpo
branco que fecha bem dentro do corpo preto
Interpretao: um forte sinal de reverso de fundo, mais
altista que o Morning Star padro.

Morning Star (Estrela da Manh)


Sintaxe: morningstar ()
Descrio: Um corpo preto grande seguido de um pequeno
corpo (branco ou preto) que faz gap abaixo do corpo preto. O
terceiro candlestick um corpo branco que fecha bem dentro
do corpo preto
Interpretao: um forte sinal de reverso de fundo.

On Neck Line (Linhas de Encontro)


Sintaxe: onneckline()
Descrio: Um candlestick preto em uma tendncia de baixa,
seguido por um pequeno candlestick branco com seu
fechamento perto da mnima do
Candlestick preto.
Interpretao: Um padro baixista onde o mercado deve se
mover mais baixo quando a mnima do candlestick branco
penetrada.

Piercing Line
Sintaxe: piercingline()
Descrio: Um candlestick preto seguido de um

Pg. 37

candlestick branco que abre mais baixo que a mnima do


candlestick preto, mas fecha mais que metade do caminho
dentro do corpo preto.
Interpretao: Um sinal de reverso de fundo.

Rising Window (Gap de Alta)


Sintaxe: risingwindow()
Descrio: Uma janela (gap) entre a maxima do primeiro
candlestick e a mnima do segundo candlestick. Isto produz o
mesmo resultado que a funo gapup().
Interpretao: Uma venda na janela altamente provvel.
A janela deve prover suporte.

Separating Lines
Sintaxe: separatinglines()
Descrio 1: Em uma tendncia altista, um candlestick
preto seguido por um candlestick branco com o mesmo
preo de abertura.

Descrio 2: Em uma tendncia baixista, um candlestick


branco seguido por um candlestick preto com o mesmo
preo de abertura.

Interpretao: Um padro de continuao. A tendncia anterior deve continuar

Shaven Bottom
Sintaxe: shavenbottom()
Descrio: Um candlestick (branco ou preto) sem sombra
embaixo.
Interpretao: Ver o Inverted Hammer

Shaven Head
Sintaxe: shavenhead()
Descrio: Um candlestick (branco ou preto) sem sombra
acima.
Interpretao: Ver Hammer e Hanging Man

Shooting Star (Estrela Cadente)


Sintaxe: shootingstar()
Descrio: Um candlestick (branco ou preto) com um
pequeno corpo, sombra longa acima e pequena ou nenhuma

Pg. 38

abaixo.
Interpretao: Um padro baixista em uma tendncia altista

Spinning Top
Sintaxe: spinningtop()
Descrio: Um candlestick (branco ou preto) com um
pequeno corpo. O tamanho das sombras no importante.
Interpretao: Um padro neutro. Os Spinning Tops so mais
importantes quando parte de outras formaes.

Three Black Crows


Sintaxe: 3blackcrows()
Descrio: Trs longos candlesticks pretos com fechamentos
consecutivamente mais baixos, que fecham perto ou na
mnima deles.
Interpretao: Um forte sinal de reverso.

Three White Soldiers (3 Soldados Brancos)


Sintaxe: 3whitesoldiers()
Descrio: Trs candlesticks brancos com fechamentos
consecutivamente mais altos, que fecham perto ou na
mxima deles.
Interpretao: Um sinal de reverso de fundo.

Tweezer Bottoms
Sintaxe: tweezerbottoms()
Descrio: Dois ou mais candlesticks com fundos na mesma
altura. O tamanho e cor dos candlestick no importam. Os
candlesticks no precisam ser consecutivos.
Interpretao: Um sinal fraco de reverso, que mais
importante quando os candlesticks formam outro padro

Tweezer Tops
Sintaxe: tweezertops()
Descrio: Dois ou mais candlesticks com topos na mesma
altura.
Interpretao: Um sinal fraco de reverso, que mais
importante quando os candlesticks formam outro padro. Os
candlesticks no precisam ser consecutivos

Pg. 39

White Body (Candle de Alta)


Sintaxe: white()
Descrio: Um candlestick formado quando o preo de
fechamento maior que o preo de abertura
Interpretao: Um sinal altista. Mais importante quando
parte de um padro.

Pg. 40