Planilha Robô
Esta tela está disponível apenas para os clientes do
Trader Gráfico PRO em tempo real (saiba mais
clicando aqui).
Você já pensou em enviar ordens de uma Planilha Excel ou de uma aplicação sua diretamente para o mercado de forma automática? Criando suas macros personalizadas/programas e integrando-as com os estudos personalizados do Trader Gráfico?
Pois é exatamente isto o que o
Trader Gráfico PRO lhe proporciona, liberdade para programar com o assistente gráfico mais avançado do Brasil e um dos mais avançados do Mundo, o software
Trader Gráfico PRO.
Abaixo imagens da
planilha exemplo disponibilizada para você começar a trabalhar:
Como pode ser observado, tanto os botões para o envio de ordens, como as macros ligadas a eles já estão desenvolvidos e programados na
Planilha Exemplo. Basta que você os utilize como ponto de partida para as suas próprias customizações.
Para que a planilha funcione, é preciso que você tenha acesso a esta função sendo cliente do
Trader Gráfico PRO em tempo real (saiba mais
clicando aqui). Esta planilha também funciona no período de testes de 7 dias gratuitos, porém com uma limitação, ela não envia as ordens automaticamente no período de testes, ela abre uma boleta para confirmação manual. Após a contratação do plano PRO esta limitação desaparece e você ganha autonomia para enviar ordens diretamente da planilha/sua aplicação.
Para começarmos a operar a planilha precisamos obter o Código e a Senha de integração entre a planilha e o software Trader Gráfico. É importante ressaltar que a planilha não se conecta à sua corretora, pois isto seria perigoso tendo em vista a baixa segurança dos códigos fonte armazenados dentro do Excel ou gerenciados por leigos em programação, por isso, a planilha se conecta de forma extremamente simples ao software Trader Gráfico, ficando com o software a responsabilidade do envio de ordens.
Desta forma, consulte o tópico
"Fazendo Login" desta ajuda para ver como abrir o Roteador de Ordens Trader Gráfico. Uma vez ele aberto (e com a sua senha na corretora já validada), você verá um botão com um "X" do Excel dentro (vale lembrar que o mesmo código dentro desta planilha exemplo pode ser utilizado dentro do VB6 ou convertido para VB.NET para criação de aplicações mais robustas para robotização, aplicações estas que conseguirão enviar ordens ao Trader Gráfico da mesma forma que a planilha faz). Este botão aparecerá com uma borda vermelha se você não possuir o serviço de envio de ordens via planilha, neste caso, clicando sobre ele você será direcionado à página de conversão de assinaturas para que possa contratar o serviço. Já se você estiver no período de testes ou for cliente PRO o botão terá uma borda verde e clicando sobre ele você verá uma tela com o seu Código e Senha que deverão ser colocados nas células B3 e B4 da planilha, conforme mostrado acima.
Para testar o Código e Senha, basta clicar no botão azul "Vincular com o Roteador Trader Gráfico" dentro da planilha. Ao fazer isso, o fundo do Roteador deverá mudar de preto para azul, conforme imagem abaixo. Se isto não ocorrer, a planilha não estará ativa (este botão não executa nenhuma ação além de deixar o fundo do roteador azul e não é preciso fazer este processo antes de mandar uma ordem, uma vez a sua solução pronta, este passo passa a ser desnecessário e pode ser excluído da sua rotina).
Você também pode Gerenciar as Ordens pela planilha. Note que TODAS as ordens da sua conta estarão disponíveis para gerenciamento, tendo sido enviadas pela planilha, pelo home-broker, pelo roteador ou pelo celular. Portanto, você deve estar preparado para isto.
As ordens ficam em um arquivo texto de formato XML na pasta padrão de instalação do Trader Gráfico (normalmente Meus Documentos/Trader Grafico/Ordens). Dentro da aba "Ger. Ordens" da
Planilha Exemplo você encontra instruções exatas de onde este arquivo fica no seu computador. Não há um exemplo de leitura deste arquivo na planilha. As informações importantes deste arquivo são que cada ordem fica entre as tags "<
ord>" e "</ord>". Você também precisará para alterar uma ordem do Número de Ordem (<numord>), Quantidade (<qtdexe> qtde executada; e <qtdpap> qtde da ordem), Preço (<prcpap>) e Status (<sta>) (existem tags para todos estes campos dentro da tag <ord>) e apenas do Número de Ordem e Status para cancelá-la. ATENÇÃO: Ordens STOP não são passíveis de alteração, apenas cancelamento.
Segue lista completa dos "Status das ordens":
- 0 - Aberto / Pendente (Corretora recebeu a ordem e esta aguardando resposta da Bolsa - Não pode ser Cancelada )
- 1 - Aberto (Corretora recebeu a ordem e a Bolsa ja respondeu o recebimento – Pode ser Cancelada/Alterada)
- 3 - Parcialmente executada (Parte da Ordem foi executada – Pode Cancelar/Alterar o Saldo)
- 4 - Executada (A Ordem foi totalmente executada – Não pode ser Cancelada/Alterada)
- 5 - Cancelada (A Ordem foi totalmente Cancelada – Não pode ser Cancelada/Alterada)
- 6 - Parcialmente cancelada (Parte da Ordem está cancelada e parte está executada – Não pode ser Cancelada/Alterada)
- 7 - Aberto Sujeito a cancelamento (Cancelamento Solicitado – Não pode Alterar)
- 8 - Parcialmente executada Sujeito a cancelamento (Solicitado o cancelamento do Saldo não executado – Não pode Alterar)
- 9 - Rejeitada (Ordem rejeitada. Os motivos podem ser por interrupção da negociação do papel, leilão, Lote inválido, Roteador fora, etc... - Não pode ser Cancelada/Alterada)
O serviço de envio de ordens via planilha/aplicação externa só aceita ordens válidas para o dia, o que significa que no dia seguinte as ordens não executadas serão automaticamente canceladas pela corretora.
Abaixo os campos que aparecem dentro do arquivo texto "HAT", na pasta ordens, assim como um link para um arquivo exemplo:
- < ord>< /ord>: Delimita o começo e o final dos campos de uma ordem, dentro desta tag aparecem as demais tags descritas abaixo.
- < numord>< /numord>: É o número que a corretora deu para a sua ordem, é um número interno que varia de corretora para corretora. Ele identifica tudo o que está relacionado à ordem.
- < tipo>< /tipo>: Identifica o sentido da ordem. 0 = Compra e 1 = Venda.
- < pap>< /pap>: Identifica o código do ativo operado.
- < sta>< /sta>: Identifica o status atual da ordem (ver lista acima), este status pode mudar ao longo do dia.
- < dta>< /dta>: Data da ordem.
- < val>< /val>: Data de validade da ordem.
- < hrs>< /hrs>: Hora da ordem.
- < ori>< /ori>: Identifica o número IP do seu computador na internet. No Trader Gráfico este campo possui os caracteres " - tdg" no final do texto.
- < qtdexe>< /qtdexe>: Quantidade da ordem que já foi executada.
- < qtdpap>< /qtdpap>: Quantidade original da ordem.
- < prcpap>< /prcpap>: Preço de envio da ordem.
- < excnum>< /excnum>: Campo interno.
- < indenv>< /indenv>: Campo interno.
- < cli>< /cli>: Código do cliente na corretora.
- < sgtpord>< /sgtpord>: Campo interno.
- < valop>< /valop>: Valor da execução (este valor pode variar de acordo com as execuções e ativos, não considerar em possíveis tratamentos deste arquivo).
- < qtdalt>< /qtdalt>: Campo interno.
- < valalt>< /valalt>: Campo interno.
- < minqty>< /minqty>: Campo interno.
- < maxfloor>< /maxfloor>: Campo interno.
- < stoppx>< /stoppx>: Campo interno.
- < securityid>< /securityid>: Campo interno.
- < bor>< /bor>: Campo interno.
- < hat>< /hat>: Campo interno.
- < lot>< /lot>: Campo interno.
- < log>< /log>: Campo interno.
- < lotd>< /lotd>: Campo interno.
- < vlultexec>< /vlultexec>: Campo interno.
Para ver um arquivo exemplo clique aqui. Este arquivo possui ordens no ativo WINQ13 no dia 02-08-2013.
Os dados de Status da Ordem, Preço de Execução (e não o preço de envio) e Quantidade executada da ordem podem ser lidos diretamente do registro do Windows. Isso facilita muito o desenvolvimento da sua aplicação, pois estes dados são gravados pelo TG Broker automaticamente e só precisam ser consultados quando você precisar. É recomendado enviar o comando de atualizar ordens ao TG Broker antes de fazer esta consulta, mas não mande muitos comandos em um curto espaço de tempo para não travar a aplicação.
Os dados acima citados ficam dentro do Registro do Windows na chave HKEY_CURRENT_USER\Software\VB and VBA Program Settings. Abaixo passamos exemplos em VBScript para consulta destas informações desde que você possua o número da ordem a ser consultada.
- Status da Ordem (usando uma variável genérica qualquer X)
X = GetSetting("GetExecStatus", NumOrd, "Status", "")
Onde, NumOrd é o número da ordem (que você precisa ter)
- Preço de execução da ordem (usando uma variável genérica qualquer X)
X = GetSetting("GetExec", NumOrd, StatusOrd, "") 'Multiplicado por 100
Onde, NumOrd é o número da ordem e o StatusOrd é o status da ordem, consultado pelo registro acima. Valor vai vir multiplicado por 100 (1568 = R$ 15,68)
- Qtde executada da ordem (usando uma variável genérica qualquer X)
X = GetSetting("GetExecQt", NumOrd, StatusOrd, "")
Onde, NumOrd é o número da ordem e o StatusOrd é o status da ordem, consultado pelo registro acima.
O software Trader Gráfico PRO permite que um alerta de compra ou venda na estratégia dispare a abertura de um arquivo qualquer (além de disparar um e-mail, se desejado). Desta forma, você pode abrir arquivos de extensão ".bat" (rotinas criadas por você de execução de programas no Windows) ou abrir outras planilhas Excel que disparem macros no seu evento de abertura ou, ainda, abrir os próprios executáveis "robôs" que enviarão a ordem e, em seguida, se fecharão. Isto permite que seja criado um Trading System utilizando o módulo de estratégias do Trader Gráfico (em conjunto com os Estudos Personalizados que você pode criar OU tradicionais / Super Sinais), o Servidor DDE do Trader Gráfico abastecendo a planilha com cotações e books e o envio de ordens via planilha. Porém note que esta solução deve ser criada/programa por você, nós "apenas" oferecemos todos os produtos para que você crie suas próprias rotinas para envio de ordens.
ATENÇÃO: Não deixe duas planilhas ou dois executáveis enviando ordens ao mesmo tempo para o mesmo roteador no mesmo computador, pois isso poderá causar a perda de ordens. Deixe apenas uma aplicação responsável pela comunicação com o roteador Trader Gráfico. Lembre-se que o roteador aceita uma cesta de ordens (há exemplo na planilha), desta forma, se você quiser enviar 3 ordens simultâneas, por exemplo, você deve fazer isto em um único comando (separando as ordens pelo caracter "|"), não faça loops ou threats para envio de ordens, pois, repetindo, isto poderá gerar perda de ordens.