- ago
Hello,

During Interactivebroker data update a strategy is "stuck". See attached image.

Scenario:
1. SPY InteractiveBroker data was updated for the 30-minute timeframe. in fact, all the 30-min dataset was updated.
2. Start an InteractiveBroker update for the same dataset but for 15-minute.
3. Switched to C# strategy clicked on a symbol (SPY or otherwise, all up-to-date) and it's "stuck" as you can see. It would not matter if I pick SPY or another security.
4. Only at the end of the 15-min update will the strategy unfreeze.

Please note that the data for the strategy, in this case, 30-min SPY, was already available and updated before the new, 15-min update. InteractiveBroker is the only streamer provider.

0
475
Solved
11 Replies

Reply

Bookmark

Sort
Cone8
 ( 7.51% )
- ago
#1
Streaming isn't a factor in the Strategy Window. It looks like the IB provider was still requesting data for SPXL - you can see it's still doing batch 5 from [probably] a previous run.

We can work on it, but once the requests start, it's not easy to abort the process. IB is SLOW to return data when you start requesting a lot of it. At least for now, wait until your previous requests complete.
0
- ago
#2
Well, the issue is not streaming or IB at all.
As I indicated, all the data needed for the strategy was downloaded and available on the disk. The 30-min strategy and the available data. So, the strategy should have been able to find the data on disk and work with it. without waiting for the streamer.
0
Cone8
 ( 7.51% )
- ago
#3
Stream, Streaming, Streamer are all the wrong words.

The IB Historical Provider, what you're using, does not support parallel requests. If it's busy getting data for another symbol (like in your image), it can't respond to a new request. In other words, requests for data are synchronous.

... and we can't allow the IB Provider to support parallel requests because as soon as too many API requests occur within 1 minute, IB will cut you off.
0
- ago
#4
With respect, you are missing the point. Please read the original description.

ALL the data the strategy needed ALREADY was downloaded!
1. The dataset was synced with IB on the 30-minute timeframe
2. The strategy was set to 30 minutes - see picture above.
3. When I ran the strategy ALL the data was ALREADY on the disk.

I requested 15-minutes data, which, is not related to the strategy and should not have blocked it. Because the data the strategy needed was already on the disk.
0
- ago
#5
You have to enable Offline Mode to avoid WL7 from issuing data update requests for the IB provider altogether. Otherwise it makes a decision whether the data is really up to date or not (which is supposedly the case).
0
- ago
#6
Well, that's a bug.
Because it should be able to find out if it's up to date. Especially since it was not during trading hours.
0
Cone8
 ( 7.51% )
- ago
#7
I know you think I'm missing the point, but really I get what you're saying. Nobody wants to wait even 2 seconds for data.

Intraday data is not considered downloaded even outside of market hours. Even though you have "Filter market hours", data outside of regular market hours is still requested and downloaded.

But that isn't even the problem here. What you don't want to hear again is that the IB Historical Provider cannot respond to multiple simultaneous requests, and it was busy with a previous request. This is a design limitation required by IB's API, which in their own words:

Although Interactive Brokers offers our clients high quality market data, IB is not a specialised market data provider and as such it is forced to put in place restrictions to limit traffic which is not directly associated to trading.

See for yourself:
https://interactivebrokers.github.io/tws-api/historical_limitations.html

If you want a lot of intraday data, fast, with parallel updates, consider an IQFeed Subscription.
0
- ago
#8
I feel like we speak Chinese and Japanese......

ALL the data the strategy needed was already downloaded to the disk. There is NO need for the strategy to even say HI to IB....

All these discussions about the limitations of IB have nothing to do with anything.

The software should be smart enough to say:

1. Before I ask IB to update, let me check if it's already available to me,
2. If yes, walla! I'm in heaven! I am good to go! I could be even without any internet connection...
. No need for IB, no need for IQFEED, no need for any connection...

It's even easier when not during trading hours. Which was the case.

If the software tries to download data it already has or even talks to the connector - then that software needs an update...

I hope this, clarifies the issue once and for all and that you'd understand how to remedy it. Otherwise, I am not sure how else to explain.


1
Best Answer
Cone8
 ( 7.51% )
- ago
#9
QUOTE:
I am not sure how else to explain.
Me neither.
0
- ago
#10
Why does the software download the data in the first place to the local disk? So it can access it faster and not have to wait every time.
Right?

The strategy is set to 30 minutes and all the 30-min SPY data was available on the disk. Why the strategy has to wait??? It can access it from the disk.
The IB was busy with the 15 minutes data from the dataset window. The strategy was set to 30 minutes. The time was outside trading hours.

Cone - can you explain why it needs a connection to a feed/streamering data??
0
Cone8
 ( 7.51% )
- ago
#11
1. It doesn't matter if all the data for SPY was already on the disk, because...

2. the data adapter was already doing something that you couldn't interrupt - it was "Loading SPXL batch 5".

3. When it finished collecting data for SPXL, the adapter would have immediately responded with the data for SPY.

The IB adapter can only return data synchronously for one symbol at a time. FIFO. If you request data for A, B, and C, in that order, C will have to wait for B, which has to wait for A.
1

Reply

Bookmark

Sort