O Trader Gráfico conta com a poderosa função de Estudos Personalizados, que permite ao usuário criar os seus próprios estudos, além de instalar estudos criados por outras pessoas (como os nossos analistas de Suporte).
O link a seguir possui informações sobre todos os Estudos Personalizados que já vêm instalados no Trader Gráfico, esta lista é atualiza em tempo real sempre que novos estudos entram no software. Não é necessário atualizar versões para receber novos estudos, eles são adicionados à sua instalação automaticamente no login:
Baseado na linguagem de programação TG-Script, derivada do VB-Script, a função de Estudos Personalizados permite usar variáveis pré-definidas e expressões matemáticas baseadas nas barras dos gráficos para criar algoritmos personalizados que emitem sinais de compra e venda e podem ser vinculados a alarmes sonoros, sinais visuais ou ROBÔS TRADERS.
Com esta função é possível programar indicadores tradicionais, como o MACD ou IFR, ou, como o nome diz, personalizados, cujas fórmulas e lógicas são desenvolvidas pelo cliente.
Cada Indicador criado pode ter até 4 linhas e 10 expressões matemáticas (como médias móveis ou desvio padrão). São permitidas 6 variáveis globais pré-definidas e diversas variáveis de sistema que lêem os parâmetros de cada barra ou dia do gráfico, como abertura, fechamento, volume, hora, dia, dia da semana, linha anterior, valores passados etc.
Ao ativar o menu Estudos > Estudos Personalizados, ou pela tecla F8 do teclado, a tela de configuração abaixo deve aparecer:
Nesta tela estamos trabalhando com um exemplo chamado Acumulação Estatística X, para facilitar o entendimento este estudo também existe dentro do seu Trader Gráfico (menu Estudos > Estudos Personalizados > Categoria: Tradicionais Otimizados > Acumulação Estatística X).
Esta tela é dividida em 5 partes:
Desenhar em: Na parte de cima da tela, a primeira configuração a fazer é escolher se o estudo será traçado dentro do Gráfico Principal de preços ou em um Gráfico Auxiliar. Se a opção de Gráfico Auxiliar for escolhida, a parte de Marcadores será habilitada.
Marcadores: Funciona apenas se a opção Gráfico Auxiliar for escolhida. Consiste em definir se no estudo haverá retas de sobre-compra ou sobre-venda e qual o seu valor padrão, que será perguntado sempre que o estudo for aberto. Da mesma forma é possível cadastrar a chamada Linha Zero, que não necessariamente possui o valor zero, mas que normalmente divide o estudo ao meio. E a Linha Estilo Escada apenas modifica a visualização das linhas do estudo, esta opção não interfere em nenhum cálculo.
Linhas: Após definir onde o gráfico será traçado, chegou a hora de configurar o estudo propriamente dito. Dentro de cada estudo o usuário pode configurar até 4 linhas. No nosso exemplo vamos utilizar as 4 linhas.
Regras de Operação (Compra e Venda): Esta função não estaria completa se não fosse possível integrar os estudos definidos pelo usuário ao módulo de estratégias de compra e venda. Por isso, o usuário pode escolher as regras para que o estudo emita sinais de compra e venda nos gráficos, que poderão ser visualizados pelos fundos verde e vermelho característicos, ou ligados às estratégias com sinais de alerta visuais e sonoros, além da operação direta via Robô Gráfico (versão PRO ou DMA).
Botões de comando: Formada pelos botões Gravar, Meu Cloud, Excluir, Exportar e Importar, esta parte da tela é a finalização de qualquer estudo criado.
Gravar: Após configurar o seu estudo é preciso clicar neste botão para salvá-lo. O programa perguntará qual o nome que o estudo terá e então o salvará em um arquivo na pasta padrão de Layouts com a extensão *.ESP. Imediatamente o estudo já é listado dentro do menu Estudos > Estudos Personalizados
Meu Cloud: Você criou um estudo muito bom e deseja salvá-lo de modo que fique disponível em todos os computadores onde você utiliza o Trader Gráfico? Então basta clicar neste botão e preencher o descritivo de seu estudo. Sempre que você entrar no Trader Gráfico o seu estudo salvo no ambiente Cloud será mostrado dentro da Categoria OUTROS dos estudos personalizados, mesmo que você tenha acabado de instalar o Trader Gráfico em um novo computador.
Excluir: Simplesmente apaga o estudo. Se o estudo for um dos que vem como padrão do programa ele não poderá ser apagado.
Exportar: Utilize este botão para criar um arquivo de estudo *.ESP em uma pasta qualquer.
Importar: Utilize este botão para carregar um arquivo de estudo *.ESP de uma pasta qualquer.
A parte mais complexa dos estudos será cadastrar todas as linhas que o compõe. Para fazer isto, após ativar uma linha, como a Linha 3, clique no botão "EDITAR" que fica ao seu lado direito. A tela abaixo será mostrada:
Nesta tela é possível configurar a função que calcula a Linha 3 e também escolher a cor, estilo e espessura da linha. Para facilitar a sua operação algumas funções são pré-cadastradas, sendo que para utilizá-las basta escolhê-las na lista "Tipo". São elas:
Média Móvel Simples: Calcula a média móvel simples de X períodos de qualquer valor do dia, como Fechamento, Abertura, Máxima, Mínima, Volume etc. Se você estiver configurando a Linha 2, por exemplo, nesta função também é possível utilizar a Linha 1. Fórmula MMS[ exp; var].
Média Móvel Exponencial: Calcula a média móvel exponencial de X períodos de qualquer valor do dia, como Fechamento, Abertura, Máxima, Mínima, Volume etc. Se você estiver configurando a Linha 2, por exemplo, nesta função também é possível utilizar a Linha 1. Fórmula MME[ exp; var].
Desvio Padrão Simples: Calcula o desvio padrão simples de X períodos de qualquer valor do dia, como Fechamento, Abertura, Máxima, Mínima, Volume etc. Se você estiver configurando a Linha 2, por exemplo, nesta função também é possível utilizar a Linha 1. Fórmula DVS[ exp; var].
Máxima em Intervalo: Retorna o valor máximo de um parâmetro em um intervalor de X períodos. Fórmula MAX[ exp; var].
Barra da Máxima Passada: Retorna a contagem da barra em que uma máxima ocorreu em um intervalor de X períodos. Fórmula MAP[ exp; var].
Mínima em Intervalo: Retorna o valor mínimo de um parâmetro em um intervalor de X períodos. Fórmula MIN[ exp; var].
Barra da Mínima Passada: Retorna a contagem da barra em que uma mínima ocorreu em um intervalor de X períodos. Fórmula MIP[ exp; var].
Valor Passado: Retorna o valor passado de um parâmetro no período exato X. Fórmula PAS[ exp; var].
Onde exp é a expressão matemática ou script que será usado na função e var é a variável numérica que define os períodos será utilizada no cálculo. Pode-se utilizar diretamente um número inteiro no lugar de var ou chamar variáveis que serão definidas pelo usuário ao ligar o estudo, VAR1, VAR2, VAR3 ou VAR4.
Caso a sua linha tenha uma configuração mais complexa, como por exemplo, ser a diferença entre duas médias móveis, então é necessário escolher o tipo Função e programar o seu script dentro da caixa de texto Function Func.
Além das funções matemáticas estatísticas descritas acima, o usuário pode utilizar qualquer função da tabela baixo:
Outras funções que não são mostradas na tela acima são:
Variáveis que pertencem ao programa e são somente leitura (como Abertura, Máxima, Volume etc):
Dt_A = Data da barra atual, sempre no formato AAAAMMDD (exemplo, 20121009 para 09/10/2012). Dt_B = Data da barra anterior à atual, sempre no formato AAAAMMDD.
DS_A = Dia da Semana da barra atual, sempre no formato numérico (exemplo, segunda-feira=2, terça-feira=3 etc). DS_B = Dia da Semana da barra atual, sempre no formato numérico (exemplo, segunda-feira=2, terça-feira=3 etc).
Hr_A = Hora da barra atual, no formato "HHMM" (exemplo, "1315" equivale à 13h e 15 min da tarde). Gráficos diários, semanais e mensais trazem o valor "0000". Hr_B = Hora da barra anterior à atual, no formato "HHMM".
Fe_A = Fechamento da barra atual, no formato decimal. Fe_B = Fechamento da barra anterior à atual, no formato decimal.
Ab_A = Abertura da barra atual, no formato decimal. Ab_B = Abertura da barra anterior à atual, no formato decimal.
Ma_A = Máxima da barra atual, no formato decimal. Ma_B = Máxima da barra anterior à atual, no formato decimal.
Mi_A = Mínima da barra atual, no formato decimal. Mi_B = Mínima da barra anterior à atual, no formato decimal.
Vo_A = Volume em quantidade da barra atual, no formato decimal. Vo_B = Volume em quantidade da barra anterior à atual, no formato decimal.
Ne_A = Nº Negócios da barra atual, no formato decimal. Ne_B = Nº Negócios da barra anterior à atual, no formato decimal.
RS_A = Volume em R$ da barra atual, no formato decimal. RS_B = Volume em R$ da barra anterior à atual, no formato decimal.
As funções abaixo são para gráficos Intraday e permitem o uso dos valores do dia e não da barra.
Fe_DA = Fechamento do DIA da barra atual, no formato decimal. Fe_DB = Fechamento do DIA da barra anterior à atual, no formato decimal.
Ab_DA = Abertura do DIA da barra atual, no formato decimal. Ab_DB = Abertura do DIA da barra anterior à atual, no formato decimal.
Ma_DA = Máxima do DIA da barra atual, no formato decimal. Ma_DB = Máxima do DIA da barra anterior à atual, no formato decimal.
Mi_DA = Mínima do DIA da barra atual, no formato decimal. Mi_DB = Mínima do DIA da barra anterior à atual, no formato decimal.
As linhas do próprio Indicador podem ser chamadas dentro do código. Aqui é importante ressaltar que uma linha só consegue ler os dados dela mesma ou de uma linha menor, ela não consegue ler os dados de uma linha maior, mesmo que no passado. Exemplo: A Linha 3 lê dados das Linhas 1, 2 ou 3, mas nunca lê dados da Linha 4.
L1_A = Linha 1 da barra atual, no formato decimal (na prática esta linha não é chamada). L1_B = Linha 1 da barra anterior à atual, no formato decimal.
L2_A = Linha 2 da barra atual, no formato decimal. L2_B = Linha 2 da barra anterior à atual, no formato decimal.
L3_A = Linha 3 da barra atual, no formato decimal. L3_B = Linha 3 da barra anterior à atual, no formato decimal.
L4_A = Linha 4 da barra atual, no formato decimal. L4_B = Linha 4 da barra anterior à atual, no formato decimal.
É possível requistar até 4 variáveis externas, que serão pedidas ao usuário quando o Indicador for iniciado ou recarregado no gráfico. Essas variáveis permitem a calibração do Indicador nas ferramentas de backtest do sistema:
Var1 = Variável Externa 1 da barra atual, no formato número INTEIRO. Var2 = Variável Externa 2 da barra atual, no formato número INTEIRO. Var3 = Variável Externa 3 da barra atual, no formato número INTEIRO. Var4 = Variável Externa 4 da barra atual, no formato número INTEIRO.
OPCIONAL: Podemos controlar o valor das Flechas de Compra e Venda que o Indicador vai mostrar dentro do gráfico caso as Regars de Operação estejam ativas. Isso é útil quando o Indicador trabalha no "Disparo Imediato", ou seja, ele dispara sinais antes da barra fechar, conforme máximas ou mínimas atendem a condições específicas do seu código. Se não for declarada, a Flecha herda o valor do fechamento da barra Fe_a, neste caso, para "Disparo Imediato", o valor da Flecha ficará mudando em tempo real até o fechamento efetivo da barra, o que significa que é importante declarar este valor em Indicadores de "Disparo Imediato".
Importante: Se a Flecha de Compra for definida, a Flecha de Venda PRECISA ser definida também e vice-versa. Caso você defina o valor de algumas Flechas e não de outras, as não definidas vão herdas valores anteriores errados.
Flecha = Valor que será aplicado às Flechas de Compra e Venda do Indicador, no formato decimal.
PastaIntegra = Define qual a pasta que será lida pelo Indicador, consulte a ajuda específica desta função para mais detalhes. Integra_C = Identifica Compra Externa. Integra_PrC = Identifica Valor Decimal de Compra Externa, se não existir será substituído pelo valor do Fechamento da barra Fe_a. Integra_V = Identifica Venda Externa. Integra_PrV = Identifica Valor Decimal de Venda Externa, se não existir será substituído pelo valor do Fechamento da barra Fe_a.
Variáveis que podem ser controladas pelo usuário (são 6 variáveis globais que carregam informações entre linhas):
GLOB1, GLOB2, GLOB3, GLOB4, GLOB5 e GLOB6
Os Estudos Personalizados não permitem a declaração de novas variáveis globais, mas já trazem 6 variáveis globais em branco prontas para serem usadas, a GLOB1, GLOB2, GLOB3, GLOB4, GLOB5 e GLOB6. São variáveis que você pode usar para guardar valores calculados em uma linha ou em uma barra e que deverão ser recuperados no futuro. Entre as aplicações mais comuns estão o armazenamento de preços de compra e venda para cálculo de stops (loss e gain).
A sintaxe para guardar dados e recuperar dados das GLOB's é diferente, por isso, atenção às informações abaixo:
> Para guardar dados em uma GLOB, utilize o seu nome de forma simples, exemplo: GLOB1 = Fe_A. Neste exemplo, você guardará o valor do fechamento da barra atual dentro da variável GLOB1, normalmente isso é feito em programações onde a GLOB1 está dentro de IF's e é alimentada apenas algumas vezes. Da mesma forma que o fechamento foi guardado na GLOB1, é possível guardar a mínima da GLOB2 e a máxima na GLOB3 da mesma barra, para isso basta digitar um comando por linha, como abaixo:
GLOB1 = Fe_A
GLOB2 = Mi_A
GLOB3 = Ma_A
> Para recuperar dados de uma GLOB devemos usar o final "_A" ou "_B", sendo que o "_A" deve ser usado apenas se você deseja recuperar um valor dentro da mesma barra onde ele foi alimentado. Exemplo: If GLOB1_A > 10 Then. Esta sintaxe é rara de se ver, pois se você alimentou a GLOB1 como Fe_A (exemplo acima) escrever este comando seria exatamente a mesma coisa que usar o If Fe_A > 10 Then. Em alguns casos esta sintaxe é útil, mas a maior utilização é mesmo da sintaxe GLOB1_B.
> Para recuperar o valor de uma GLOB que foi alimentado em uma linha anterior (mesmo que da mesma barra) ou em uma barra anterior (mesmo que na mesma linha) utilizaremos a sintaxe "_B". Exemplo: If GLOB1_B > 10 Then. Aqui o conceito faz sentido, pois é possível dar valor à GLOB1 dentro de uma linha e mais à frente, na mesma linha, fazer uma condição verificando se o valor novo é diferente do anterior (If GLOB1_A <> GLOB1_B Then). Isto abre uma ampla gama de possibilidades aos estudos, permitindo que lógicas sejam "carregadas" durante a formação de novas barras independente de médias, desvios ou outras funções matemáticas. Note que uma GLOB pode ser alimentada em uma barra dentro de uma condição, ficar sem receber atualização ou consulta durante várias outras barras e ser chamada em outra condição no futuro, fazendo assim sua função.
É possível também a utilização de variáveis locais dentro das linhas. Elas não precisam ser declaradas, a partir do momento em que são inseridas no código já são tratadas pela Linha. Note apenas que variáveis locais só poderão ser usadas dentro da linha onde foram inseridas, quando o cálculo passar à linha ou barra seguinte o valor será perdido. Não há padronização para o nome deste tipo de variável, mas ele deve ser texto e não pode entrar em conflito com funções VBScript, como o ABS() - função que retorna o conteúdo dos parênteses sempre como números positivos.
As variáveis que pertencem ao programa, como o valor de Fechamento, podem ser utilizadas nos cálculos de forma muito fácil. Por exemplo, para utilizar o Fechamento de hoje na fórmula, basta clicar no botão "Fe_A - Fech Hoje", ou digitar dentro da sua função a variável Fe_A. O Fe é a abreviatura de Fechamento, enquanto que o _A identifica que o fechamento é o de hoje. Para utilizar o fechamento de ontem use a variável Fe_B, onde a parte _B identifica que trata-se do valor de ontem.
Os finais _A e _B, respectivamente "hoje" e "ontem", podem ser usados para todas as variáveis do programa, inclusive Linha 1, 2, 3 e 4. Caso o usuário queira inserir o valor de Fechamento de 10 dias atrás, por exemplo, será necessário utilizar a função Valor Passado, com a seguinte sintaxe: PAS[ Fe_A; 10]. Se este valor puder ser configurado pelo usuário, deve-se habilitar o campo Var 1 e defini-lo como 10 (que será o padrão) e, então, alterar a sintaxe da fórmula para: PAS[ Fe_A; Var1].
Por ser uma função VBScript, é possível utilizar funções de Visual Basic, como IF ... THEN ... ELSE. Sempre que utilizar Scripts mais complexos, o valor deve ser retornado dentro da variável Func. Você pode estudar exemplos já prontos para entender melhor o funcionamento desta função, como o estudo OBV R$ e os estudos IFR Cutler e IFR Wilder.
IMPORTANTE: Os dados desta função só estão disponíveis para os contratos de Ibovespa Futuro - WIN e IND na versão PRO e DMA do Trader Gráfico.
A partir da versão 5.5.336 (se você estiver em uma versão inferior a esta vá ao menu Ajuda > Atualizar Versão) o Trader Gráfico possui duas funções associadas aos Triângulos do Cowboy Tri Magic dentro dos Estudos Personalizados. Uma função recupera a Data e Hora dos sinais no formato AAAAMMDDHHmm e outra que recupera o Preço (sem decimal). Na prática, é possível usar só a função do preço em quase tudo.
Para chamar o sinal do triângulo basta usar a sintaxe abaixo:
TriMagic[dado1; dado2; dado3; dado4]
Onde:
Dado1 = Minuto do triângulo desejado, os valores possíveis são os do Cowboy, 1, 2, 3, 4, 5, 6, 8, 13, 21, 34, 55 e 89. Também é possivel usar o valor 99 ou a letra X para herdar o minuto do gráfico que estiver aberto, mas isso só funciona em um dos minutos do Cowboy já citados. Se usar 7 min, por exemplo, esta função só vai retornar 0 (zero). O histórico está disponível a partir de Agosto de 2013, na série Q13 (não adianta testar nada antes disso).
Dado2 = Sinal Compra ou Venda, os valores possíveis são C e V.
Dado3 = Entrada ou Saída, os valores possíveis são E e S. Junto com o Dado2, isso define se o seu estudo está querendo ver compras de entrada e vendas de saída ou vendas de entrada e compras de saída. Da forma como está, também pode ser usado para entrar na saída invertida ou sair na entrada oposta, é so usar a imaginação.
Dado4 = É o que define qual valor será retornado pela função TriMagic, os valores possíveis são DATA e PRECO. A DATA é a Data e Hora no padrão AAAAMMDDHHmm e o PRECO é o preço de entrada/saída de acordo com as variáveis Dado2 e Dado3, sem decimal (ex. 51125 pontos vai aparecer exatamente como 51125 mesmo, sem pontos ou vírgulas).
Liberamos dois estudos de exemplo no menu Estudos > Estudos Personalizados > Categoria: Tradicionais, os seus nomes são Triângulos Cowboy e Triângulos Cowboy Aux. Eles são de DISPARO IMEDIATO na entrada e saída. Eles foram desenvolvidos para usar o flag DAY-TRADE na ÚLTIMA BARRA DO DIA e repetir os mesmos sinais observados na tela Cowboy Tri Magic. Mas por ser uma função, o TriMagic pode ser usado de infinitas formas, para fazer swing-trade ou day-trade, operar normal ou invertido, entrar por um minuto e sair por outro, ser cruzado via código com médias e outras funções etc. Os dados estão disponíveis e toda a lógica pode ser montada igual um LEGO dentro do estudo personalizado.
Após concluir a sua função, clique em "OK" e em seguida salve o seu estudo no botão "Gravar".
Esta configuração deve ser repetida para cada linha. Para ligar a função programada dentro do gráfico, após clicar em "Gravar" vá ao menu Estudos > Estudos Personalizados. A sua nova função deve estar na lista de estudos dentro da Categoria: Pessoais, clique sobre ela e siga as instruções do software.