Este artigo explica o que são ordens congeladas (ordens douradas), por que elas ocorrem e como resolvê-las quando acontecem no NinjaTrader com Replikanto.
O que são ordens congeladas?
Ordens congeladas (às vezes chamadas de "ordens douradas") são ordens ou posições que ficam sem resposta e não podem ser canceladas, modificadas ou fechadas através da interface normal do NinjaTrader. Você pode clicar em Close, Flatten ou Cancel repetidamente, mas nada acontece.
Sintomas comuns:
- Ordens aparecem como pendentes mas não cancelam quando clicadas
- Posições não podem ser achatadas ou fechadas
- Modificações de ordens não entram em vigor
- O problema tipicamente afeta contas Tradovate devido aos limites da API
Passos iniciais de solução de problemas
Ordens congeladas geralmente são causadas por problemas de conectividade de rede entre NinjaTrader e o broker, onde a conexão com o servidor de ordens é interrompida ou fica instável. Tente estes passos em ordem:
- Desconecte e reconecte a conexão do broker no NinjaTrader — isso atualiza as ordens pendentes e permite que sejam canceladas na maioria dos casos
-
Repare o banco de dados do NinjaTrader: Vá em
Tools > Options > Data(Ferramentas > Opções > Dados), clique emRepair DB, depois reinicie o NinjaTrader — isso pode limpar dados de estado de ordem corrompidos - Use a plataforma do broker diretamente: Se os passos acima não funcionarem, acesse o site do broker (Tradovate ou a plataforma do seu broker) e cancele ou feche ordens e posições de lá
Limites da API Tradovate
Para contas Tradovate especificamente, ordens congeladas podem ocorrer quando atingindo o limite de taxa da API Tradovate de 5.000 solicitações por hora (80 por minuto) para a conexão Tradovate/NinjaTrader. Uma vez que este limite é alcançado, ordens e posições podem congelar.
Para evitar atingir o limite:
- Evite usar trailing stops em contas Tradovate
- Não faça múltiplas mudanças de preço em um curto período
- Minimize modificações de ordens durante trading ativo
O NinjaTrader abordou este problema (rastreado como ID NT-14091) na versão 8.1.4+, que agora fornece uma notificação quando o limite é alcançado. No entanto, o problema subjacente persiste — ordens pendentes e posições que ficam presas quando o limite é atingido ainda devem ser gerenciadas através do site Tradovate ou interface web NinjaTrader.
Problemas de versão do NinjaTrader
Congelamentos ou lentidão também podem ocorrer imediatamente após atualizar para um novo lançamento do NinjaTrader (por exemplo, NinjaTrader 8.1.8.0). Nestes casos, a lentidão vem do novo build do NinjaTrader, não do Replikanto, cujo código permanece inalterado através da atualização.
Uma dessas lentidões é um atraso conhecido da plataforma ao fechar posições em várias contas ao mesmo tempo, e ele afeta todas as versões da 8.1.7 até a 8.1.8.2. O NinjaTrader 8.1.8.2 é a build mais recente e não corrige o problema, ou seja, atualizar para a versão mais nova não resolve nesse caso específico — veja Flatten All lento em multi-contas no NinjaTrader 8.1.7+.
Abordagem recomendada:
- Primeiro, verifique se um lançamento mais recente do NinjaTrader está disponível e atualize para ele — lançamentos subsequentes frequentemente corrigem instabilidades introduzidas em builds anteriores, embora o atraso no fechamento multi-contas descrito acima não tenha sido corrigido em nenhuma versão até a 8.1.8.2
- Após atualizar, reinstale o build correspondente do Replikanto da sua página de downloads para manter as versões alinhadas
- Se a lentidão continuar após atualizar para o lançamento mais recente, reverta o NinjaTrader para a última versão estável que não apresentava o problema e reinstale o build correspondente do Replikanto — no caso do atraso no fechamento multi-contas, isso significa a linha 8.1.6.x, já que a 8.1.7.x e todas as builds 8.1.8 até a 8.1.8.2 são afetadas
Nota: A desinstalação do NinjaTrader não afeta seus workspaces ou configurações, que são armazenados na pasta Documents\NinjaTrader 8.
Travamento da plataforma vs. ordens congeladas
É importante distinguir entre duas situações que parecem similares na tela:
Ordens congeladas: Ordens genuinamente não cancelam ou fecham, como descrito acima. Algo está preso do lado do broker ou comunicação.
Travamento da plataforma: A própria interface do NinjaTrader para de responder por um período — o gráfico para de redesenhar, cliques não são registrados, mas as ordens e execuções na verdade foram completadas normalmente em segundo plano. Um sinal confiável de um travamento real da plataforma é que os próprios arquivos de log e trace do NinjaTrader param de ser gravados durante o travamento e só voltam quando a interface se recupera. Neste caso, nada ficou preso do lado do broker — os trades foram executados, e a plataforma simplesmente se atualizou quando descongelou.
Como lidar com um travamento da plataforma
Quando a interface trava:
- Evite clicar em Close ou Flatten repetidamente — cada clique enfileira outra rodada completa de solicitações de cancel e flatten através de todas as contas copiadas de uma vez, o que pode fazer o travamento durar mais (especialmente com seguidoras Tradovate)
- Um único Flatten All é suficiente — aguarde alguns segundos antes de clicar novamente
- Ou desconecte e reconecte a conexão do broker para se recuperar
Reduzindo travamentos da plataforma
Tenha em mente que o Replikanto não roda no seu gráfico, então não é ele que o desenha ou trava. A carga do gráfico vem do NinjaTrader renderizando as barras e executando quaisquer indicadores aplicados. Um único indicador pesado ou ineficiente pode travar a interface inteira.
Para minimizar travamentos:
- Mantenha os gráficos o mais enxutos possível — apenas os indicadores que você realmente usa
- Evite carregar excesso de barras nos gráficos
- Certifique-se de que sua VPS tenha núcleos de CPU e memória suficientes para o número de contas para as quais você copia
Abordagem alternativa: modo Market Only
Você pode achar útil usar o recurso Market Only do Replikanto, que permite copiar apenas as execuções para contas seguidoras em vez de enviar modificações de ordens que podem contar para os limites da API. Para mais informações, assista este vídeo explicativo: https://youtu.be/WZ5rmeAuxZE
Comentários
0 comentário
Artigo fechado para comentários.