Troubleshooting
Problems that come from NinjaTrader itself, such as connection and logon errors, disabled prop accounts, ATM templates, and stuck simulation positions, are on NinjaTrader 8 Troubleshooting.
Alert Latency
Alert lag or latency can occur on both sides of CrossTrade for different reasons.
From TradingView: Alert delays can occasionally occur, especially around the top of the hour and major news announcements where their server load increases. CrossTrade marks the received time exactly, but the time it takes to arrive at our front door is out of our control.
TradingView official response**:** "Unfortunately, currently signals can be sent with a delay (several seconds) at the beginning of trading sessions and at the beginning/end of an hour, because the load on the servers increases. We are already working on this issue and although there is no ETA yet. Please accept our apologies for the inconvenience."
To NinjaTrader: Execution latency can occasionally occur and is influenced by a number of factors like your internet connection and PC specs. There are a number of ways you can optimize NT8 that we outline here and strongly suggest all users consider implementing for the best experience.
Optimizing NinjaTrader Performance
Formatting Issues
Did you forget the semi colon at the end?
Did you add a semi colon in between accounts when it should be a comma?
Are you missing a required field for your command type?
These are the common reasons you'll see a formatting issue.
Always Remember the Semicolon
key=my-secret-key;
command=place;
account=sim101;
instrument=ES 12-26;
action=buy;
qty=1;
order_type=market;
tif=day;
Separate Multiple Accounts by Comma
****key=my-secret-key;
command=place;
account=sim101,sim102,sim103;
instrument=ES 12-26;
action=buy;qty=1;
order_type=market;
tif=day;
Use the Full Account Name
Examples:
(NT Sim) account=sim101;
(NT Demo) account=demo123456789;
Use All the Required Fields
NinjaTrader's available commands require (R) certain fields be present for the command to be implemented.
For example a PLACE command requires the Account, Instrument, Action, Qty, Order Type and TIF (time in force) to be present.
key=my-secret-key; ``- Required by CrossTrade
command=place; ``- Required by NinjaTrader
account=sim101; ``- Required by NinjaTrader
instrument=ES 12-26; ``- Required by NinjaTrader
action=buy; ``- Required By NinjaTrader
qty=1; ``- Required by NinjaTrader
order_type=market; ``- Required by NinjaTrader
tif=day; ``- Required by NinjaTrader
Every command's required and optional fields are in the Available Commands table.
No Market Data to Drive the Simulation
If you submit an alert with an expired contract, you'll encounter this error message. \ Error - [Account], There is no market data available to drive the simulation engine. affected Order:
Be sure to update your alerts to the front month contract after rollover to ensure you're submitting orders on an active contract.
Clearing a Sim Position on an Expired Contract
If a position on the expired contract is stuck in a simulation account, reset the account in NinjaTrader. The steps are on NinjaTrader 8 Troubleshooting.
Symbology not matching for Canceling Orders
In your NinjaTrader settings, you can set the Symbology display style. This setting MUST match the format you are using when attempting to cancel pending orders.
If your setting is Numeric, then you need to submit the request in the numeric format: ES 12-25
.webp?alt=media&token=13f0b7dd-3398-42c6-a3f4-e3d1e05d768d)
Something Went Wrong, check message format
This error message is usually an indication that you have supplied a partial contract amount; which NinjaTrader does not support. In the example below you can see 3.664901 is the qty for this command, which NT8 rejects.
A round number of contracts or shares is required.

Test Resources
These two TradingView resources are designed to help troubleshoot by firing alerts quickly.
TradingView Test Indicator
To help with Troubleshooting issues we offer a free TradingView indicator that will force signals to be generated on every bar. When using this with the trigger "Once per bar close" each bar will send a single alert.
Be sure to also use the "flatten_first=true;" in your Alert Message so that each bar opens a new position.
https://www.tradingview.com/script/pXjxZz6z-XT-Troubleshooting-Indicator/
TradingView Test Strategy
Similarly to the Test Indicator, this strategy is designed to provide a code example of how to establish buy and sell signals that utilize the {{strategy.order.action}} variable, as well as provide a way to test your alerts using the variable in place of the BUY or SELL in your Action field. (e.g. action={{strategy.order.action}} vs. action=BUY;)
Each pine script strategy is coded differently and the strategy.order.action variable is not a default in all strategies.
https://www.tradingview.com/script/P2tUeSKr-XT-Strategy-Help/