Passos Iniciais
O que está acontecendo é que o NinjaTrader não está conseguindo atualizar a posição de um ou mais seguidores após o fechamento, mantendo assim um status de posição desatualizado indicando que há uma posição aberta incorretamente, e, ao tentar fechar a posição "fantasma", o NinjaTrader envia uma ordem de fechamento reversa causando uma nova posição invertida a ser aberta pela simples razão de que não havia posição aberta alguma no lado da corretora. Este comportamento, conforme a equipe de suporte do NinjaTrader nos informa, é devido à "alta latência de conexão".

A causa raiz: o design da API do Rithmic
A razão mais profunda por trás dessas posições desatualizadas, e o principal motivo de a posição às vezes não ser atualizada como deveria, está na forma como a API do Rithmic entrega os eventos ao NinjaTrader. Como o próprio aviso do Rithmic acima informa, a sequência dos eventos não é garantida pelo design da API do provedor. O NinjaTrader constrói a sua visão da sua posição a partir do fluxo de eventos que recebe da corretora: eventos de execução (OnExecution) e eventos de atualização de posição (OnPositionUpdate). Quando várias execuções ocorrem ao mesmo tempo para o mesmo instrumento, o Rithmic pode entregar esses eventos fora de ordem, ou enviar uma atualização de posição que não reflete as execuções que acabaram de acontecer. Como o NinjaTrader depende dessa ordenação para reconstruir a posição, um OnPositionUpdate incorreto deixa o NinjaTrader com uma posição errada enquanto a corretora (RTrader Pro) mantém a correta, e é exatamente esse desalinhamento que você vê na tela. É por isso que o próprio Rithmic recomenda trabalhar apenas com os dados passados por valor do OnExecution, em vez de confiar na atualização de posição agregada.
Em outras palavras, a "alta latência de conexão" é apenas parte da história: o problema real é que o Rithmic não garante a ordem em que esses eventos chegam, então o NinjaTrader nem sempre consegue reconstruir a posição de forma confiável. Como o problema tem origem no próprio contrato da API do Rithmic, nenhum add-on em execução no NinjaTrader (incluindo o Replikanto) pode evitá-lo, e ele não aparece em provedores como o Tradovate, cujas APIs entregam esses eventos de forma diferente.
O que recomendamos quando isso acontece é sempre considerar o que é exibido na plataforma da corretora "RTrader Pro" como verdadeiro, e se o NinjaTrader mostrar posições desatualizadas, não tente fechá-las, a melhor maneira de atualizá-las é reconectar-se à corretora indo para Conexões > Desconectar e, em seguida, Conexões > Conectar ou apenas colocando uma ordem limitada distante do preço e, em seguida, cancelando-a. Isso garantirá que as posições do NinjaTrader sejam atualizadas e exibidas corretamente.
Atenção ao Follower Guard: em contas afetadas por esse problema (como contas Rithmic da APEX, TopStep e similares), evite depender do Follower Guard para proteger as seguidoras. O Follower Guard decide achatar as contas seguidoras com base no estado da posição informado pelo NinjaTrader, e é justamente esse estado que fica incorreto por causa da latência do Rithmic. Por isso, ele pode disparar alarmes falsos e achatar posições sem necessidade. Nesses casos, acompanhe a posição real pela RTrader Pro e prefira o modo Market Only para copiar somente as execuções.
Alertamos nossos clientes sobre esse problema por meio do e-mail intitulado: “Aviso Importante: Problema de Atualização de Posição - Soluções Temporárias Fornecidas”, onde você encontrará mais informações sobre ele. Você também pode acompanhar esta postagem relacionada a este problema para se manter atualizado: https://forum.ninjatrader.com/forum/ninjatrader-8/platform-technical-support-aa/1309410-ninjatrader-rithmic-not-updating-positions
Para ser honesto, não há nada que possamos fazer com o Replikanto nesta situação, pois cabe ao NinjaTrader atualizar as posições corretamente, conforme mostrado na ferramenta da corretora. Infelizmente, dependemos da operação adequada da plataforma NinjaTrader Desktop que executa o add-on Replikanto para que tudo funcione perfeitamente.
Se isso estiver afetando você de forma negativa, entre em contato com support@ninjatrader.com e envie seus logs para eles. Eles farão o possível para analisá-los, identificar o problema e forçá-los a fazer as correções necessárias, pois eles sabem sobre este problema há algum tempo.
Se você estiver interessado em explorar opções alternativas, pode considerar usar contas Tradovate em vez de Rithmic como uma forma de resolver o problema de conhecimento.
Passos Adicionais
Gostaríamos de esclarecer que nenhum produto de mercado em execução no NinjaTrader é responsável pelas posições Rithmic não serem atualizadas dentro do NinjaTrader. Gostaríamos de lembrá-lo gentilmente de que a responsabilidade pela atualização das posições é da ferramenta NinjaTrader. Se o problema fosse com nosso produto ou qualquer outro, ele provavelmente se manifestaria em uma variedade de tipos de contas, como Tradovate, o que não é o caso. Este problema tem suas raízes no Rithmic e, como mencionado anteriormente, recai sob a alçada do NinjaTrader. Infelizmente, é necessário buscar a assistência de um agente de suporte do NinjaTrader para relatar o caso, pois o suporte de IA do NinjaTrader não está atualmente equipado para lidar com este problema em particular.
Comentários
0 comentário
Artigo fechado para comentários.