You are on page 1of 6

Ferramentas da Anlise Tcnica

Abaixo voc encontra os cdigos das ferramentas explicadas no e-book para usar
nos backtests do Amibroker.
Sinta-se livre para mudar as variveis (em negrito) como voc bem entender, mas
fique longe do resto do cdigo para no bagunar o seu sistema.

Canais de Donchian
Como no existe essa ferramenta no Amibroker, voc at consegue testar mas no
consegue ver a representao nos grficos.
Para mudar isso, basta escrever a ferramenta criando um AFL com o cdigo:
DonchianX = Ref(HHV(H,linhasuperior),-1);
DonchianY = Ref(LLV(L,linhainferior),-1);
Plot(DonchianX,"DU",colorBlue,styleLine);
Plot(DonchianY,"DL",colorBlue,styleLine);
Substitua linhasuperior e linhainferior pelos valores que voc quer que sejam
mostrados no grfico, salve o arquivo (i.e. donchian.afl) na pasta formula/custom
e reinicie o programa.
Aps o reincio, entre na aba lateral Charts / Custom, clique com o boto direito do
mouse na ferramenta recm-criada e ento, em Overlay.
Agora ns podemos ver os Canais de Donchian normalmente!
Para test-los, o cdigo que deve ser inserido no bom e velho sisteminha.afl o
mesmo ensinado no e-book principal, ou seja:
Buy = H > Ref(HHV(H,linhasuperior),-1);
BuyPrice = Ref(HHV(H,linhasuperior),-1);
Sell = L < Ref(LLV(L,linhainferior),-1);
SellPrice = Ref(LLV(L,linhainferior),-1);
linhasuperior Regula a distncia da linha superior at os preos. Com um
valor mais alto, a linha fica bem acima dos preos. Com um valor mais baixo,
ela fica mais para baixo.
linhainferior Quase a mesma coisa, mas na direo oposta. Com um valor
mais alto, a linha fica mais para baixo dos preos. Com um valor mais baixo,
ela fica mais prxima.
Copyright 2016 Hugo R. Teixeira

| Pgina 1

Mdias Mveis Simples


Buy = Cross(MA(C,linharapida),MA(C,linhalenta));
Sell = Cross(MA(C,linhalenta),MA(C,linharapida));
linharapida Define o perodo (i.e. candles) no qual a mdia mvel simples
ser utilizada. Se o perodo for menor, a linha vai seguir os preos mais de
perto e se for maior, vai ficar mais para trs.
linhalenta Mesma coisa. Tambm define o perodo no qual a mdia ser
utilizada. Este valor precisa ser maior do que o da linharapida para que os
cruzamentos funcionem corretamente.

Mdias Mveis Exponenciais


Buy = Cross(EMA(C,linharapida),EMA(C,linhalenta));
Sell = Cross(EMA(C,linhalenta),EMA(C,linharapida));
linharapida Igual a linharapida das simples, s que essa exponencial.
linhalenta Idem.

Mdias Mveis Simples Com Filtro


Buy = Cross(MA(C,rapida),MA(C,lenta)) AND MA(C,filtro) < MA(C,rapida);
Sell = Cross(MA(C,lenta),MA(C,rapida));
rapida Mesmo conceito da linharapida. Tirei o linha para diminuir o cdigo.
lenta Mesma coisa.
filtro Define o perodo no qual o filtro ser calculado. Esse valor precisa
ser superior ao valor da mdia rpida para funcionar.

Mdias Mveis Exponenciais Com Filtro


Buy = Cross(EMA(C,rapida),EMA(C,lenta)) AND EMA(C,filtro) < EMA(C,rapida);
Sell = Cross(EMA(C,lenta),EMA(C,rapida));
rapida Agora a mdia exponencial mas de resto, fica tudo igual.
lenta Yep, tudo igual tambm.
filtro Pra variar, define o perodo no qual o filtro ser calculado. Mais uma
vez o valor deve ser superior ao da mdia rpida para funcionar.
Copyright 2016 Hugo R. Teixeira

| Pgina 2

Indicador MACD
Buy = Cross(MACD(rapida, lenta), Signal(rapida, lenta, cruzamento));
Sell = Cross(Signal(rapida, lenta, cruzamento),MACD(rapida, lenta));
rapida Valor da mdia mais curta utilizada no clculo do MACD.
lenta Valor da mdia mais lenta utilizada no clculo do MACD.
cruzamento Valor da mdia utilizada no clculo do sinal de venda ou de
compra do MACD.
*Saiba que a primeira linha do MACD uma substrao da lenta pela rpida. J a
segunda linha formada por esse valor do cruzamento.

Copyright 2016 Hugo R. Teixeira

| Pgina 3

Modelos da Gesto do Dinheiro


Aqui esto os cdigos dos modelos da gesto apresentados no e-book.
A exceo o terceiro modelo, o Porcentagem Relativa ao Stop, Mas Naquelas...
pois ele possui um elemento subjetivo e por isso, no podemos quantific-lo para
os testes.
De qualquer forma, os cdigos dos 3 modelos restantes so:

Bloquinho Por Operao


PositionSize = -100/bloquinhos;
bloquinhos Nmero de bloquinhos (posies totais / ativos simultneos)
que voc pretende operar com esse sistema.

Porcentagem Relativa ao Stop (Donchian)


PositionSize = -risco / (BuyPrice - SellPrice) * BuyPrice;
risco Quanto voc deseja arriscar a cada operao. Pode ser 1 (para 1%),
2.5 (para 2,5%) e por a vai.

Porcentagem Relativa a ATR


PositionSize = -risco * BuyPrice/(multiplicador*ATR(periodos));
risco Mesma coisa, quanto voc deseja arriscar por operao. Na maioria
dos casos, acima de 5% suicdio e mesmo esse nmero s deve ser usado
com extremo cuidado.
multiplicador Valor do multiplicador da ATR. Normalmente fica entre 2 a 5.
periodos Quantos perodos (candles) o sistema vai levar em conta para o
clculo da ATR. O padro 14 perodos mas de 10 a 20 tambm comum.

Copyright 2016 Hugo R. Teixeira

| Pgina 4

Exemplos de Sistemas
Aqui esto alguns exemplos para voc ter uma ideia de como unir as ferramentas
com os modelos ao fazer os backtests.
Os cdigos desses sistemas (que voc deve sempre testar antes de usar) so:

Mdias Simples + Bloquinhos


Buy = Cross(MA(C,40),MA(C,100));
Sell = Cross(MA(C,100),MA(C,40));
PositionSize = -100/8;

Mdias Exponenciais + Bloquinhos


Buy = Cross(EMA(C,40),EMA(C,100));
Sell = Cross(EMA(C,100),EMA(C,40));
PositionSize = -100/12;

Canais de Donchian + Porcentagem Relativa ao Stop


Buy = H > Ref(HHV(H,70),-1);
BuyPrice = Ref(HHV(H,70),-1);
Sell = L < Ref(LLV(L,30),-1);
SellPrice = Ref(LLV(L,30),-1);
PositionSize = -2.5 / (BuyPrice - SellPrice) * BuyPrice;

MACD + Bloquinhos
Buy = Cross(MACD(12, 26), Signal(12, 26, 9));
Sell = Cross(Signal(12, 26, 9),MACD(12, 26));
PositionSize = -100/6;

Mdias Exponenciais Com Filtro + Porcentagem Relativa a ATR


Buy = Cross(EMA(C,10),EMA(C,50)) AND EMA(C,200) < EMA(C,10);
Sell = Cross(EMA(C,50),EMA(C,10));
PositionSize = -2.5 * BuyPrice/(2*ATR(14));

Copyright 2016 Hugo R. Teixeira

| Pgina 5

Outras Ferramentas e Modelos


Existem muitas outras variaes dessas ferramentas e modelos. Para conhec-las
ou aprender a modific-las, basta fazer o seguinte:
Pesquise o que voc quer fazer no Google (i.e. amibroker moving averages
formula with MACD filter);
Procure a resposta na base de dados do site do Amibroker nesse outro link
aqui (tambm em ingls).
Nela voc encontra muitas informaes teis, inclusive sobre stops e sadas
ou entradas progressivas.
No geral voc acha de tudo na internet, a diferena que para coisas mais bsicas
mais fcil de achar e entender e para coisas mais complicadas, alm de ser mais
difcil de achar, talvez voc precise programar.
Novamente, provvel que voc no v precisar de nada extra no futuro, mas
como conhecimento nunca demais, vale a pena pesquisar outras coisas caso
voc se sinta aventureiro.

Copyright 2016 Hugo R. Teixeira

| Pgina 6

You might also like