Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
System Tests
Exploraes
Experts
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)
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)
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:
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
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.
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
Accumulation/Distribution
Sintaxe: ad()
Objetivo: Calcular o indicador Accumulation/Distribution.
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
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.
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().
Pg. 10
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.
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()
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
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()
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.
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()
Pg. 15
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.
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()
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).
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 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.
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).
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()
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()
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 )
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
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 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
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.
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()
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.
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.
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.
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 )
Pg. 27
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.
TRIX
Sintaxe: trix( DADO, PERODOS )
Objetivo: Calcular o indicador TRIX.
Exemplo: trix( 12 )
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()
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.
Pg. 33
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
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
Pg. 36
Piercing Line
Sintaxe: piercingline()
Descrio: Um candlestick preto seguido de um
Pg. 37
Separating Lines
Sintaxe: separatinglines()
Descrio 1: Em uma tendncia altista, um candlestick
preto seguido por um candlestick branco com o mesmo
preo de abertura.
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
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.
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
Pg. 40