Skip to main content

Connection & Order Troubleshooting

Most connection failures stem from NT8 itself, the data feed, or local network conditions rather than the CrossTrade servers. This page covers the errors we see most often, what they actually mean, and the fastest way to get back online.

What does "Could not communicate with remote server, check internet connection" mean when everything else is working?

Restart NT8. All XT servers are online; this error is produced inside the add-on when it cannot reach XT from your machine. If restarting NT8 does not resolve it, restart the PC. Anti-virus, VPNs, or firewall rules on your machine can also prematurely close the websocket connection even when other apps appear unaffected.

CrossTrade says "failed, account not connected" but the XT window shows connected. What's wrong?

The data feed lost connection, even momentarily. CrossTrade ties account availability to NT8's master accounts list; if there is no active feed, the account list is returned empty and we mark the delivery accordingly. Think of CrossTrade as a delivery service: we knock on the door with the order, and if NT8's door does not open because the feed is down, we log the failure. CrossTrade itself cannot cause a data feed to drop.

My NT8 account gets disconnected randomly throughout the day. How do I stabilize it?

This is almost always a data connection issue, typically on a prop firm's feed. Recommended path:

  • Run NT8 on a VPS for a stable network environment.
  • Buy your own data (Rithmic, CQG, Kinetick, etc.) and connect to that feed first.
  • Connect your prop firm feeds after the dedicated data feed is online.

Prop-supplied feeds are frequently unstable — CrossTrade cannot fix an upstream feed that keeps dropping.

"sim,101 there is no market data available to drive the simulation engine" — how do I fix this?

Connect the account to an active data connection inside NT8. Orders cannot be sent to any account (including Sim) without a live data feed attached. For demo accounts, NT8 typically assigns them to the Simulation feed.

Why do I get "Account 'FTDFYL25580523550' not found" and then it works after disconnect/reconnect?

NT8 ties the connection status to the master accounts list. If the feed tied to that account is not connected, the account is unavailable and CrossTrade returns "account not found." Make sure the correct feed is connected for that account type before sending orders.

I'm getting "account not found" for my Apex account (e.g., APEX-282538-07!Apex!Apex!). What should the account field be?

The account name is everything up through the first exclamation point. For APEX-282538-07!Apex!Apex!, the payload should use:

account=APEX-282538-07;

Make sure the semicolon is present after the value — missing semicolons are a common cause of "account not found." See the prop-firm connection guide for details.

Orders send cancel fine but a buy/sell disconnects my account. What's happening?

The disconnect warning is produced when CrossTrade tries to send a trade into the account but no active data supports it. CrossTrade does not cause the feed drop — an unstable internet connection or flaky prop feed does. Try a VPS if the issue persists.

I have accounts from multiple prop firms. Why do they disappear when I enable multi-provider mode?

Multi-provider mode is for connecting to multiple different data feeds simultaneously. If two prop firms both use Rithmic, NT8 can only connect to one Rithmic instance at a time — you cannot split them across multi-provider slots. Multi-provider works when the feeds are genuinely different (e.g., Rithmic + CQG + Kinetick).

I see duplicate orders firing from the same alert. What could cause this?

You almost certainly have the same account linked to multiple NT8 connections at once. Each connection fires its own OrderUpdate events, effectively doubling each order. NT8 itself warns about this in the Control Panel log but still executes both. The fix: make sure each account is connected exactly once.

My live account is "active" and I can place manual trades, but XT trades fail. What next?

When NT8 reports the account as disconnected to XT, it is local to your machine and connection. Try:

  1. Restart NinjaTrader.
  2. Connect only to the live account (disconnect others temporarily).
  3. Send a basic market order from the XT Dashboard's Manual Trader.

A Manual Trader order is equivalent to an external webhook. If manual works but webhooks fail, the only remaining difference is the webhook URL. If neither works, the problem is in the local NT8 ↔ feed path. If you run multi-provider, disconnect everything and reconnect one feed at a time to isolate which feed causes the problem.

Why does my account show "inactive" when I open a monitor?

You most likely have open positions carried over from the previous session. The monitor's "Require Clean Sessions" protection refuses to proceed by default. Hover the info bubble or check the logs for confirmation. You can disable this behavior when editing the monitor, at your own risk — see the Require Clean Sessions docs.

XT login fails with "invalid email or password" — but the same credentials work on the website. What now?

NT8 is not reaching the XT server at all — no failed auths register on our end, so the error is local. Common causes:

  • VPN or corporate firewall blocking outbound traffic from NT8.
  • Anti-virus or security software interfering with the websocket.
  • Machine needs a reboot (solves this in many cases).

If restarts and a different machine don't help, email support@crosstrade.io so we can look at your account.

My indicator strategy returns an error about ATI. What do I do?

ATI must be enabled in NT8 for CrossTrade to submit orders. See installation step 3.

NT8 shows a confirmation popup and the order never executes. How do I disable that?

Turn off order confirmations in NT8 settings. With confirmations on, each order waits on a user click, which the webhook path cannot satisfy.

My ATM template webhook fails silently — no order opens and no error. Why?

ATM templates have a saved contract quantity, and the alert's QTY must match exactly. If the ATM is saved for 2 contracts and your alert sends 1, NT8 silently discards the request with no trace. Verify the template's saved quantity and send an alert QTY that matches.

I keep getting "no data for the instrument" errors. What's the usual cause?

Any of the following:

  • The contract has expired or you're using the wrong expiration month.
  • The ticker format is wrong — use NT8's format (e.g., ES1!, not ES!).
  • The feed you're connected to doesn't carry that instrument (this is feed-dependent; e.g., SIL1! may quote on Live but not on Sim, and Bulenox doesn't allow SIL).

If the symbol is correct and your chart is loading data, restart NT8 — NT8 occasionally fails to quote until a restart.

What's the correct continuous-contract symbol format?

Use NT8's format: ES1!, NQ1!, MNQ1!, MES1! (not ES!). If you're on a stock broker (IBKR, Schwab), use NT8's symbol format for the instrument — not TradingView's.

My websocket connection to /ws/stream drops every 40-60 seconds. What's wrong?

Your client must respond to WebSocket protocol-level pings to keep the connection alive. Two frequent issues seen in live reports:

  • Python's websockets library sends binary ping frames by default; the /ws/stream endpoint rejects those as "not of type text." Disable binary pings and send only JSON text frames.
  • Your client isn't sending back pings over the WS protocol, so the server closes the connection after the keepalive window. Standard Python/Node.js websocket libraries work when configured to reply to pings.

Does CrossTrade support stock trading?

Yes. Connect IBKR or Schwab through NT8, then send a stock ticker in the alert payload using NT8's symbol format. For TradingView strategies on stocks, use \{\{strategy.order.size\}\} instead of \{\{strategy.order.contracts\}\} for the QTY. There are no stock-specific gotchas beyond that — most XT examples use futures, so you'll need to adjust tickers. See the how-to blog tag for broker-specific setup guides.

Does CrossTrade connect directly to Tradovate (cloud API)?

No. CrossTrade specifically automates TradingView to NT8 desktop. We do not, and do not plan to, connect directly to Tradovate's web API — cloud-based Tradovate automation is detected immediately by prop firms regardless of what the service claims. To trade a Tradovate account, log in to Tradovate through NT8 desktop using the credentials your prop firm provided, then connect CrossTrade to NT8.

How do I send alerts to multiple accounts across different prop firms?

Enable multi-provider mode, connect each account with its corresponding feed, and send the alert. See multi-provider mode docs.

How do I manually reconnect the CrossTrade add-on in NT8?

In the NT8 Control Panel, click New > CrossTrade to open the XT window, then click Connect. Disconnecting/reconnecting only the feed also works, but restarting NT8 solves nearly every problem and is the recommended default.

My new prop-firm accounts aren't showing up in CrossTrade. How do I sync them?

CrossTrade pulls NT8's account list — if they aren't instantiated in NT8, they won't appear in XT. Steps:

  1. Connect to the prop firm's feed in NT8 and confirm the new accounts populate in NT8's account list.
  2. Log out of NT8, restart it, and reconnect the CrossTrade add-on.

There is sometimes a lag with NT8 populating new accounts; this is a NinjaTrader behavior, not an XT one.

What does an "out of sync" error with Strategy Sync mean?

strategy_sync triggered because the monitored position does not match what the most recent alert expects. The most common reasons:

  • Missed alert from TradingView (never sent).
  • Missed alert on the XT/NT8 side (lost connection).
  • Manual intervention — closing or modifying the position outside the strategy.

If you use out_of_sync=resync, CrossTrade will modify the position to match the most recent alert's target quantity. Let Strategy Sync run to get you back in alignment when the next valid signal arrives.

Is the VPS dashboard showing my server as stuck/unreachable? How do I recover?

Most VPS reconnect issues resolve with a reboot from the XT VPS dashboard. If a reboot fails or the server is stuck mid-update:

  • Wait a few minutes — the forced restart may still complete.
  • If the dashboard reports "Reboot Failed" or "502 Bad Gateway," contact support so the server can be reimaged. A rebuild takes roughly 20 minutes, gives you a new password (same IP), and does not affect your CrossTrade account or subscription.

For RDP errors like 0x204 or 0x1207 ("you must change your password before first connection"), a rebuild typically resolves it. Grab the new password from the VPS dashboard after rebuild completes.