What to do when a connection with the Tradovate provider freezes

Since the launch of the Tradovate connection a couple of years ago, many funding firms have begun adopting it as one of their main connections.

In this article

This connection, like all those used by funding firms, has its own particular problems. Because of Tradovate's widespread adoption, we want to explain what problems you might experience when using it, how you can reduce the likelihood of them occurring and, above all, what to do if you are already in the middle of one of them.

Remember that funding firms normally do not take responsibility for technical problems caused by their providers. That is why it is essential to understand what these problems are and how to react to them. Knowing what to do at the right moment can make the difference between losing everything you have earned and coming through the situation unscathed.

We estimate that at least 50% of traders will experience a problem related to Tradovate at some point. However, it only needs to happen once, without knowing how to react, for the experience to be tragic.

We have identified several cases and studied what to do in each of them and, when possible, how to prevent them. There are situations that are unfortunately beyond the user's control and cannot be avoided completely, but you can know in advance how to act.

Why do these problems occur with Tradovate?

First, we need to understand why these problems can occur and why you should never consider a funding firm, regardless of the connection it uses, to be infallible or as though it were a real broker prepared to operate without issues.

Funding firms do not necessarily transmit your positions to the real market. They offer you a “funding” service in which there is an infrastructure that imitates certain market conditions and in which your trades, account rules and possible breaches of those rules are evaluated. Tradovate is one of the providers used within this ecosystem.

This connection can be used from different platforms, so the problems we will describe here are not limited exclusively to one particular platform, but may affect any platform that communicates with Tradovate.

For this article, we will use NinjaTrader as an example, since it is the platform best known among our customers.

The simplified flow works as follows:

NinjaTrader → Tradovate API → Tradovate Server

When you send an order, whether using NinjaTrader's buttons, one of our products or any other tool, the instruction leaves NinjaTrader and communicates with the Tradovate API. In simple terms, the API is the communication channel between the platform and the Tradovate server.

The stability of that channel is extremely important. If communication is interrupted, becomes unstable or you simply cannot communicate with the API, a request can get stuck between NinjaTrader and the Tradovate server.

If you have understood everything up to this point, then you already understand the origin of much of the problem: communication between NinjaTrader and Tradovate depends on that channel.

What can you experience when there are communication problems with the Tradovate API?

You may encounter situations such as these:

⚪ Your Stop Loss or Take Profit order should execute, but apparently does not close.

⚪ You try to modify a limit order or a Stop order and it stays orange.

⚪ You press Close, Cancel or Flatten, but the positions or orders apparently remain stuck.

⚪ You try to cancel or modify an order and the action takes too long to execute.

Why does this happen? Because NinjaTrader is trying to send an action to the Tradovate server, but communication with its API is not working correctly at that moment.

The cases in which this can happen and what to do in each one

1️⃣ The Tradovate API request limit is reached

Tradovate establishes a general limit of approximately 5,000 requests per hour.

Every time you move a Stop Loss, modify a Take Profit, change an order, cancel it or send a new instruction, you are generating requests from NinjaTrader to Tradovate.

For example, if you place a Stop Loss and then drag it ten times in a few seconds, you are not performing a single action. You are generating multiple consecutive modifications. If those modifications also need to be applied to several accounts, an even greater number of requests will naturally be generated.

If you reach the permitted limit, Tradovate may temporarily restrict communication with its API. As a result, you may no longer be able to move orders, close positions, create new orders or perform other actions.

For this reason, reaching the API request limit can become a dangerous situation.

⚪ What can you do to avoid it? (API request limit)

5,000 requests per hour is a considerable amount, but it can be reached under certain circumstances.

To reduce the risk:

✅ Avoid trading from places where a large number of traders share the same Internet connection. Certain limits or restrictions may be related to requests made from the same connection.

✅ Avoid constantly modifying the Stop Loss or Take Profit, especially if you work with many accounts simultaneously.

On several occasions, we have seen traders using automated Stop Loss movements on practically every tick, generating a large number of modifications in a matter of seconds. If you use automated algorithms, avoid configurations that make excessively frequent modifications.

Even if you make the movements manually, try not to modify them unnecessarily, especially if you also place many trades during the day and work with a large number of accounts.


2️⃣ Unstable connection with Tradovate

On some occasions, your Internet connection may continue working normally, but that does not necessarily mean that your communication with Tradovate is stable.

An unstable connection with the Tradovate API can originate either in your own Internet connection or in Tradovate's infrastructure. In many cases, the problem may be on Tradovate's side and, in others, in the connection used by the user.

There may also be situations related to the Internet provider, the DNS being used or the way in which certain Tradovate addresses are being resolved.

Whatever the cause, the important thing is to understand that intermittent communication with the API can cause certain actions to take time to be sent, remain temporarily pending or apparently get stuck.

⚪ What might you experience? (Unstable connection with Tradovate)

For example:

⚪ Stop Loss movements that do not finish executing and remain orange.

⚪ Orders that take too long to cancel.

⚪ Position closures that do not respond immediately.

⚪ Actions that eventually execute after you have pressed the same button several times.

⚪ In some cases, opposite orders can even be generated as a result of repeating an action several times while communication was delayed.

⚪ What can you do to avoid it? (Unstable connection with Tradovate)

Unfortunately, this problem cannot always be prevented. Unlike the request limit, part of this situation may be completely beyond your control.

You can take care of maintaining a stable Internet connection, but you can never fully control the stability of Tradovate's infrastructure. And Tradovate can experience more episodes of instability than many traders imagine.

Although you cannot guarantee that it will never happen, you can reduce the likelihood or, at least, reduce your exposure to the problem:

✅ Avoid trading during high-volatility news.

✅ When possible, avoid the first few minutes of the US market opening, especially the first two.

✅ Be particularly cautious at times close to the market close or in the early hours of the morning, since we have observed episodes of greater instability at certain times.

✅ Never assume that everything will work perfectly simply because you are using a funding firm.

This last point is probably the most important. If you use trading robots, they should remain supervised. If you day trade, you should be in front of the screen or, at a minimum, keeping an eye on what is happening.

Remember that you are not simply trading a traditional account with a real broker. You are trading within a funding firm's infrastructure, with its own connections, providers, servers and possible technical problems.

Never open trades and go to sleep leaving everything open on the assumption that it will necessarily work correctly.

⚪ What should you do if the unstable connection is happening to you NOW? (Unstable connection with Tradovate)

If you are already in the middle of this problem, your priority must be to regain control of your positions and orders.

1️⃣ Disconnect and reconnect your platform's connection

Your first reaction should be to disconnect the Tradovate connection within your platform and reconnect it. This resolves a large proportion of instability cases.

If communication was temporarily interrupted or out of sync, reconnecting forces the platform to reestablish communication with Tradovate. Once it has recovered, you will normally be able to manage your positions and orders normally again.

2️⃣ If reconnection takes too long, use Tradovate directly

If you try to reconnect and notice that the connection takes too long to recover, you are probably not facing an interruption lasting just a few seconds, but rather a more prolonged problem.

In that case, do not keep waiting in NinjaTrader. Go directly to trader.tradovate.com and check your positions and orders there.

If your priority is to exit the market, close them completely from Tradovate.

When there is a communication problem between NinjaTrader and Tradovate, the most important thing is not to keep pressing Close, Cancel or Flatten repeatedly, but to check directly what is happening on Tradovate's side and regain control of the account.

Talk to Bruno Meza