O Follower Guard foi desenvolvido com o objetivo principal de proteger as contas seguidoras em situações que podem ocorrer durante as negociações — situações inerentes ao mercado e fora do nosso controle —, desarmando a conta seguidora ou, em casos mais simples, informando visualmente que uma conta seguidora está fora de sincronia com o líder.
Estados da Conta Seguidora
As contas seguidoras possuem quatro estados, cada um exibido em uma cor diferente:
Os quatro estados da conta seguidora e suas cores.
- Fora de Sincronia (amarelo)
- Ligado (verde)
- Desligado (cinza)
- Desarmado (vermelho)
Contas seguidoras desarmadas ou desconectadas não recebem cópias de negociações. Apenas as contas conectadas (Ligado) e Fora de Sincronia continuam recebendo negociações da conta líder.
A verificação de sincronização ocorre somente em contas seguidoras ativas (Ligado) e apenas sempre que as posições das contas líder e seguidora mudam.
Status Fora de Sincronia
Se uma conta seguidora possui uma posição aberta enquanto a conta líder está zerada, por exemplo, o sistema informa visualmente com a cor amarela ao lado da conta seguidora. O amarelo significa que a conta seguidora está fora de sincronia em comparação com o líder, mas continuará recebendo negociações normalmente.
O amarelo indica que a conta seguidora está fora de sincronia com o líder, mas ainda recebendo negociações.
Com isso, o trader sabe que existe uma divergência entre as posições das contas e pode acionar o botão Zerar (×) da conta seguidora (Flatten) ou tomar qualquer outra ação que desejar.
Como o Replikanto Decide que um Seguidor Está Fora de Sincronia
Cerca de meio segundo depois que as posições param de mudar, o Replikanto compara cada seguidor ligado com o líder, no instrumento da aba (ou no instrumento de Cross Order do seguidor). Ele confere duas coisas: a direção do seguidor (comprado, vendido ou zerado) e a quantidade, comparada com a quantidade que o método de cópia (Method) da aba diz que esse seguidor deveria ter. Se qualquer uma das duas não bater, a linha fica Fora de sincronia.
A partir do Replikanto 1.7.0.0, a conferência da quantidade depende do método:
- Quantidade Exata (Exact Quantity) e Ratio inteiro (1, 2, 3...): o seguidor precisa ter exatamente a quantidade esperada.
- Ratio com decimais (por exemplo 0,5 ou 1,5), Dinheiro Disponível (Available Cash), Liquidação Líquida (Net Liquidation) e Quantidade Agrupada (Pooled Quantity) com mais de um seguidor no grupo: o Replikanto calcula cada entrada do líder separadamente e arredonda para baixo, então um seguidor que entrou junto com várias ordens do líder pode ter, corretamente, um pouco menos do que o valor calculado sobre a posição inteira do líder. O Replikanto tolera esse arredondamento: até um contrato a menos para cada entrada adicional do líder por trás da posição atual. Ter mais contratos do que o esperado continua sendo sinalizado. A Quantidade Agrupada com um único seguidor é comparada de forma exata.
- Alocação Prévia (Pre Allocation): a quantidade esperada é a alocação multiplicada pelo número de ordens de entrada do líder por trás da posição atual; um seguidor que acompanhou duas entradas do líder deve ter o dobro da alocação. Uma diferença menor que uma entrada inteira é tolerada. Depois de reiniciar o NinjaTrader, de uma reconexão, de uma saída parcial do líder ou de uma troca da conta líder ou do instrumento da aba, só a direção é conferida até o líder ficar zerado de novo.
- Alteração Percentual (Pct Change): nunca fica Fora de sincronia. Esse método aumenta ou reduz a posição que o seguidor já tem, então não existe um tamanho ou uma direção "certos" a derivar do líder. Por isso, nenhuma das duas ações de zerar do Follower Guard dispara para um seguidor em Alteração Percentual.
Também não são sinalizados: um seguidor com Ratio negativo (a direção dele é invertida antes da comparação) e um seguidor zerado cuja quantidade calculada é 0 contrato.
Em casos raros com Ratio com decimais, depois que o líder sai de parte da posição, um seguidor copiado corretamente ainda pode ficar Fora de sincronia. Para saber por que qualquer linha foi marcada, abra a aba Log do NinjaTrader e procure a linha Info [1064] desse seguidor. Ela mostra reason='direction' (direção) ou reason='quantity' (quantidade) e os números dos dois lados (quantidade do líder, do seguidor e a esperada).
Versões anteriores: antes do Replikanto 1.7.0.0, seguidores em Ratio, Dinheiro Disponível, Liquidação Líquida, Quantidade Agrupada, Alteração Percentual ou Alocação Prévia podiam ficar Fora de sincronia mesmo com a posição correta e, com Zerar o seguidor se ele ficar fora de sincronia (Flatten the follower if it becomes out of sync) ativado, o Follower Guard os zerava e desarmava. Se isso acontece com você, atualize para o Replikanto 1.7.0.0 ou mais recente.
Configuração do Follower Guard
A configuração do Follower Guard fica nas propriedades do Replikanto: clique com o botão direito na janela do Replikanto e escolha Propriedades... (Properties...):
Menu de Propriedades do Replikanto — onde ficam as configurações do Follower Guard.
No grupo Follower Guard você verá todas as opções disponíveis.
O grupo Follower Guard e suas opções disponíveis, incluindo os campos de e-mail.
Nas duas primeiras linhas você pode configurar seu endereço de e-mail e o assunto do e-mail que receberá caso uma ou mais contas seguidoras sejam desarmadas. Você deve configurar uma conta de e-mail como serviço de compartilhamento "Mail" padrão nas Opções Gerais do NinjaTrader. Com isso configurado, o Replikanto envia uma notificação por e-mail sempre que um seguidor for desarmado. Assim você sabe quando pode ser preciso intervir, o que é especialmente útil quando as operações rodam sem acompanhamento. Pré-requisito: o NinjaTrader precisa estar configurado para enviar e-mails antes que este campo tenha efeito. No NinjaTrader, vá em Ferramentas > Opções > Geral (Tools > Options > General) e preencha o campo "Email log alert messages to". Você também precisa configurar uma conta de e-mail em Serviços de compartilhamento (Share Services) nessa mesma seção. Com os dois configurados, os alertas de desarme serão enviados automaticamente.
Exemplo de Alerta por E-mail
Os campos de endereço e de assunto do e-mail no grupo Follower Guard.
No caso de um desarmamento automático de seguidor, você receberá um e-mail exatamente como este.

Exemplo do e-mail de alerta de desarmamento.
Ações do Follower Guard
Agora vamos ver todas as ações do Follower Guard.
A primeira ação é executada se a ordem da conta seguidora não for preenchida pelo mercado após a ordem do líder ser preenchida. Ela aguarda 5 segundos — ou o número que você definir — antes de agir.
Ação para quando a ordem da conta seguidora não é preenchida após a ordem do líder.
Essa ação, Cancelar a ordem de entrada do seguidor se ela não for executada (Cancel the follower entry order if it is not filled), cancela apenas a entrada do seguidor que ainda não teve nenhuma execução; uma entrada parcialmente executada é mantida. Junto com a entrada, o Replikanto cancela as ordens de saída (stop e alvo) que esta aba copiou para essa entrada, no mesmo instrumento. A partir do Replikanto 1.7.0.0, as demais ordens ativas da conta seguidora (em outro instrumento, colocadas manualmente ou copiadas por outra aba do Replikanto) são mantidas. Se Desarmar Seguidores estiver marcado, o seguidor também é desarmado.
A próxima ação é executada se a conta seguidora ficar fora de sincronia com o líder. Aqui você também pode definir um tempo antes que a ação ocorra (esta ação zera a conta seguidora).
Ação para quando a conta seguidora fica fora de sincronia (zera a conta seguidora).
Como funciona o tempo de Zerar o seguidor se ele ficar fora de sincronia (padrão de 10 segundos):
- É um período de carência: se o seguidor voltar a ficar sincronizado antes do fim do prazo, nada é enviado.
- Cada execução que o seguidor recebe no instrumento enquanto está Fora de sincronia reinicia a contagem, para não zerar um seguidor que ainda está sendo executado em partes.
- A partir do Replikanto 1.7.0.0, atualizações de conexão ou de conta de outras corretoras e contas, sem relação com o seguidor, não reiniciam mais a contagem. Antes, elas podiam adiar a ação indefinidamente.
- Quando o prazo acaba, o Replikanto confere o seguidor de novo e só o zera se ele ainda estiver Fora de sincronia e ainda tiver posição ou ordem ativa naquele instrumento. Em seguida, se Desarmar Seguidores estiver marcado, o seguidor é desarmado.
Em contas Rithmic, a partir do Replikanto 1.7.0.0, o Follower Guard primeiro relê a posição real da conta na corretora (nenhuma ordem é enviada), para que uma posição desatualizada no NinjaTrader não dispare a ação errada. Essa é a opção Atualizar a posição de uma conta Rithmic antes de agir sobre ela (Refresh a Rithmic account's position before acting on it), em Propriedades, Geral (General), ligada por padrão.
Nas outras conexões (Sim, Tradovate e outras), a partir do Replikanto 1.7.1.0, os dois temporizadores do Follower Guard que zeram o seguidor, Zerar o seguidor se ele ficar fora de sincronia e Zerar o seguidor se a posição dele estiver na direção oposta (descritos abaixo), primeiro conferem se o NinjaTrader terminou de aplicar à posição a última atividade do seguidor. A cada verificação do temporizador, o Follower Guard adia o zeramento se o seguidor tem uma execução que o NinjaTrader ainda não aplicou, uma ordem a mercado ainda em andamento ou uma posição que mudou há menos de um segundo. Enquanto espera:
- O seguidor não é zerado nem desarmado. Ele continua Fora de sincronia (amarelo), e o Follower Guard confere de novo na verificação seguinte, por até cerca de 30 segundos no mesmo episódio. Se o tempo que você definiu for maior que isso, ele age na verificação seguinte.
- A aba Log mostra
Info [1119]uma vez por episódio: "The Follower Guard did not flatten this follower yet: NinjaTrader has not finished applying its latest fill or market order to the position, so the position it shows may be out of date." A linha termina comguard='out-of-sync'ouguard='opposite-direction'e umreasonigual afill-pending,order-in-flightouposition-settling. Não exige ação: o Follower Guard está esperando de propósito. - Se o seguidor voltar a ficar sincronizado, ou for desligado ou desarmado nesse meio tempo, nada é zerado.
- Se depois de cerca de 30 segundos o NinjaTrader ainda não tiver atualizado a posição, o Follower Guard age sobre a posição que o NinjaTrader mostra, e a aba Log mostra
Warning [1120]: "The Follower Guard waited N s for NinjaTrader to finish applying this follower's fills and orders to its position and it still had not, so it acts now on the position NinjaTrader shows, as it did before 1.7.1.0. Check this follower after the flatten." A expressão "as it did before 1.7.1.0" quer dizer que ele age como o Follower Guard agia antes de essa espera existir. Depois de um zeramento assim, compare a posição do seguidor com a da sua corretora.
Essa espera vale só para essas duas opções, e só quando elas estão ativadas (as duas vêm desligadas por padrão). Ela não vale para contas Rithmic, que usam a releitura da posição descrita acima, nem para os outros caminhos de zeramento: as ações por erro de ordem abaixo, o Zerar Tudo (Flatten All), o botão Zerar (×) do próprio seguidor e um Close copiado do líder. O Zerar Tudo, o botão Zerar (×), um Close copiado e o próprio zeramento do Follower Guard (depois que a espera dele termina) esperam por até cerca de 5 segundos, dentro do zeramento, que o NinjaTrader aplique à posição a última execução do seguidor antes de o Close ser enviado (a aba Log mostra Info [1110]).
Versões anteriores: antes do Replikanto 1.7.1.0, os dois temporizadores decidiam com a posição que o NinjaTrader mostrava no instante em que terminavam. Numa conexão que aplica as execuções com atraso (por exemplo, a Tradovate), um seguidor podia ser zerado com base numa posição desatualizada. Se isso acontece com você, atualize para o Replikanto 1.7.1.0 ou mais recente.
A partir da versão 1.5.3+ existe a ação de zerar a conta seguidora caso ela abra uma posição oposta à que deveria ter.
A partir da v1.5.3+, ação para quando a conta seguidora abre uma posição oposta.
Essa ação, Zerar o seguidor se a posição dele estiver na direção oposta (Flatten the follower if its position is in the opposite direction, padrão de 5 segundos), só age quando o líder e o seguidor estão os dois posicionados, em lados opostos; uma diferença só de quantidade nunca a dispara. A contagem dela também é reiniciada a cada execução do seguidor. Em conexões que não são Rithmic, a partir do Replikanto 1.7.1.0, ela também espera o NinjaTrader aplicar a última execução do seguidor, como descrito acima; depois de esperar, ela relê ao vivo, a cada verificação, a posição do líder e a do seguidor e só zera se ainda estiverem em lados opostos.
As próximas ações (que também zeram a conta seguidora) podem ser ativadas e entram em ação após um determinado tempo:
- A corretora rejeitou a ordem atual
- Não foi possível enviar a ordem
- A bolsa ou a corretora não suporta atualizações de ordem para o instrumento em questão, ou a ordem ainda não foi enviada
- A ordem não pode ser cancelada agora, mas pode ser cancelada com sucesso mais tarde
- A ordem foi enviada com um erro não especificado
Condições de erro da corretora / bolsa que podem acionar o zeramento automático.
A partir do Replikanto 1.7.0.0, se a alteração de uma ordem do seguidor falha porque essa ordem acabou de ser executada ou cancelada, o Follower Guard não zera mais o seguidor por causa disso (Zerar o seguidor se a ordem de alteração enviada retornar erro). Em vez disso, a aba Log mostra Info [1048].
Quando ativadas, todas as ações do Follower Guard entram em vigor após o tempo definido e desarmam as contas seguidoras se a opção Desarmar Seguidores (Disarm Followers) estiver marcada (mostraremos como desativar esse gatilho abaixo). Quando uma conta seguidora é desarmada, uma mensagem é exibida, um e-mail é enviado se configurado, e a conta fica vermelha.
Conta Desarmada e Função Rearmar
Uma mensagem é exibida quando uma conta seguidora é desarmada.
O botão Rearmar (Rearm) é habilitado depois que uma conta é desarmada. A partir do Replikanto 1.7.0.0, o botão Rearmar só aparece quando Desarmar Seguidores (Disarm Followers) está marcado ou quando algum seguidor está Desarmado. Com Desarmar Seguidores desmarcado e nenhum seguidor desarmado, o botão fica oculto.
O botão Rearmar fica disponível após uma conta ser desarmada.
Para rearmar as contas seguidoras você pode usar o botão Rearmar, o botão Zerar Tudo (Flatten All) ou o botão Zerar (×) da própria conta seguidora. A partir do Replikanto 1.7.1.0, quando a lista Contas Seguidoras é exibida em grupos (Agrupar seguidores por conexão / Group followers by connection, ou grupos personalizados), o cabeçalho de cada grupo também tem o próprio botão Rearmar, que aparece enquanto o grupo tem alguma conta Desarmada. Ele rearma só as contas Desarmadas desse grupo que estão zeradas; uma conta que ainda mostra posição continua Desarmada e é listada numa mensagem. O botão Zerar (×) do cabeçalho pede confirmação e depois zera todas as contas seguidoras do grupo, qualquer que seja o status delas; em seguida, ele só rearma uma conta Desarmada se a posição dela aparecer zerada. Quando há Replikantos remotos, o rearmamento das contas seguidoras no computador remoto deve ser feito a partir da janela do Replikanto seguidor — o Replikanto líder não pode rearmar as contas seguidoras remotas.
A partir do Replikanto 1.7.0.0, o Zerar Tudo só rearma um seguidor Desarmado se a posição dele já aparecer zerada. Um seguidor que ainda mostra posição (por exemplo, porque a ordem de fechamento ainda está em andamento) continua Desarmado, e a aba Log mostra Warning [1073]. Confira a posição dessa conta no NinjaTrader e, quando estiver zerada, clique em Rearmar.
Ativar/Desativar o Auto-Desarmamento
O desarmamento automático das contas seguidoras descrito acima pode ser desativado pelo menu do Replikanto ou pela janela de Propriedades do Replikanto.
Menu do Replikanto para ativar ou desativar o auto-desarmamento de seguidores.
Propriedades do Replikanto para ativar ou desativar o auto-desarmamento de seguidores.
Se você desligar Desarmar Seguidores e nenhum seguidor estiver Desarmado, o botão Rearmar fica oculto (a partir do Replikanto 1.7.0.0).
Algumas ações do Follower Guard podem não funcionar em máquinas remotas que recebem negociações remotamente, pois não conseguem verificar o status da posição do líder.
Nós Remotos
Os nós do Replikanto mostram apenas se o nó está desligado (cinza), ligado (verde) ou ausente (vermelho).
Estados dos nós remotos: ligado (verde), desligado (cinza), ausente (vermelho).
- Ligado (verde)
- Desligado (cinza)
- Ausente (vermelho)
Um nó fica “ausente” quando uma negociação não foi recebida ou retornou um erro.
Um nó (nó de rede ou remoto) ficará "ausente" quando for detectado que não recebeu a negociação, ou que a recebeu mas retornou um erro (o log deve ser verificado em todas as situações). Mesmo ausente, novas tentativas são feitas — mas o trader saberá para que possa agir e corrigir o erro de comunicação.
Para nós remotos que estão ausentes, a recomendação é desligá-los até que o problema seja resolvido, para que os créditos não sejam consumidos sem que a cópia seja entregue.
Comentários
0 comentário
Artigo fechado para comentários.