How to trigger live market data request with IB data plugin?

I must be missing something simple. My database is setup with the IB data Plugin:

  • 5 second base interval
  • Show day session only
  • Intraday trading hours 09:30 - 16:00
  • Backfill RTH only
  • Disabled auto backfill on first data access

My desired behavior for the plugin is to request and capture streaming quotes for all symbols in the database during the trading day from 9:30 to 16:00 while I am away from the computer. For now, I have only 4 symbols in the database (SPY, QQQ, IWM, DIA).

When I leave AmiBroker running unattended and idle, the streaming market data is not captured.

What do I have to do to cause the plugin to request and capture the streaming data (reqMktData) for all the symbols in the database?

https://www.amibroker.com/guide/w_rtquote.html

Aren't your symbols added to the RTQ window? this will capture market data continuosly or did i not understand your post correctly.
There might be a cap on the number of symbols though.

OR, you could setup a dummy Analysis ( Exploration) that auto-runs periodically, this would keep all your symbols loaded.

2 Likes

@travick Thank you, you were right, I needed to add the tickers to the Real Time Quote window .

1 Like

Looking at this further, I'm still not seeing streaming quotes persisted to the local database for all symbols. The quotes do correctly appear in the Real Time Quote window for all symbols. However the quotes are only written to the database for the symbols that are displayed in a chart. Is this the expected behavior?

Thank you for the suggestions, @travick

In order to fully automate getting IB data (1 minute bars in my case)

  1. one has to manually select "Backfill All RTQ symbols" or is there a function for this option that I missed? http://www.amibroker.com/at/
  2. when I have "automatic backfill on first data access" enabled, length set to 5 days, and run a dummy Exploration for all symbols, it works but not dependably. I had to make the Exploration get a lot of data rows per each symbol, spending enough time so that a backfill per symbol completes. If the Exploration is quick, then not all symbols get a backfill (as backfills are one at the time and sequential). Is there a better more dependable way?