Este artigo explica por que uma conta seguidora pode ficar com uma posição no lado oposto ao da conta líder (também chamada de posição invertida, contrária ou reversa), como identificar a causa e como evitar que isso volte a acontecer no Replikanto.
Como o problema se manifesta
- A conta líder está comprada, mas a seguidora aparece vendida (ou o contrário).
- A líder está zerada, mas a seguidora está segurando uma posição nova na direção oposta.
- O Replikanto marca a linha da seguidora em amarelo, indicando que ela está fora de sincronia com a líder, mas continua recebendo as operações.
Por que isso é importante: manter posições compradas e vendidas no mesmo instrumento em contas diferentes ao mesmo tempo é counter-position trading, prática proibida pela maioria das mesas proprietárias (Apex, Topstep e similares). Se você vir o amarelo ou uma posição invertida, pare de operar e resolva a situação antes de enviar novas ordens.
Prevenção proativa
Sempre verifique se todas as contas estão zeradas antes de entrar em uma nova operação. Esta é a proteção mais importante contra posições invertidas. Antes de abrir uma nova posição, verifique rapidamente todas as suas contas seguidoras no Replikanto para confirmar que elas mostram zero posições. Essa verificação proativa evita que desalinhamentos se acumulem em várias operações.
Confira também a coluna Ratio antes de cada sessão: todos os valores precisam ser positivos (por exemplo, 1.0 ou 0.5). Um ratio negativo (por exemplo, -1.0) coloca o Replikanto em modo de inversão, fazendo a seguidora operar propositalmente no lado contrário ao da líder.
Por que a posição invertida acontece
A entrada do seguidor não foi executada, mas a saída foi copiada
Uma posição invertida pode ocorrer quando o mercado preenche a ordem de limite de entrada do líder e não preenche as ordens de entrada do seguidor (copiadas do líder), fazendo com que as ordens de saída do líder sejam copiadas para as contas do seguidor após o envio devido à criação da posição. Quando isso acontece, as ordens de saída podem ser preenchidas antes da ordem de entrada no lado do seguidor, criando uma posição indesejada.
A posição do seguidor foi fechada manualmente com a líder ainda aberta
Uma posição invertida também pode ocorrer quando a posição aberta de um seguidor é fechada manualmente enquanto a posição do líder permanece aberta. Quando a execução de saída do líder é disparada (por exemplo, quando um Stop Loss ou Take Profit é atingido), o Replikanto copia essa ordem de saída para todos os seguidores ativos, incluindo aqueles que já foram fechados manualmente. Como essas contas não possuem posição aberta, a ordem de saída copiada abre uma nova operação na direção oposta.
Posição desatualizada em conexão Rithmic
Em conexões de corretora Rithmic, o NinjaTrader pode continuar mostrando uma posição que já foi encerrada, e o fechamento dessa posição "fantasma" envia uma ordem reversa que abre uma nova posição no lado oposto. A partir do Replikanto 1.7.0.0, o Replikanto relê a posição real no Rithmic antes de zerar uma seguidora, então um zeramento feito pelo Replikanto não deve mais causar isso. Veja a seção a seguir.
Primeira verificação: as contas afetadas usam uma conexão Rithmic?
Sempre que você vir uma posição contrária (invertida), verifique primeiro se as contas afetadas se conectam por meio de uma conexão de corretora Rithmic (comum em mesas proprietárias como APEX, TopStep e similares). Com o Rithmic, o NinjaTrader pode não conseguir atualizar a posição de um seguidor após o fechamento, mantendo uma posição "fantasma" desatualizada. Quando algo tenta fechar essa posição inexistente, o NinjaTrader envia uma ordem reversa e abre uma posição totalmente nova na direção oposta, então no Replikanto parece exatamente um seguidor invertido, mesmo que as suas configurações de cópia não tenham feito nada de errado. A causa está no Rithmic: a API dele não garante que as atualizações de posição cheguem em sincronia com as execuções, e o NinjaTrader pode ficar com uma posição fantasma.
A partir do Replikanto 1.7.0.0, o Replikanto relê a posição real no Rithmic, sem enviar nenhuma ordem, antes de zerar uma seguidora (Zerar Tudo (Flatten All), o botão Zerar (Flatten) da seguidora, um Close copiado do líder ou um zeramento do Follower Guard) e antes de o Follower Guard agir sobre uma seguidora fora de sincronia. Ele também corrige sozinho a posição no NinjaTrader cerca de um segundo depois de uma execução que não seja seguida de atualização de posição. Assim, um zeramento do Replikanto em uma seguidora não deve mais transformar uma posição fantasma em uma posição invertida. Isso é controlado pela 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 (Properties... > General), ligada por padrão.
Por isso, antes de aplicar os passos abaixo, confirme qual conexão de corretora as contas usam. Se alguma delas for Rithmic:
- Em uma versão do Replikanto anterior ao 1.7.0.0: uma posição fantasma é muito provavelmente a causa real. Atualize o Replikanto; até lá, trate o RTrader Pro como a fonte da verdade e reconecte para atualizar as posições no NinjaTrader.
-
No 1.7.0.0 ou mais novo: procure na aba Log do NinjaTrader por
Warning [1103](uma posição fantasma foi detectada e corrigida) ouWarning [1101](a releitura se desligou para aquela conexão, que volta a se comportar como antes do 1.7.0.0) e envie essas linhas ao suporte. Lembre-se de que os botões do próprio NinjaTrader (Zerar tudo (Flatten Everything), Chart Trader e SuperDOM) não passam por essa releitura.
Para a explicação completa, os limites e as soluções manuais, consulte Posição fantasma no Rithmic: NinjaTrader mostra posição já fechada.
Copiar ordens de mercado (execuções) somente
Você pode achar útil usar o recurso Copiar ordens de mercado (execuções) somente do Replikanto, que permite copiar apenas as execuções para os seguidores. Isso reduz bastante a probabilidade de as posições do seguidor ficarem na direção oposta, porque nenhuma ordem em aberto permanece no seguidor para inverter a conta. Para mais informações, convidamos você a assistir a este vídeo informativo: Copiar ordens de mercado (execuções) somente.
Como isso funciona com ordens bracket (stop loss e alvo)
Com a opção Copiar ordens de mercado (execuções) somente ativada, as ordens de stop loss e de alvo (limite) que estão em aberto na conta do líder não são copiadas para os seguidores como ordens próprias. Em vez disso, o Replikanto aguarda a ordem ser de fato executada no líder e então envia uma ordem a mercado para cada seguidor corresponder. Quando seu stop loss é executado (saindo no prejuízo) ou seu alvo é atingido (realizando lucro ou reduzindo a posição), cada seguidor fecha a quantidade correspondente a mercado naquele momento. Como nenhuma ordem de stop ou alvo fica em aberto no seguidor, não há ordem remanescente que possa inverter a conta para a direção oposta.
Lembre-se de que o seguidor fecha com uma ordem a mercado, e não com uma ordem limite em aberto, então o preço de execução pode sair um ou dois ticks diferente do preço do líder, especialmente em mercados de movimentação rápida.
ATM Copy
A outra opção preventiva é o ATM Copy, que usa a estratégia ATM do NinjaTrader para gerenciar as ordens de saída do seguidor em vez de copiá-las da conta do líder. Isso é útil se você estiver usando uma estratégia ATM nas negociações da conta líder, ou seja, negociações enviadas pelo NinjaTrader Desktop. O ATM Copy funciona apenas para ordens enviadas dentro do NinjaTrader Desktop; para operações originadas em outro lugar, ele não tem efeito.
Follower Guard: proteção reativa
O recurso Follower Guard foi criado para proteger as contas seguidoras e possui uma ação que, quando ativada, fecha a posição na conta do seguidor caso ela fique invertida (direção oposta). Essa ação está disponível a partir da versão 1.5.3 do Replikanto.
Nota: o Follower Guard é uma proteção reativa, o que significa que a posição contrária ainda ocorre brevemente antes de ser fechada. Por isso, verificações proativas (confirmar que as contas estão zeradas) e usar o modo Copiar ordens de mercado são importantes para evitar a situação completamente. Trate o Follower Guard como último recurso, não como sua proteção principal.
Como configurar
- Clique com o botão direito na janela do Replikanto e selecione Propriedades... (Properties...).
- Abra o grupo Follower Guard e ative Zerar o seguidor se a posição dele estiver na direção oposta (Flatten the follower if its position is in the opposite direction) e também Zerar o seguidor se ele ficar fora de sincronia (Flatten the follower if it becomes out of sync).
- Confirme que as contas que você quer proteger estão marcadas (selecionadas) na sua configuração do Replikanto — o Follower Guard se aplica somente a elas.
- Clique em Apply e OK.
- Salve o Workspace do NinjaTrader para que a configuração do Follower Guard seja preservada na próxima vez que o NinjaTrader for iniciado.
Para conhecer todas as ações disponíveis e os alertas de e-mail de desarme, consulte Follower Guard: Visão geral.
Ajustando o tempo do Follower Guard
Os atrasos Zerar o seguidor se ele estiver na direção oposta após X segundos (Flatten the follower if it is in the opposite direction after X seconds) e Zerar o seguidor se ele ficar fora de sincronia após X segundos (Flatten the follower if it becomes out of sync after X seconds) definem por quanto tempo uma posição oposta ou desalinhada pode permanecer em um seguidor antes que o Guard a zere. Um atraso menor reage mais rápido, mas pode ser disparado durante a breve janela de atualização de status de uma saída normal e inverter a conta para a direção oposta. Um atraso maior evita esses fechamentos prematuros, mas deixa uma posição genuinamente do lado errado permanecer por esse tempo antes de ser zerada, o que aparece como o seguidor levando vários segundos para sair.
Ajustar apenas o tempo não remove o desalinhamento de origem, apenas muda como o Guard reage. A correção definitiva é prevenir o desalinhamento com Copiar ordens de mercado (execuções) somente e confirmando que cada seguidor está zerado antes de cada nova entrada, para que o Guard raramente precise agir.
Diferenciando um fechamento do Guard de uma saída copiada
No gráfico do seguidor, as ordens copiadas pelo Replikanto carregam o sufixo de ID de ordem do Replikanto, enquanto o fechamento do Follower Guard aparece como uma ordem Close simples, sem a marcação do Replikanto. Se você vir um Close simples empilhado sobre as ordens de Entry e Stop copiadas, esse Close é o Follower Guard agindo, não uma ordem copiada.
Comentários
0 comentário
Artigo fechado para comentários.