Historical Data Limitations

Top  Previous  Next

Limitations on Number of Bars

Interactive Brokers restricts the amount of historical data that may be requested.  Interactive Brokers limits historical data requests to no more than one full calendar year.


Multiple Requests for the Same Data

In addition to limiting the total amount of historical data that can be requested, Interactive Brokers forces the request to be made in multiple small "chunks" of data.  ChaosHunter Trader translates your historical data requests into small chunks that Interactive Brokers requires.  The requests for  data cannot be made too frequently, or else Interactive Brokers will stop the historical data request.  If this occurs, a "pacing violation" error message will be displayed in the Messages from IB tab in the IB Trader Workstation Data Display.  One of the error codes and messages that indicates a pacing violation is:


162 - Historical Market Data Service error message: Historical data request pacing violation


The occurrence of this error means that Interactive Brokers has stopped the ChaosHunter Trader from loading historical data. The error is more likely to occur during peak periods.


If you receive a pacing violation from Interactive Brokers, you may have to instruct the ChaosHunter Trader to request data less frequently.  You do that in the ChaosHunter-Trader options menu by increasing the pacing delay to 2 or 3 seconds or more during peak periods.   Longer delays make less of a demand on the Interactive Brokers servers and increase your chances of getting the data you want without getting an Interactive Brokers pacing violation.  Because server demands vary, you may have to experiment with this number.


Reloading Data

If you attempt to reload data too frequently, you may see the following error message:


420 - Invalid Real-time Query:  Historical data request pacing violation


The result is that the real time data feed for the chart is stopped.  You should wait at least 10 to 15 seconds before attempting to reload data after a previous attempt.