NinjaTrader loads data from your data provider whenever it determines it could potentially not have all the data pertaining to the requested time period.
NinjaTrader will load data when:
Examples of when NinjaTrader will fetch data if the database contains data from 1/3/08 to 1/6/08:
To minimize the need to load data and to speed up chart load times, NinjaTrader maintains an internal cache of your prior accessed data. When data is in this cache, NinjaTrader will use it to populate your charts instead of loading from your data provider. There are two ways to ensure that the internal cache contains data for your instrument of interest.
The Market Analyzer option is not as viable since it only maintains a 100 bar cache as a default setting that can be changed. Since 99% of all charting requests consist of much more than 100 bars, they will most likely incur a data load.
Note: The internal cache is managed by the .NET framework so it is unpredictable when the .NET runtime will clear it. In most cases, as long as you have at least one chart of your instrument open, the instrument’s data cache will persist.