Quick answer
If NinjaTrader opens but consumes CPU or charts lag, identify whether the slowdown occurs during history loading, incoming ticks or chart redraws. Compare a saved workspace copy with less workload before changing script behavior. If the platform will not open normally, use Safe Mode and confirm it under Help > About; a successful launch does not identify one faulty add-on.
High CPU: separate loading, calculation and rendering
Use Save As to make a diagnostic workspace copy before changing its charts. Compare the same instrument, interval and session so a different workload does not masquerade as a fix.
Many charts of one instrument do not spread work across a multi-core processor as effectively as charts of different instruments, according to NinjaTrader. Reduce duplicate instrument windows before assuming a higher core count alone will solve the slowdown.
| When the slowdown appears | Useful comparison |
|---|---|
| While history loads | In Data Series, compare a smaller days or bars range on the copy. Keep the history the script needs. |
| As live ticks arrive | Inspect Calculate on the configured indicators. Event frequency changes how often their calculations run. |
| When panning or redrawing charts | Compare fewer drawing objects and global crosshairs on the copied chart. |
| After adding a custom component | Reproduce with its exact version and inputs, then give the vendor that comparison. The effect can involve other scripts too. |
Calculate and Tick Replay change different work
Open a chart’s Indicators window, select a configured indicator and inspect Calculate. On bar close evaluates when the bar completes; On each tick evaluates each incoming tick; On price change skips successive ticks at the same price. A less frequent mode changes when results are available, so use a mode the indicator’s logic supports.
For example, two trades at the same price can carry additional volume. On price change can miss that update, so it is unsuitable for a calculation that depends on every volume update. An indicator called by a strategy also follows the parent script’s Calculate setting; a separately configured chart indicator does not establish what that strategy uses.
Tick Replay rebuilds historical event processing and uses additional resources. Check it under the selected Data Series; Tools > Options > Market data > Show Tick Replay only exposes the control. Use replay when the script is designed to need it. Disabling it can change historical calculations, and enabling it does not provide live-equivalent backtest order fills.
Data Series > Load data based on selects days, bars or a date range, so inspect the corresponding history limit. Test a smaller useful range on the copy. Keep the original settings available and compare the script’s expected outputs before using the changed setup.
Start Safe Mode and confirm it is active
Exit NinjaTrader. Hold Ctrl while double-clicking its icon, and keep Ctrl held until the Control Center appears. Confirm Safe Mode under Help > About.
This startup suppresses automatic workspace loading, startup connections, custom assemblies and instrument updates. Missing custom features during this test are not evidence that they were uninstalled. Safe Mode temporarily isolates add-ons; it is not a repaired copy of your usual trading setup.
Create a usable backup before changing the setup
Before changing files or repairing a layout, create a backup if the Control Center is accessible: disconnect providers, then choose Tools > Export > Backup File. Include the workspaces and other components you need, and confirm the archive exists.
If startup fails before that dialog is reachable, keep the original user-data files intact with NinjaTrader closed and follow platform support’s recovery guidance. An unavailable backup menu is not a reason to delete those files.
Test a clean workspace, then the saved layout
Use Workspaces > new for a temporary diagnostic workspace. Start with one simple chart using built-in components. Close other open workspaces for the comparison; switching the visible workspace leaves the others open.
NinjaTrader’s performance guide recommends testing windows without custom indicators, then opening the saved workspace. If the workspace does not load properly, close it without saving and reopen it. Keep that diagnostic state from overwriting the original layout.
| Observed result | What it narrows down |
|---|---|
| Simple chart works; saved workspace still stalls | The problem follows that layout or its workload. Compare a simpler copy before replacing the original. |
| Saved workspace works in Safe Mode; normal launch fails | Something excluded by Safe Mode remains a candidate. The result alone does not identify a particular add-on. |
| Safe Mode cannot reach the Control Center | Workspace comparison is unavailable. Preserve the exact error and logs for platform support; do not assume database corruption. |
Restore the workspace version from before the problem
Use Workspaces > the workspace name > Save As before making layout edits. It creates a separate file and leaves the previous workspace intact. Close is reversible; Remove deletes the workspace and its recovery versions. Remove does not delete a separate backup archive.
To recover an earlier layout, open Tools > Database Management > Restore Workspace. Select the folder for the affected workspace, then choose a saved version by its date and time. Pick a version from before the unwanted change, rather than automatically choosing the newest file.
The default is ten saved versions per workspace. The retention setting is Tools > Options > General > Preferences > Versions of recovery workspaces. If the workspace was removed, this recovery list cannot restore it; check an existing backup instead.
Restore Workspace and Repair DB share the Database Management window but do different jobs. NinjaTrader says to use Repair DB only when its support team directs it. Restoring a layout does not require treating every startup failure as a database fault.
Follow a database error separately from a slow workspace
For an explicit database-access or custom-assembly error, save its exact wording and occurrence time. “Unable to open database file” and “unable to recover custom assembly” name different failure points; a spinning startup screen does not establish either cause.
Exit the diagnostic session and relaunch normally without holding Ctrl. Verify that Safe Mode is no longer reported, then check the intended workspace, connections, current data and strategy instances. A responsive Control Center does not establish that strategies resumed.
Ninja Watchdog email alerts are available today; SMS and WhatsApp alerts are coming soon.
Official sources
Protect your setup
Keep NinjaTrader recovery automatic
Monitor NinjaTrader, recover supported interruptions, and receive recovery alerts on your Windows computer or VPS.
