Optimizing Ninjatrader 8.1 Performance and Responsiveness

This helpdesk article provides a comprehensive guide to troubleshooting and resolving performance issues such as freezing, crashing, or unresponsive behavior in NinjaTrader Desktop. Follow these tips to optimize your platformโ€™s performance and ensure a smooth trading experience.

Before You Begin:
Ensure your computer meets the minimum/recommended system requirements for NinjaTrader Desktop. You can find the detailed requirements here:

What Are the System Requirements for Running NinjaTrader 8.1?

NinjaTrader is designed to utilize all available CPU cores and memory resources. However, depending on your usageโ€”such as running complex strategy optimizations, backtesting, or analyzing large datasetsโ€”you may need more resources than the average user.
1
Reduce the Number of Open Windows

Every open window in NinjaTraderโ€”whether itโ€™s a chart, tab, or DOM (Depth of Market)โ€”consumes valuable system resources such as CPU, memory (RAM), and, to a lesser extent, GPU. This is because NinjaTrader continuously processes and calculates data in real-time, even for windows that are minimized or hidden from view. For example, a chart displaying a 1-minute timeframe for a volatile instrument like the ES (E-mini S&P 500) requires constant updates and calculations, which can strain your system if multiple such windows are open simultaneously. When too many windows are open, your system may become overwhelmed, leading to performance issues such as freezing, lagging, or even crashes, especially if your computer is already operating near its resource limits or if youโ€™re running other resource-intensive applications in the background.

Action: To address this, start by reviewing your workspace and identifying unnecessary windows. For instance, if you have 10 charts open but only actively use 5, close the remaining 5 by clicking the "X" in the top-right corner of each window. This simple action immediately stops background calculations and frees up system resources, improving overall performance. Additionally, consider consolidating your workspace by using a single chart with multiple data series instead of opening separate charts for each instrument or timeframe. For example, you can display a 5-minute, 15-minute, and 1-hour timeframe on a single chart rather than opening three separate ones. To further optimize, monitor your computerโ€™s resource usage through Task Manager (Ctrl+Shift+Esc) to ensure CPU usage stays below 70% and memory usage below 80%. Organize your workspaces to include only the tools and windows you need for specific tasks, such as creating a "Day Trading" workspace for intraday trading and a "Backtesting" workspace for strategy optimization. Close unused workspaces to prevent them from running in the background and consuming resources. Finally, save time and maintain efficiency by using workspace templates, which allow you to quickly switch between optimized setups. By following these steps, you can significantly reduce resource consumption, improve NinjaTraderโ€™s performance, and create a more streamlined and efficient trading environment.


2
Close Unneeded Workspaces

NinjaTrader allows you to have multiple workspaces open at once, giving you flexibility to manage different setups. However, even if a workspace isnโ€™t currently in use or visible, it continues running in the background. This means it still uses valuable system resources, such as memory and processing power. If the workspace contains complex charts, indicators, or other heavy data, this can lead to a noticeable slowdown in the performance of your platform. To keep NinjaTrader running smoothly, itโ€™s a good idea to close any workspaces you’re not actively using.

Action: To check which workspaces are open, go to the Workspaces menu in the Control Center. In this menu, youโ€™ll see a list of all the workspaces currently running. A green box next to a workspace name indicates that itโ€™s the active workspace you’re using at the moment. A grey box means the workspace is open but running in the background, not currently in use.

If you want to close a workspace thatโ€™s not needed, hover your cursor over its name in the list and click Close. For example, if you have a "test" workspace open but arenโ€™t actively working in it, closing it will help free up system resources, such as memory and processing power, which can improve overall platform performance.


3
Adjust Calculation Settings

Indicators and data series in NinjaTrader can be set to calculate based on different triggers: every tick, every price change, or at the close of a bar. Choosing to calculate on every tick is the most resource-intensive option, as it requires the platform to process every single price movement that occurs. While this can provide real-time updates, it also consumes a lot of system resources. This can lead to performance slowdowns, especially when dealing with volatile instruments or complex, inefficient indicators that require more processing power.

Action: To optimize performance in NinjaTrader, itโ€™s recommended to set your indicators and data series to calculate "On Bar Close" or "On Price Change" rather than "On Each Tick." Calculating on each tick requires the platform to process every single price movement, which can use a lot of system resources and lead to slowdowns.

For example, if youโ€™re using a moving average indicator, you can right-click on the chart, select Indicators, and then change the calculation mode to "On Bar Close". This means the indicator will only recalculate when a bar closes, reducing the number of calculations required and improving overall platform performance.


4
Reduce Historical Data Load

Loading excessive historical data on your charts can negatively impact performance by slowing down chart rendering and increasing memory usage. For example, if you load 365 days of data for a 1-minute chart, the platform has to process and display hundreds of thousands of data points. This can put a significant strain on your system, especially if you have multiple charts or complex indicators running.

Action: To improve performance, reduce the amount of historical data loaded by adjusting the "Days to Load" parameter in the Data Series window. You can access this window quickly by pressing Ctrl+F. For example, instead of loading 365 days of data, try setting it to 30 or 60 days. By doing this, youโ€™ll reduce the number of data points that the platform has to process, which can significantly improve chart rendering times and overall performance.


5
Disable Tick Replay (Unless Necessary)

Tick Replay is a powerful feature in NinjaTrader that lets you replay every individual tick of historical data, providing a highly detailed simulation of past market movements. However, this feature is very resource-intensive, as it requires the platform to process a large amount of data for each tick. If you’re not actively using Tick Replay, it can put a strain on your system and slow down your platform’s performance.

Action: To optimize performance, disable Tick Replay unless it’s specifically needed for certain indicators or strategies. To turn it off, open the Data Series window by pressing Ctrl+F, then uncheck the Tick Replay box. For instance, if you’re using a simple moving average, Tick Replay isnโ€™t necessary and should be disabled, as it only adds unnecessary processing load. Disabling this feature will help improve platform speed and reduce system resource usage.


6
Remove Unused Drawing Objects and Indicators

Over time, charts can accumulate various drawing objects (such as trendlines, shapes, and text annotations) and indicators that are no longer needed. Even though these objects may seem small, each one consumes system resources. Having too many on a chart can slow down rendering times and affect the overall performance of calculations. To keep your platform running smoothly, itโ€™s important to periodically clean up unnecessary drawing objects and remove unused indicators.

Action: Itโ€™s a good practice to regularly clean up your charts by removing unnecessary drawing objects and indicators. For example, if you’ve drawn multiple trendlines but only need one, delete the extra ones to free up resources. To remove an indicator, right-click on the drawing object that you wish to delete and select "remove" from the context menu list This will help reduce the strain on your system and improve chart rendering and overall performance.


7
Restart NinjaTrader Daily

Over time, NinjaTrader’s database and active connections can become strained, which may lead to memory leaks or unexpected behavior, such as slowdowns or crashes. Restarting the platform can help resolve these issues by resetting the database and connections, much like refreshing a browser tab that’s been open for too long. Regularly restarting the platform can improve overall stability and performance, especially if youโ€™ve been running it for an extended period.

Action: Make it a habit to restart NinjaTrader at least once a day. To do this, simply close the platform and reopen it. This will refresh your connections, workspace, and database, helping to prevent issues like memory leaks or slowdowns. Restarting regularly ensures that the platform remains stable and performs optimally throughout the day.


8
Reduce Duplicate Instruments

NinjaTrader assigns each instrument to a separate CPU core to help ensure that if one chart freezes, it wonโ€™t affect the others. However, having multiple charts for the same instrument can still impact performance. This is because the platform needs to process the same data for each chart, which can increase the load on your system. To improve performance, itโ€™s best to avoid opening multiple charts of the same instrument unless absolutely necessary.

Action: To improve performance, avoid opening multiple charts for the same instrument. For example, if youโ€™re analyzing the ES (E-mini S&P 500), try using just one chart instead of three. If you need to view different timeframes, consider using a single chart with multiple data series instead of creating separate charts for each timeframe. This will reduce the processing load on your system while still allowing you to track multiple perspectives of the same instrument.


9
Clear Historical Data and Sim101 Account History

Over time, historical data and simulated trades can accumulate, leading to a larger database and a decrease in performance. For example, if you’ve been using the Sim101 account for several months, the trade history can grow significantly. This increase in data can slow down the platform, especially when accessing or processing large amounts of historical information. To maintain smooth performance, it’s a good idea to periodically clean up old trade data or adjust your settings to limit the amount of data stored.

Action: To keep your platform running smoothly, clear unnecessary historical data and Sim101 account history. You can do this by going to the Tools > Historical Data > Edit menu. For instance, if you no longer need data from 2022, you can delete it to free up space and reduce the load on your system. Similarly, if your Sim101 account trade history is no longer needed, consider resetting it to avoid it from accumulating and affecting performance.


10
Close Unnecessary External Applications

Other programs running on your PC, such as web browsers, email clients, or streaming services, can compete with NinjaTrader for system resources like CPU, memory, and bandwidth. This can lead to performance issues, especially if you have a demanding workspace with complex charts, indicators, or multiple data series. To improve NinjaTraderโ€™s performance, consider closing unnecessary programs while using the platform, particularly those that use significant system resources.

Action: To ensure smoother performance in NinjaTrader, itโ€™s a good idea to close any unused applications before launching the platform. For example, if you have 10 browser tabs open but only need 2, close the remaining tabs. This will free up CPU and memory resources, allowing NinjaTrader to run more efficiently without competing for system resources.

11
Limit Global Crosshair

Limiting the global crosshair in NinjaTrader is a key step for optimizing performance, particularly when working with complex charts or running multiple strategies. The global crosshair, which displays synchronized vertical and horizontal lines across all charts, can consume significant system resources as it requires constant updates and synchronization. This can lead to increased CPU and memory usage, slower chart rendering, and reduced responsiveness, especially during high-frequency trading or on lower-end systems. Additionally, the global crosshair can introduce latency, potentially affecting the speed and accuracy of automated strategy execution in fast-moving markets.

To improve performance, itโ€™s recommended to disable the global crosshair when running multiple charts or strategies, engaging in high-frequency trading, or using systems with limited resources. This can be done by accessing the Properties menu in the Chart or SuperDOM window and unchecking the Global crosshair option. By limiting the global crosshair, you can reduce system resource usage, minimize visual distractions, and ensure smoother operation, making it especially beneficial in demanding trading environments.

12
Clear NinjaTrader’s Cache

Clearing NinjaTrader’s cache regularly is an essential maintenance practice to ensure the platform runs smoothly and efficiently. Over time, the cache accumulates temporary data, which can slow down performance, cause lag, or lead to unexpected behavior. Additionally, cached data can sometimes become corrupted, resulting in errors, crashes, or display issues such as charts not loading correctly or indicators malfunctioning. Clearing the cache removes this stale or corrupted data, allowing NinjaTrader to rebuild it fresh and fetch the most up-to-date and accurate market information. It also helps free up disk space, which can be particularly beneficial if you use multiple workspaces or indicators. Furthermore, clearing the cache is a common troubleshooting step to resolve various issues, making it a simple yet effective way to maintain optimal performance. For these reasons, itโ€™s recommended to clear the cache regularlyโ€”every few weeks or monthsโ€”or whenever you encounter performance or display problems. By doing so, you can ensure a more reliable and efficient trading experience.

To clear NinjaTrader’s cache, you can follow the steps by clicking the link below:

How to clear NinjaTrader 8 cache

Was this article helpful?

Job Post Form Pop up

[mepr-membership-registration-form id="13707"]
[mepr-membership-registration-form id="13708"]
[mepr-membership-registration-form id="13633"]
[mepr-membership-registration-form id="13635"]
[mepr-membership-registration-form id="13634"]