When does NinjaTrader load historical data?

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:

1.

The End date parameter of the Data Series window contains the current day

2.

The End date parameter of the Data Series window contains the last day of data available in your data repository

3.

The data repository contains no data within 3 days of the first day loaded in the chart

What historical data is loaded from provider?

Examples of when NinjaTrader will fetch data if the data repository contains data from 1/2/14 to 1/5/14 and the current date is 1/6/14:

1.

Chart of 1/2/14 to 1/6/14 -> load data request for 1/6/14, use data stored in data repository/cache for other dates

2.

Chart of 1/2/14 to 1/5/14 -> load data request for 1/5/14, use data stored in data repository/cache for other dates

3.

Chart of 1/2/14 to 1/4/14 -> use data stored in data repository/cache for all dates

4.

Chart of 12/27/13 to 1/4/13 -> load data request for all dates

Expanded example for a more detailed explanation:

Historical tick data in the repository from 12/1/2013 until 1/1/2014 2:00 PM

Historical minute data in the repository from 1/1/2013 until 1/1/2014 2:00 PM

Historical daily data in the repository from 1/1/2013 until 1/1/2014

Today is the 1/2/2014 9:00 AM and the Trading Hours Template is "CME US Index Futures ETH"

Scenario

Requested from Local Repository

Downloaded From Provider

1 tick chart 3 days back with end date of today

12/31/2013 7:00 PM to 1/1/2014 2:00 PM

1/1/2014 2:00 PM to 1/2/2014 9:00 AM

1 minute chart 5 days back with end date of today

12/29/2013 7:00 PM to 1/1/2014 2:00 PM

1/1/2014 2:00 PM to 1/2/2014 9:00 AM

1 day chart 365 days back with end date of today

1/2/2013 to 1/1/2014

2/1/2014

Critical: All NinjaTrader historical data requests are handled using calendar days format, please keep this in mind when for example interpreting loading results that include weekends or holidays periods where the may be no actual data - the affected calendar day would still be counted as a 'day' in the request.

The NinjaTrader cache and speeding up the loading of data

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:

1.

Open and maintain a chart of any time frame containing the instrument

2.

Load the instrument into a Market Analyzer window along with an indicator column

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.