IBProvider retrieves historical and realtime data from TWS for use in Wealth-Lab charting, but Interactive Brokers is not a self-proclaimed data provider and they have limitations on the amount of data that you can request.  If you request too much data or request it too quickly with API clients like IBProvider, you’ll get cut off.

How fast is too fast and how much is too much data?  See the API Documentation here

If you need to watch more than 20 symbols, do yourself a favor and use a true data provider for that (Wealth-Lab connects to IQFeed, for example).  On the other hand, if you’re only trading a handful of stocks, futures, and forex symbols, then IBProvider data may be all you need!

Static Provider

Getting a lot of data from IB is a complicated (for IBProvider) because it has to break up the requests into a bunch of small ones and then you have to wait…too long.  Each request adds to the “too much/too fast” counter, and just trying to get all the data available for a few intraday stock symbols would probably lock you out of accessing more data.  Because of this limitation, data support is currently limited to on-demand (and streaming) charts.  Wealth-Lab’s Strategy Monitor and Data Manager Updates are not currently supported.

If there’s demand for it, I can work on a way to get more history into Wealth-Lab, but for now initial backfill is limited with the amount depending on the bar scale as shown below.  Of course, this just represents the starting amount of history and will increase with data updates.

Bar Scale            Max History
Daily                8 years
30 min               150 days
15 min               50 days
5 min                25 days
3 min                10 days
1 min                5 days
History for futures/options contracts

IBProvider is smart enough to request data for old futures or options contracts up to their expiration date.  You should be able to get data for contracts up to 2 years (maybe 3 years) old.  To get data for old contracts, make sure you’ve entered the appropriate contract data in symlo.txt, and then update with the Data Manager or use an on-demand chart with “All Data” selected.

IBProvider attempts to collect up to 3 1/2 months of history for futures and options contracts, and this requires a good amount of time (10 minutes per symbol for 1 minute bars).  Be very patient after requesting a futures symbol for the first time in an on-demand intraday chart!

IB does not provide data for a continuous contract, but splicing contract data together could be another project for IBProvider in the future.

Market Manager Integration

By default, all symbols are treated as U.S. stocks that open at 0930 EST and close at 1600 EST.  Enable IBProvider (IB) in Wealth-Lab’s Market Manager and create the appropriate entries for your markets and symbols.  If you fail to do that, you won’t see the data that you might expect to see on the chart.

For example, you might want to create a “Globex-Cash” market and enter 12:00:00AM for the session open and 11:59:59PM for the session close. This market would contain symbols like, ESZ6, ESZ7, EUR.USD, EUR.GBP, etc., which are also defined in the symlo.txt file.  See Wealth-Lab’s Market Manager wiki page for all the details.

Streaming Provider

IBProvider supports streaming for Wealth-Lab quotes and charting.  Make sure to put a check mark next to “IB” in WLD Preferences | Streaming Data.

Note that IB does not provide tick-by-tick data to API Clients, so instead of getting every single tick in the market, real time data is provided as snapshots generated at a fixed pace, generally every 250 ms. Real time snapshots aren’t necessarily such a bad thing as snapshots could prevent a good number of data spikes from popping up in live charting.

Streaming chart in Wealth-Lab
Are you ready to do this?