MetaStock System Tester
Na maioria das vezes uma quando tomamos a decisão de operar na compra ou venda de um ativo, o fazemos baseado no apoio de um conjunto de ferramentas, sendo que os mais utilizados são a análise de formações gráficas (Retas de suporte/resistências, linhas de tendência, etc) e no sinal de indicadores técnicos diversos (osciladores, rastreadores de tendências, etc).
O MetaStock possui um componente chamado System Tester, este componente permite ao usuario medir a performance de um sistema operacional baseado em indicadores, fornecendo todos os elementos necessários a sua otimização, objetivando maximizar o desempenho e aumentar a confiabilidade do mesmo.
O uso do System tester , é relativamente simples, porém para que você consiga aproveitar 100% do seu potencial é fundamental um conhecimento básico da metodologia de criação de indicadores , bem como da linguagem usada na criação de formulas no MetaStock. Para efeito de exemplo vamos testar um sistema simples baseado nos sinais do MACD.
Para acessar o System tester vasta clicar no seu icone,
, na barra de ferramentas. Será exibida uma tela listando alguns exemplos simples de negociação, que acompanham o software por default.

Na primeira vez que usamos o System Tester, devemos definir uma série de parâmetros que irão influir no quão próximo da realidade será a simulação, para acessar a tela de configuração destes parâmetros, clique no botão “Options…”, será exibida a seguinte tela

Na tab “Testing” existem 4 sessões a serem definidas, “Trade Price”, “Commissions”, “Positions” e “Equity”.
Em “Trade Price”, você deve definir qual será o preço de entrada e de saída de um trade, bem como qual será o atraso na operação. Normalmente trabalhamos com o preço de entrada e saída como sendo Open e usando um atraso de 1 barra, que significaria que nosso sistema daria o sinal numa barra, e nos entraríamos operando (comprando ou vendendo) na abertura da barra seguinte, se você optar por operar com o preço de fechamento use 0 como delay, mas observe que isso não seria muito realista visto que seu sistema não poderia lhe dar um sinal confiável até a barra estar “fechada”.
Em “Commissions”, você deve definir a corretagem e as taxas envolvidas em cada operação, sendo que é possível optar por um custo fixo por operação ou por um %, ajuste esses campos de acordo com o praticado pela sua corretora.
Em “Positions”, você deve definir se vai operar comprado (longs), vendido (shorts) ou em ambas.”
Em “Equity”, você deve definir se você esta ou não operando no mercado de futuros, para isso basta marcar a opção “Points Only Test”, que o sistema irá considerar apenas o ganho ou perda em termos de pontos e não em termos financeiros. Se o seu tipo de operação requer um deposito de margem especifique o % necessário em “Margin requirement %”, ou seja definindo uma margem de 20% significa que você só precisa possuir 20% do valor de um ativo para poder negocia-lo, se você não estiver negociando com o uso de margem use 100% neste campo. O campo “Initial Equity” deve ser preenchido com a quantidade de dinheiro que você deseja utilizar como saldo inicial da operação. O campo “Anual Interest Rate”, é a rentabilidade anual da sua conta (juros) que você recebe durante os períodos em que você não esta posicionado, observe que a maioria das corretoras no Brasil não pagam juros de renda fixa pelo saldo disponível e “parado” na sua conta de investimento.
Agora que já definimos as opções referentes a este tab, clique no tab “Reporting”, e será exibida a tela abaixo.

Neste tab você irá definir alguns parâmetros que irão influir na forma como os resultados da simulação serão exibidos. Você pode definir se vai querer que os sinais gráficos de compra, venda e stop apareçam no gráfico, bem como a cor que será utilizada pelos mesmos, podemos aceitar o default sem nenhum problema. Também é possível definir se queremos que seja plotado um gráfico com a rentabilidade obtida pelo sistema em estudo, bem como se desejamos ser avisados quando o teste terminar (marque essa opção se você desejar rodar a simulação em segundo plano). Uma vez conferidos todos os campos, pressione OK para voltar a tela inicial.
Para prosseguir, vamos analisar um dos exemplos prontos disponíveis com o MetaStock, selecione “Equis - MACD w/Optimization”, e pressione “Edit”, será exibida a tela abaixo.

O campo nome deve ser configurado com o nome que você deseja utilizar para a simulação, o campo notes pode ser usado para comentários sobre o sistema e não possui função pratica na simulação. Observe que existem na metade inferior 4 tabs, “Enter Long”, “Close Long”, “Enter Short” e “Close Short”.
É nestes campos que devemos registrar as regras do nosso sistema operacional, para cada um dos 4 eventos citados acima.
A condição de entrada em uma posição long é quando um MACD for maior que a media móvel exponencial do MACD, sendo que o período desta média esta setado como OPT1, ou seja será otimizado durante a simulação.
Clicando na Tab, “Close long”, temos a tela abaixo

A condição de saída de uma posição long é quando um MACD for menor que a media móvel exponencial do MACD, para manter a coerência com a condição de entrada, o período da media móvel também esta setado como OPT1. Como este sistema é um sistema que considera que você esta sempre no mercado, sendo que você esta vendido (short), quando não esta comprado (long), a condição de entrada em uma posição short é igual a condição de saída do long e a condição de saída da posição short é igual a condição de entrada na posição Long, como mostrado abaixo.


No system tester, “Enter short” significa “venda à descoberto”, “Enter long” significa “comprar ativo”, “Exit short” significa “zerar posição descoberta” e “Exit long” significa “venda de ativo”. Se você não deseja ou não pode operar desta forma, lembre-se de ajustar corretamente os parâmetros do teste como explicado anteriormente. Agora que já definimos as regras básicas do nosso sistema operacional, devemos ajustar os paramentos da otimização, para isso clique em “Optimize…”, será exibida a tela abaixo.

A tela acima mostra o nome da variável em uso, uma breve descrição da variável (opcional), o valor mínimo e máximo que a variável pode assumir, e a taxa de incremento da mesma durante a simulação, a coluna status mostra que a variável está em uso, ou seja ela aparece nas formulas definidas na janela anterior. No rodapé da janela será exibido o total de testes que serão realizados, o mesmo varia de acordo com a quantidade de variáveis definidas e da extensão das mesmas.
Se você desejar criar uma nova variável, pressione “New…”, se desejar editar uma variável já existente, selecione a mesma e pressione “Edit…”, independente de qual desses 2 botões seja pressionado, será exibida uma tela como a abaixo, na qual podemos alterar os valores da variável, pressione OK para voltar a tela anterior.

Uma vez tendo feito todos ajustes necessários para a otimização, pressione OK até voltar a tela anterior. Agora que ja ajustamos os dados da otimização devemos definir os critérios de stop, para isso, pressione o botão “Stops…”, existem 5 tipos de stops que podem ser definidos:
Breakeven

Este stop também é chamado de stop de empate, ele é disparado quando os preços se movem contra a sua posição, após ter atingido um nível mínimo de rentabilidade, definido em “Floor Level”.
Inactivity

Stopa uma posição caso os preços não se movam de forma a gerar um ganho mínimo num determinado período de tempo.
Max loss

Este stop encerra o trade apos atingir a perda máxima que você definiu.
Profit Target

Este stop encerra o trade depois que este atingiu a rentabilidade mínima definida como sendo o objetivo do trade.
Trailing

Também chamado de stop móvel, este stop encerra um trade quando ocorre uma perda de uma quantia pré definida do lucro já obtido no trade (profit risk), a cada nova máxima, o sistema muda o stop de posição acompanhando a oscilação positiva do preço. Você deve utilizar o campo “Periods” para definir qual será o delay para aplicação deste stop, em geral, ele é definido de uma forma tal a dar alguma mobilidade para os preços. Observe que este stop limita apenas perdas de lucros já obtidos num trade, para proteger o capital inicial, você deve utilizar o “Max Loss”.
Em todas as telas acima, você terá que especificar a que tipo de posição o stop se aplica (short, long ou ambas), se o stop será definido em % ou em pontos, bem como definir se você vai sair do trade no preço que disparou o stop.
Da mesma forma como podemos utilizar variáveis para otimizar as formulas que compõe nossas regras operacionais, também é possível utiliza-las para otimizar o percentual de stop, para isso basta pressionar o botão “Optimize…” nas telas acima, o procedimento é análogo ao descrito anteriormente. Observe que um sistema operacional pode possuir no máximo 10 variáveis a serem otimizadas.
O uso dos stops é opcional, e é recomendado que você teste os seus sistemas com e sem stops, sendo que nem sempre você irá utilizar simultaneamente os 5 tipos de stop. De OK nesta tela para voltar a tela anterior.

Uma vez que já definidos as regras de uso do stop, podemos prosseguir com a simulação, para isso pressione OK para voltar a tela inicial.

Estando com o gráfico do ativo desejado aberto, selecione o sistema a testar, no nosso exemplo o “Equis - MACD w/Optimization”, e pressione o botão “Test”, será exibida a seguinte tela

Nesta tela você pode acompanhar o status da simulação, ela apresenta um resumo geral do processo, incluindo o numero de testes realizados e o tempo estimado para termino. Quando a simulação terminar será exibida a mensagem abaixo

Para ver o resultado da simulação pressione o botão “Reports…”, será exibida a tela abaixo

Esta tela apresenta um resumo do resultado da simulação realizada, se você desejar mudar ordem de exibição dos testes , clique no botão “Sort…”, será exibida a tela abaixo, a qual permitirá ordenar as colunas de acordo com o critério desejado.

A ordenação default é pela rentabilidade do sistema.
Para visualizar os detalhes do teste, escolha o teste desejado, por exemplo o de numero 9, e pressione o botão “Reports…”, será exibida a tela abaixo.

Voce pode observar que existem 4 tabs nesta tela, “Results”, “Trades”, “Equity”, “System”.
É a partir das informações apresentados na tab “Results” que iremos avaliar a performance do sistema, as informações disponíveis são:
Total Net Profit - Rentabilidade liquida do teste, representa a quantia ganha ou perdida pelo sistema se todas as posições fossem encerradas na ultima barra do gráfico.
Percent Gain/Loss - Rentabilidade % sobre o capital inicial
Initial Investment - Quantia inicial no inicio da simulação
Open Position Value - Posições em aberto que foram fechadas forçadamente no final dos testes.
Annual Percent Gain/Loss. - Taxa % anualizada de ganho ou perda do sistema
Interest Earned - Quantia ganha devido a juros de renda fixa recebidos durante o período que o sistema esteve fora do mercado.
Current Position - Posição atual do teste (long, short, ou out).
Date Position Entered - Data em que o sistema entrou na posição atual
Buy/Hold Profit - Ganho/Perda no período pela estratégia comprar e segurar, ou seja, quanto teria ganho/perdido alguem que tivesse comprado no primeiro dia do teste e vendido no ultimo dia do teste.
Buy/Hold Percent Gain/Loss - Rentabilidade % da estratégia comprar e segurar.
Days in Test - Numero de dias utilizados na simulação
Annual Buy/Hold Percent Gain/Loss - Taxa % anualizada de ganha ou perda da estratégia comprar e segurar.
Total Closed Trades - Numero total de negócios completos
Average Profit Per Trade - Ganho médio por negocio
Total Long Trades - Numero total de operações long
Winning Long Trades - Numero de posições long que foram lucrativas.
Commissions Paid - Corretagem paga no período.
Average Win/Average Loss Ratio - Razão entre o ganho médio e a perda média.
Total Short Trades - Numero total de operações short.
Winning Short Trades - Numero de posições short que foram lucrativas.
Total Winning Trades - Numero total de negócios que foram lucrativos.
Amount of Winning Trades -Quantia ganha nos negócios lucrativos.
Average Win - Média de ganho dos negócios lucrativos
Largest Win - Maior ganho do sistema no período
Average Length of Win - Duração média dos negócios lucrativos (em numero de barras)
Longest Winning Trade - Duração do negócio lucrativo mais longo.
Most Consecutive Wins - Numero máximo de negócios lucrativos consecutivos
Total Losing Trades - Numero total de negócios que deram prejuízo.
Amount of Losing Trades - Quantia perdida nos negócios que deram prejuízo
Average Loss - Média de perda nos negócios que deram prejuízo
Largest Loss - Maior perda do sistema no período
Average Length of Loss - Duração média dos negócios que deram prejuízo
Longest Losing Trade - Duração do negócio perdedor mais longo.
Most Consecutive Losses - Numero máximo de negócios perdedores consecutivos
Total Bars Out - Numero total de barras em que o sistema ficou fora do mercado.
Longest Out Period - Duração do maior período em que o sistema ficou fora do mercado.
Average Length Out - Numero médio de barras em que o sistema ficou fora do mercado.
Profit/Loss Index - Este índice compara o numero de negócios vencedores com o numero de perdedores, sendo os extremos +100 (Sem perdas) e -100 (Sem ganhos)
Reward/Risk Index - Este índice compara o retorno do sistema contra o risco do mesmo, sendo os extremos +100 (seguro) e -100 (muito arriscado).
Buy/Hold Index - Este índice compara a lucratividade do sistema com a lucratividade da estratégia comprar e segurar.
Através da analise dos dados acima você pode analisar o desempenho do sistema e compara-lo ao desempenho de outros sistemas operacionais, podem otimizar sua estratégia operacional.
A tab “Trades”, mostra detalhes de cada um dos trades, tais como a data de entrada e saida de cada operação e a rentabilidade de mesma, a tela pode ser vista a abaixo.

Você pode inspecionar os detalhes de qualquer um dos negócios apresentados, na tela assim, para isso basta selecionar um deles e pressionar o botão “Inspect”, será exibida a tela abaixo

Nesta tela você terá informações detalhadas do trade, para sair desta tela pressione OK. A tab “Equity” mostra uma pequena planilha com a rentabilidade dia a dia da simulação, um exemplo desta tela pode ser vista abaixo.

A ultima tab é a tab “System”, nesta tab é apresentado um resumo da simulação em analise, um exemplo desta tela pode ser visto abaixo

Estas informações serão muito úteis quando você for transformar seu sistema operacional em um expert para usa-lo no dia a dia.
No canto direito superior existem 2 botões, “Arrows” (coloca no gráfico as setas indicando os pontos de compra e venda) e “Plot Equity” (gera um gráfico de linha com a rentabilidade do sistema). Após pressiona-los o seu gráfico ficaria parecido com o mostrado abaixo.

