O que é Automatizador?
É um módulo do Tryd que possibilita automatizar o processo de negociação no mercado. Utilizando o Automatizador, o usuário é responsável por criar as suas próprias estratégias e informar ao sistema em que momento este deve comprar ou vender determinado papel. Toda a lógica de negociação é desenvolvida na planilha Excel e é de total responsabilidade do próprio usuário.
Como funciona?
O módulo Automatizador funciona no Tryd em conjunto com uma planilha Excel© e é baseado na troca de mensagens DDE ou RTD entre os sistemas:
Tryd para Planilha: Dados de cotação e totalização das ordens geradas pelo Automatizador. Estes dados podem ser enviados à planilha utilizando DDE ou RTD, de acordo com a configuração realizada;
Planilha para Tryd: Dados das ordens a serem enviadas e comando para envio destas. Estes dados são enviados ao Tryd utilizando DDE.
Utilização
Modelo da planilha
Para que o Automatizador funcione perfeitamente a planilha utilizada deve seguir um modelo, desta forma o Tryd consegue interpretá-la da maneira correta.
O modelo da planilha deve atender às seguintes exigências:
- As primeiras 13 colunas devem ser exatamente iguais às colunas da tela do Automatizador;
- A primeira linha deve conter apenas títulos.
O modelo da planilha pode ser copiado acessando o menu da tela principal, como na tela abaixo:
Após efetuar a cópia, basta colar utilizando o atalho Ctrl+V na célula A1 da nova planilha e salvá-la no local desejado. Se você preferir, pode baixar o modelo no seguinte link: Planilha Excel
O automatizador do Tryd permite o uso de arquivos .xls ou .xlsx. Caso deseje utilizar uma planilha que possua macros .xlsm, sugerimos criar uma planilha .xls ou .xlsx, especificamente para comunicação com o Tryd, e vincular a sua planilha de macros à planilha utilizada pelo automatizador.
Configuração inicial
Para a utilização do Automatizador é necessário realizar algumas configurações iniciais, onde são definidas as informações básicas para estabelecimento da comunicação entre o Tryd e a planilha. Para acessar as configurações, basta clicar no ícone da tela do Automatizador ou ir no menu Editar, clicar em Preferências, depois em Automatização. Segue abaixo a tela onde são feitas estas configurações:
- Selecione qual será a versão do Excel que será utilizada;
- Selecione qual o idioma do programa de planilhas (importante para que a conexão entre Planilha e Tryd seja feita corretamente);
- Selecione qual será o caractere separador decimal utilizado na planilha (importante para que os valores sejam importados para o Tryd no formato correto);
- Selecione o arquivo correspondente à planilha que será utilizada pelo Automatizador;
- Digite o nome da planilha (aba) que será utilizada pelo Automatizador;
- Digite o número de linhas que serão monitoradas pelo Tryd. Este número corresponde ao número de linhas da planilha que terão os seus dados enviados ao Tryd. Linhas acima do número digitado serão ignoradas;
- Escolha se você deseja que a Automatização pare caso o Tryd fique determinado tempo sem receber dados da planilha. Este é um mecanismo de segurança criado com o objetivo de evitar problemas caso a comunicação entre os sistemas seja interrompida por algum motivo, por exemplo, caso a planilha trave. Ao parar a Automatização, todas as ordens geradas pelo Automatizador são canceladas;
- Escolha se você deseja que haja um intervalo mínimo, em segundos, entre o envio de ordens para um mesmo papel. Caso a condição para envio da ordem seja satisfeita, mas a última ordem enviada para o papel tenha sido há menos tempo que o configurado para o intervalo, a nova ordem não será enviada;
- Escolha se você deseja que uma mensagem de confirmação seja exibida ao clicar em um dos botões de desativação da operação do automatizador.
Configuração de notificações
O Automatizador possui um recurso de notificação sonora para ocorrência de eventos, desta forma, se o usuário não estiver olhando para a tela do Automatizador no exato momento da ocorrência de um evento importante, este recebe uma notificação sonora de acordo com o evento ocorrido. Segue abaixo a tela onde são feitas as configurações dos alertas sonoros:
Nesta tela o usuário pode especificar em quais eventos ele quer ser notificado e qual som será utilizado na notificação. Eventos que podem ser notificados:
- Automatizador parado: evento disparado quando o Automatizador for parado por ficar o tempo determinado sem receber dados da planilha;
- Ordem enviada: evento disparado quando uma ordem for enviada pelo Automatizador;
- Ordem não enviada: Evento disparado quando uma ordem não for enviada devido a algum problema;
- Qtd. máxima alcançada: evento disparado quando a quantidade enviada alcançar a quantidade máxima configurada.
Tela principal
Possuindo a planilha no modelo e a configuração feita corretamente, o Automatizador já pode ser utilizado.
Ao abrir a tela do Automatizador, se já houver dados na planilha, estes já serão lidos e exibidos na tela:
Habilitando troca de mensagens Tryd e Planilha
A primeira coisa a ser feita para habilitar a troca de mensagens entre Tryd e Planilha é abrir a planilha. Sugerimos que a abertura da planilha seja feita pelo ícone , pois abrindo através deste ícone o servidor DDE e RTD já é iniciado automaticamente, não necessitando que você o habilite antes através da opção Cotações, Outros, Ativar DDE e RTD no menu do sistema. Após realizar estes procedimentos, a troca de mensagens entre Tryd e Planilha estará habilitada.
Após a planilha estar aberta e o servidor DDE e RTD iniciado, ainda resta iniciar o cliente DDE, para que seja feita a troca de mensagens entre Planilha e Tryd. Para habilitar esta troca de mensagens basta clicar no ícone na tela do Automatizador. Caso, ao clicar neste ícone, o servidor DDE e RTD não estiver iniciado, este é iniciado automaticamente.
Operações
No Automatizador, chamamos de operação o conjunto de informações que pode gerar uma ordem. Cada linha adicionada à planilha pode conter até duas operações, uma de compra e outra de venda. Cada operação possui os seus dados específicos, por exemplo: quantidade e preço, e uma coluna de condição, que indica se é ou não para enviar a ordem, se é para cancelar as ordens enviadas, se é para zerar a posição ou se é para reverter a posição.
Importante: não pode existir mais de 1 linha na planilha que tenha o mesmo papel e o mesmo código de cliente, esses campos são chaves para a operação.
Estados das operações
Uma operação pode ter quatro estados:
- Desativada: operação não gerará nenhuma ordem, mesmo se a condição for OK, Z ou R. Se uma operação que já gerou ordens for desativada, todas as ordens geradas serão canceladas;
- Pausada: operação não gerará nenhuma ordem, mesmo se a condição for OK, Z ou R. Se uma operação que já gerou ordens for pausada nenhuma das ordens será cancelada;
-
Ativada: cada vez que a condição mudar para:
◦ OK – Uma nova ordem será gerada.
◦ Z – A posição aberta será zerada.
◦ R – A posição aberta será revertida.
◦ C – Todas as ordens geradas serão canceladas. -
Completa: a quantidade de papéis das ordens geradas pelo automatizador alcançou a quantidade máxima configurada. Se a condição mudar para:
◦ OK – Nenhuma ordem será enviada.
◦ Z – A posição aberta será zerada.
◦ R – A posição aberta será revertida.
◦ C – Todas as ordens geradas serão canceladas.
As operações têm o fundo pintado com cores diferentes indicando qual estado que estas se encontram, facilitando a visualização. É possível que, em uma mesma linha, a operação de compra tenha um estado diferente da operação de venda.
Visão do Automatizador exemplificando operações com estados diferentes na compra e na venda, abaixo:
Alterando os estados das operações
Há 3 grupos de ações no sistema que permitem ao usuário manipular os estados das operações:
- Ações que mudam o estado das operações de compra e venda das linhas selecionadas na tabela:
- Ações que mudam o estado apenas das operações de compra das linhas selecionadas na tabela:
- Ações que mudam o estado apenas das operações de venda das linhas selecionadas na tabela:
Observação: o estado da operação muda para Completa automaticamente, basta que a quantidade de papéis das ordens geradas atinja a quantidade máxima configurada para a direção.
Ativando as operações
Para que ordens sejam enviadas pelo Automatizador quando a planilha enviar um OK, Z ou R na coluna de condição, a operação precisa estar ativada.
Para ativar a operação basta selecioná-la na tabela, marcando a caixa de seleção da primeira coluna, e clicar em um dos ícones que realiza a ativação:
- Para ativar as operações de compra e venda das linhas selecionadas na tabela:
- Para ativar as operações de compra das linhas selecionadas na tabela:
- Para ativar as operações de venda das linhas selecionadas na tabela:
Após ativadas, o fundo das operações mudará de cor, indicando a ativação e, quando estas receberem da planilha, nas colunas de condição:
- OK – Uma ordem será criada e enviada à Bolsa;
- Z – As ordens enviadas pelo automatizador para o papel e cliente da operação serão canceladas e uma ordem para zeragem da posição será enviada;
- R – As ordens enviadas pelo automatizador para o papel e cliente da operação serão canceladas e uma ordem para reversão da posição será enviada;
- C – As ordens enviadas pela operação serão canceladas.
- F - Muda para o estado "FALSO", onde nenhuma ação é realizada.
Observação: na primeira ativação, a assinatura digital do usuário logado é solicitada para que esta seja utilizada no envio das ordens.
Desativando as operações
Se você deseja que uma determinada operação do Automatizador não gere mais ordens, basta desativá-la.
Para desativar a operação basta selecioná-la na tabela, marcando a caixa de seleção da primeira coluna, e clicar em um dos ícones que realiza a desativação:
- Para desativar as operações de compra e venda das linhas selecionadas na tabela:
- Para desativar as operações de compra das linhas selecionadas na tabela:
- Para desativar as operações de venda das linhas selecionadas na tabela:
Atenção: ao desativar uma operação com estado atual Ativada ou Completa todas as ordens geradas por aquela operação são CANCELADAS.
Pausando as operações
Se você deseja que uma determinada operação do Automatizador não gere mais ordens e que as ordens já geradas não sejam canceladas basta pausar a operação.
Para pausar a operação basta selecioná-la na tabela, marcando a caixa de seleção da primeira coluna, e clicar em um dos ícones que realiza a pausa:
- Para pausar as operações de compra e venda das linhas selecionadas na tabela:
- Para pausar as operações de compra das linhas selecionadas na tabela:
- Para pausar as operações de venda das linhas selecionadas na tabela:
Detalhando a troca de estado
Abaixo segue uma tabela detalhando a troca de estado no Automatizador, as colunas significam:
Troca de estado: informa os estados: [estado_antigo] e [novo_estado]
Efetuada quando: informa em quais momentos pode ocorrer a troca de estado;
Cancelará ordens: informa se as ordens já enviadas pela operação serão canceladas quando ocorrer a troca de estado;
Enviará ordem ao receber OK: informa se, quando a coluna Condição receber OK, uma ordem será enviada;
Zerará posição ao receber Z: informa se, quando a coluna Condição receber Z, a posição será zerada;
Reverterá posição ao receber R: informa se, quando a coluna Condição receber R, a posição será revertida;
Cancelará ordens ao receber C: informa se, quando a coluna Condição receber C, as ordens já enviadas serão canceladas;
Ordens
Enviando ordens
Cada vez que a condição de uma operação ativa mudar para OK uma ordem, respeitando os valores configurados, é enviada à Bolsa.
Quantidade máxima por operação
As operações possuem um campo onde o usuário pode definir a quantidade máxima que será enviada. Quando o envio de ordens atingir a quantidade definida neste campo, o estado da operação é alterado para COMPLETA automaticamente. Após COMPLETA, caso alguma ordem já enviada seja cancelada ou rejeitada, ou o usuário aumentar a quantidade máxima, a operação, automaticamente, volta para o estado ATIVADA.
Caso a máxima ainda não tenha sido atingida, e o envio de mais uma ordem ultrapassará esta máxima, a quantidade da ordem é ajustada automaticamente para que a máxima não seja ultrapassada. Por exemplo: na tela acima, na operação de compra de PETR4, a terceira ordem gerada pela operação somaria 600 (3 x 200), como a máxima configurada é 500, a quantidade da terceira ordem seria ajustada para 100 (quantidade necessária para atingir a máxima sem ultrapassá-la).
Importante: caso não haja quantidade máxima configurada ou a quantidade configurada for zero, o Automatizador entende que não há limite para enviar ordens.
Regra OCO
As operações possuem um campo para seleção da regra OCO. Caso haja regra selecionada nesse campo, ao ser executada uma ordem enviada pelo automatizador, as regras OCO serão enviadas automaticamente.
Importante: a regra OCO selecionada é utilizada no envio das ordens quando a condição da operação receber OK e nas ordens de reversão da posição. As ordens de zeragem ignoram a regra OCO selecionada.
Zerando a posição
Cada vez que uma condição de uma operação mudar para Z, as ordens de compra e venda enviadas pela operação serão canceladas e uma ordem será enviada para zeragem da posição.
O comando de zeragem pode ser enviado tanto no lado da compra quanto no lado da venda.
Para que a zeragem seja efetuada, a operação deve estar ativada ou completa.
Mesmo que, por algum motivo, as ordens enviadas pelo automatizador pendentes não sejam canceladas, o automatizador efetua a zeragem da posição. Atenção: o automatizador não garante a zeragem da posição, apenas envia a ordem com características para zerar a posição e para execução imediata. A zeragem pode não ocorrer devido a algum bloqueio por limites na corretora ou por não execução da ordem no mercado.
A posição utilizada pelo automatizador para zeragem também é composta por ordens executadas que não foram enviadas por ele.
A posição utilizada pelo automatizador considera a configuração de modo de visualização da posição intraday ou swingTrade.
A zeragem de posição nunca envia ordens OCO, mesmo que haja uma regra selecionada.
A tela abaixo exemplifica o que foi dito. A operação de WDOF24 para o cliente 105 recebeu a informação para zerar a posição (Z na coluna da planilha), e efetuou a zeragem.
Revertendo a posição
Cada vez que uma condição de uma operação mudar para R, as ordens de compra e venda enviadas pela operação serão canceladas e uma ordem será enviada para reversão da posição.
O comando de reversão pode ser enviado tanto no lado da compra quanto no lado da venda.
Para que a reversão seja efetuada, a operação deve estar ativada ou completa.
Mesmo que, por algum motivo, as ordens enviadas pelo automatizador pendentes não sejam canceladas, o automatizador envia a ordem para reverter a posição. Atenção: o automatizador não garante a reversão da posição, apenas envia a ordem com características para reverter a posição e para execução imediata. A reversão pode não ocorrer devido a algum bloqueio por limites na corretora ou por não execução da ordem no mercado.
A posição utilizada pelo automatizador para reversão também é composta por ordens executadas que não foram enviadas por ele.
A posição utilizada pelo automatizador considera a configuração de modo de visualização da posição intraday ou swingTrade.
Caso haja regra OCO selecionada na operação, a regra é utilizada na ordem enviada para reversão da posição.
A tela abaixo exemplifica o que foi dito. A operação de WDOF24 para o cliente 105 recebeu a informação para reverter a posição (R na coluna da planilha), e enviou a ordem para reversão da posição.
Cancelando ordens
É possível efetuar um pedido de cancelamento de todas as ordens já enviadas por uma operação em uma determinada direção, diretamente pela planilha. Para fazer isso são utilizadas, também, as colunas de condição (as mesmas colunas onde enviam ordem caso recebam OK).
Para que as ordens sejam canceladas, a coluna de condição da direção deve receber C. Ao receber este dado será escrito Cancelar na coluna, e todas as ordens já enviadas na direção serão canceladas.
Observação: para que as ordens sejam canceladas, além da coluna de condição na direção ter que receber C, a direção na operação deve estar ATIVADA ou COMPLETA. Caso a direção na operação esteja PAUSADA ou DESATIVADA, as ordens não serão canceladas.
A tela abaixo exemplifica o que foi dito. As duas direções da operação de PETR4 para o cliente 000000105-0 receberam a informação para cancelar as ordens enviadas (C na coluna da planilha). Porém, apenas as ordens de compra serão canceladas, pois a direção de venda está desativada.
Totalização
Há colunas nas operações que exibem as totalizações das ordens enviadas por ela, como: Total enviada, Total em aberto, Total executada e Preço médio.
Também há uma coluna que exibe a posição total do cliente no papel da operação. Todas as ordens enviadas pelo cliente para o papel são consideradas para gerar a quantidade da posição, inclusive ordens que foram enviadas por fora do automatizador. Além disso, a configuração de modo de visualização da posição intraday ou swingTrade é considerada para exibição da quantidade da posição na coluna. A quantidade da posição exibida na coluna é a quantidade que será considerada caso o automatizador receba o comando de zerar (Z) ou reverter (R) a posição.
Estes totalizadores de ordens podem ser exportados para a planilha, a fim de serem utilizados na elaboração da estratégia.
Há duas formas de exportar os links DDE/RTD para visualizar os dados de ordens na planilha:
- Gerando os links de todas as linhas da tabela: através do menu da tela ou do menu popup da tabela (clicando com o botão direito do mouse);
- Gerando os links de uma determinada linha da tabela: através do menu popup da tabela (clicando com o botão direito do mouse sobre a linha).
Após gerar os links utilizando uma das maneiras acima, basta colar na planilha para que os totalizadores de ordens sejam exibidos.
Caso prefira, você também pode digitar o link DDE/RTD diretamente na planilha. O formato é o seguinte:
- DDE: =Stech|AUT!'COD_PAPEL-COD_CLIENTE.CAMPO'
- RTD: =RTD("tryd.rtdserver";;"AUT";"COD_PAPEL";"COD_CLIENTE";"CAMPO")
Onde,
- COD_PAPEL = Código do papel (Ex. PETR4)
- COD_CLIENTE = Código do cliente (Ex. 00000105-0)
- CAMPO = O campo que deseja visualizar na planilha (Ex. QtdCpaEnv)
Os campos de totalização disponíveis para cada linha do Automatizador são os seguintes:
- PosQtty = Quantidade da posição
- QtdCpaEnv = Quantidade de compra enviada
- QtdCpaAb = Quantidade de compra em aberto
- QtdCpaExe = Quantidade de compra executada
- PrcMedCpa = Preço médio das ordens de compra
- QtdVdaEnv = Quantidade de venda enviada
- QtdVdaAb = Quantidade de venda em aberto
- QtdVdaExe = Quantidade de venda executada
- PrcMedVda = Preço médio das ordens de venda
Seguem abaixo alguns exemplos de links DDE/RTD:
- Retornar a quantidade de compra enviada de PETR4 para o cliente 000000105-0
◦ DDE: =Stech|AUT!'PETR4-000000105-0.QtdCpaEnv'
◦ RTD: =RTD("tryd.rtdserver";;"AUT";"PETR4";"000000105-0";"QtdCpaEnv") - Retornar a quantidade de compra em aberto de VALE5 para o cliente 000012345-6
◦ DDE: =Stech|AUT!'PETR4-000012345-6.QtdCpaAb'
◦ RTD: =RTD("tryd.rtdserver";;"AUT";"PETR4";"000012345-6";"QtdCpaAb")
Logs
A área de logs
Na parte inferior da tela do Automatizador há uma área onde podem ser vistos os logs dos eventos ocorridos no sistema. Nesta tela, além do usuário poder ver o log completo diário, este também pode filtrar os logs por cliente ou papel.
Importância dos logs
A primeira coluna da tabela de logs representa a importância do log. Os logs podem possuir 3 níveis de importância:
- Baixa
- Média
- Alta
Observação: caso o log seja de algum erro ocorrido no sistema, o texto escrito na lista será vermelho e terá importância alta.
DDE e RTD
DDE
DDE é a sigla para Dynamic Data Exchange troca dinâmica de dados. É uma tecnologia para a comunicação entre múltiplas aplicações criada pela Microsoft© em 1987.
A função primordial do DDE é permitir que aplicações Windows compartilhem dados. Por exemplo, uma célula do Microsoft Excel pode ser ligada a um valor de outra aplicação, e quando o valor é alterado ele é automaticamente atualizado na planilha eletrônica.
O DDE continua funcionando em qualquer versão do Excel lançada após a criação da tecnologia.
RTD
RTD é a sigla para Real-Time Data, ou seja, dados em tempo real. É uma tecnologia criada pela Microsoft© para substituir o DDE.
No Office©, o RTD funciona a partir da versão 2002, conhecida como XP. Porém, o Tryd dá suporte ao RTD a partir da versão 2003 do Office.
Para que o RTD funcione é preciso que uma DLL seja registrada no Windows. Esse registro é feito automaticamente ao instalar o Tryd no seu computador. Caso a DLL não esteja registrada, o registro pode ser realizado acessando o menu Editar, Preferências, DDE e RTD, e clicando no botão Registrar DLL, bastando que exista o Excel 2003 ou superior instalado na máquina e que o usuário possua privilégios de administrador.
Estando a DLL registrada corretamente, ao entrar com o link RTD na planilha, o Excel é capaz de identificar em qual DLL está implementado o servidor RTD e a carrega automaticamente.
Por padrão, utilizando o RTD, o intervalo de atualização dos dados no Excel é de 2 segundos. Este intervalo pode ser alterado executando um comando simples no Excel.
Seguem os passos para executar o comando:
- Teclar <Alt+F11> dentro do Excel, a tela Microsoft Visual Basic será aberta;
- Teclar <Ctrl+G> dentro da tela que abriu, será aberta a tela Immediate verificação imediata;
- Digitar o seguinte comando na tela Immediate: Application.RTD.ThrottleInterval = 200, onde 200 é o tempo, em milissegundos, a ser definido;
- Teclar Enter estando com o cursor de edição de texto imediatamente após o comando digitado.
Pronto, após executar estes passos corretamente, o intervalo de atualização dos dados no Excel via RTD já estará alterado. Você já pode fechar a tela Microsoft Visual Basic.
DDE x RTD
Qual tecnologia escolher?
Vamos analisar as vantagens e desvantagens de cada um:
Apesar de terem sido listadas mais desvantagens que vantagens, a vantagem que o RTD possui é muito grande em relação ao DDE: atualização mais rápida.
Sendo assim, caso você possua o Excel 2003 ou superior, sugerimos que seja utilizada a tecnologia RTD.
Saiba mais sobre a ferramenta, acessando o vídeo abaixo:
Achou útil este conteúdo?
Não esqueça de nos avaliar abaixo.
Desejamos bons trades!
Comentários
0 comentário
Artigo fechado para comentários.