NinjaTrader: “Instruments not subscribed for real-time data have been detected”

This warning is unhelpful in one specific way: it tells you some of your instruments are not subscribed for real-time data, and then does not tell you which.
Where the symbols actually are
They are in the Log tab at the bottom of the Control Center, not in the warning dialog. Open it and look for entries naming individual instrument symbols with delayed data against them.
Until you do that, you are guessing at which chart is lying to you, and a chart on delayed data looks almost exactly like a chart on real-time data if the market is moving slowly.
What causes it
The instrument is outside your data package. Data subscriptions are per exchange. A package covering CME will not cover ICE or Eurex, and a chart on an uncovered exchange will show delayed data indefinitely.
A pre-loaded workspace. Workspaces copied from someone else, or built from a template, frequently carry instruments you never subscribed to.
An expired contract. Futures roll quarterly. A chart still pointing at an expired month will never receive real-time data again.
What to do
- Read the Log tab and write down the symbols named.
- For each, decide whether you actually trade it. Most of the time the answer is no and the fix is to close the chart.
- For the ones you do trade, add the exchange to your data subscription.
- For anything on an expired contract, roll it to the current month.
Treat it as informational, not broken
It is worth being clear that this is a notice rather than a fault. Nothing is misconfigured. NinjaTrader is telling you it will show those instruments delayed, and it will carry on doing so quite happily until you notice you have been reading a delayed chart.