1. O que é Automatização?

Como o próprio nome já diz, Automatização é uma forma de automatizar o processo de negociação no mercado. Utilizando o módulo de Automatização, 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.


2. Como funciona?

O módulo de Automatização funciona no Tryd em conjunto com uma planilha Excel e é baseado na troca de mensagens (DDE ou RTD) entre os sistemas:


3. Utilização

3.1. 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:

O modelo da planilha pode ser copiado acessando o menu da tela principal, como na tela abaixo:


Tela do Automatizador, em destaque o item do menu onde pode ser copiado o modelo da planilha


Após efetuar a cópia, basta colar (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


3.2. Configuração

3.2.1. 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 em Editar >> Preferências >> Automatização. Segue abaixo a tela onde são feitas estas configurações:


Tela da configuração inicial do Automatizador

  1. Selecione qual será a versão do Excel que será utilizada;

  2. Selecione qual o idioma do programa de planilhas (importante para que a conexão Planilha >> Tryd seja feita corretamente);

  3. Selecione qual será o caractere separador decimal utilizado na planilha (importante para que os valores sejam importados para o Tryd no formato correto);

  4. Selecione qual será o tipo padrão do servidor de dados, DDE ou RTD. O servidor padrão escolhido será iniciado automaticamente quando a planilha for aberta utilizando o botão na tela do Automatizador. Leia o apêndice para mais informações sobre DDE e RTD;

  5. Selecione o arquivo correspondente à planilha que será utilizada pelo Automatizador;

  6. Digite o nome da planilha que será utilizada pelo Automatizador;

  7. 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;

  8. 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;

  9. 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;

  10. 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.

3.2.2. 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:


Tela da configuração das notificações do Automatizador

    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.



3.3. 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á houverem dados na planilha, estes já serão lidos e exibidos na tela:


Tela do Automatizador exibindo os dados da planilha recém carregados


3.4. Habilitando troca de mensagens Tryd - Planilha

A primeira coisa a ser feita para habilitar a troca de mensagens Tryd - Planilha é abrir a planilha. Sugerimos que a abertura da planilha seja feita pelo ícone , pois abrindo através deste ícone o servidor DDE ou RTD, de acordo com a configuração, já é iniciado automaticamente, não necessitando que você o habilite antes através do ícone (DDE) ou do ícone (RTD) na barra de ferramentas principal do sistema. Após realizar estes procedimentos, a troca de mensagem Tryd >> Planilha estará habilitada.

Observação: Ao habilitar o servidor RTD, os links DDE adicionados à planilha funcionam normalmente.

Após a planilha estar aberta e o servidor DDE ou RTD iniciado, ainda resta iniciar o cliente DDE, que seria a troca de mensagens Planilha >> Tryd. Para habilitar esta troca de mensagens basta clicar no ícone na tela do Automatizador. Caso, ao clicar neste ícone, o servidor DDE ou RTD não estiver iniciado, este é iniciado automaticamente.


3.5. 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, ou se é para cancelar as ordens enviadas.

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.

3.5.1. Estados das operações

Uma operação pode ter 4 estados:

As operações têm o fundo pintado com cores diferentes indincado 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:


Tela do Automatizador exemplificando operações com estados diferentes na compra e na venda


3.5.2. 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:

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" na coluna de condição, a operação precisa estar ativada.
Para ativar a operação basta selecioná-la na tabela, marcando a checkbox da primeira coluna e clicar em um dos ícones que realiza a ativação:

Após ativadas, o fundo das operações mudarão de cor, indicando a ativação e, quando esta receber um "OK" da planilha nas colunas de condição, uma ordem será criada e enviada à Bolsa; e quando esta receber um "C" da planilha nas colunas de condição, as ordens enviadas serão canceladas.

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 checkbox da primeira coluna e clicar em um dos ícones que realiza a desativação:

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 checkbox da primeira coluna e clicar em um dos ícones que realiza a pausa:


3.5.3. Detalhando a troca de estado

Abaixo segue uma tabela detalhando a troca de estado no Automatizador, as colunas significam:

  1. Troca de estado: Informa os estados: [estado_antigo] >> [novo_estado]
  2. Efetuada quando: Informa em quais momentos pode ocorrer a troca de estado;
  3. Cancelará ordens: Informa se as ordens já enviadas pela operação serão canceladas quando ocorrer a troca de estado;
  4. Enviará ordem ao receber "OK": Informa se, quando a coluna Condição receber "OK", uma ordem será enviada;
  5. Cancelará ordens ao receber "C": Informa se, quando a coluna Condição receber "C", as ordens já enviadas serão canceladas.
Troca de estado Efetuada quando Cancelará ordens Enviará ordem ao receber "OK" Cancelará ordens ao receber "C"
Desativada >> Ativada Clicar em um dos botões de Ativar Não Sim Sim
Pausada >> Desativada Clicar em um dos botões de Desativar
Ficar x segundos sem receber dados da planilha*
Não Não Não
Pausada >> Ativada Clicar em um dos botões de Ativar Não Sim Sim
Ativada >> Desativada Clicar em um dos botões de Desativar
Ficar x segundos sem receber dados da planilha*
Sim Não Não
Ativada >> Pausada Clicar em um dos botões de Pausar Não Não Não
Ativada >> Completa Qtd. Enviada atingiu Qtd. Máxima Não Não Sim
Completa >> Desativada Clicar em um dos botões de Desativar
Ficar x segundos sem receber dados da planilha*
Sim Não Não
Completa >> Pausada Clicar em um dos botões de Pausar Não Não Não
Completa >> Ativada Qtd. Enviada deixou de ser igual à Qtd. Máxima Não Sim Sim
* Caso esteja configurado no item 7 da tela de preferências

3.6. Ordens

3.6.1. Enviando ordens

Cada vez que a condição de uma operação ativa mudar de "Falso" para "OK" uma ordem, respeitando os valores configurados, é enviada à Bolsa:


Tela do Automatizador exemplificando o momento em que uma ordem é enviada à Bolsa
Neste caso, uma ordem de compra de PETR4 para o cliente 000000095-1 com quantidade 300 e preço 23,10 foi enviada


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, a operação é pausada automaticamente. Após pausada, caso alguma ordem já enviada seja cancelada ou rejeitada, ou o usuário alterar a quantidade máxima, a operação é, automaticamente, ativada novamente.
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, a quarta ordem gerada pela operação somaria 1200 (4 x 300), como a máxima configurada é 1000, a quantidade da quarta ordem seria ajustada para 100 (quantidade necessária para atingir a máxima sem ultrapassá-la).


3.6.2. 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 00000095-1 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.


Tela do automatizador exemplificando o cancelamento de ordens


3.6.3. Totalização

Há colunas nas operações que exibem uma totalização das ordens enviadas por ela, como: Total enviada, Total em aberto e Total executada.


Tela do Automatizador exibindo as colunas de totalização das ordens


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:

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:

Onde,

Os campos de ordens disponíveis para cada linha do Automatizador são os seguintes:

Seguem abaixo alguns exemplo de links DDE/RTD:

3.7. Logs

3.7.1. 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.


Tela do automatizador exibindo a área de logs na parte inferior


3.7.2. 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:

Obs.: Caso o log seja de algum erro ocorrido no sistema, o texto escrito na lista será vermelho e terá importância alta.



4. Apêndice

4.1. DDE e RTD

4.1.1. 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 Excel utiliza o DDE tanto como cliente (para obter dados de outras aplicações) quanto como servidor (para enviar dados para outras aplicações).

O DDE continua funcionando em qualquer versão do Excel lançada após a criação da tecnologia.


4.1.2. RTD

RTD é a sigla para Real-Time Data (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 pelo Tryd ao iniciar o servidor RTD, 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.

O Excel, diferente do DDE, utiliza o RTD somente como cliente (para obter dados de outras aplicações). Por este motivo, mesmo utilizando o RTD como servidor de dados padrão, para que o Automatizador receba os dados da planilha em tempo-real o DDE é utilizado.

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:

  1. Teclar Alt + F11 dentro do Excel, a tela Microsoft Visual Basic será aberta;
  2. Teclar Ctrl + G dentro da tela que abriu, será aberta a tela Immediate (Verificação imediata);
  3. Digitar o seguinte comando na tela Immediate: Application.RTD.ThrottleInterval = 200
  4. Onde 200 é o tempo, em milissegundos, a ser definido
  5. 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.


4.1.3. DDE x RTD

Como já vimos no tópico Configuração Inicial, o Automatizador dá a opção do usuário escolher qual servidor de dados será o padrão, DDE ou RTD.

Qual tecnologia escolher?

Vamos analisar as vantagens e desvantagens de cada um:

DDE
Vantagens

Desvantagens

RTD
Vantagens

Desvantagens


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 e possua privilégios de administrador, sugerimos que seja utilizada a tecnologia RTD.