NinjaTrader: “Real-time market data required to trade”

You go to place an order and NinjaTrader refuses, saying real-time market data is required to trade.
The platform will not route an order against a price it considers delayed. That is a safety behaviour, not a bug, and the question is why it thinks your data is delayed.
Check billing first
The most common cause is dull: the data subscription has lapsed. An expired card, a failed renewal, or a cancelled plan produces this within a day of the subscription ending.
Open your Account Dashboard, then Settings, then Plans, and confirm the subscription is active and paid. Then restart NinjaTrader. The platform does not always pick up a reinstated subscription without one.
Then check the exchange
If billing is current, the instrument is probably outside the package you pay for. Subscriptions are per exchange, so a trader with a CME package who moves to an ICE contract will hit this on the first order despite everything being paid and connected.
The Log tab in the Control Center will name the instrument if it is being served delayed.
Then check the contract
An expired contract month cannot receive real-time data. If the chart has been open across a quarterly roll, it is now pointing at something that no longer trades. Roll to the current month.
If everything above is correct
At that point the likely explanation is that data is not actually arriving, whatever the connection status claims. A connection can report itself healthy with a dead feed behind it, which produces this error at the moment you try to trade rather than at the moment the feed died. Connected but no data covers how to confirm that quickly.