Join the 80,000 other DTN customers who enjoy the fastest, most reliable data available. There is no better value than DTN!

(Move your cursor to this area to pause scrolling)

"I'm satisfied with IQFeed. It's the most reliable and fastest quote feed I have ever used. Although I'm a resident in China, it's still very fast!" - Comment from Xiaofei
"Previously I was using *******. IQFeed is WAY more economical, and for my charting needs is just as good, if not better." - Comment from Public Forum Post
"Version has been working well for me and I appreciate that it is now a much tighter client to work with. I feel I can go to press with my own application and rely on a stable platform" - Comment from David in IA.
"With HUGE volume on AAPL and RIMM for 2 days, everyone in a trading room was whining about freezes, crashes and lag with *******, RealTick, TS and Cyber. InvestorRT with IQFeed was rock solid. I mean SOLID!" - Comment from Public IRC Chat
"I like you guys better than *******...much more stable and a whole lot fewer issues." - Comment from Philip
"I have to tell you though that using the IQFeed API is about the easiest and cleanest I have seen for some time." - Comment from Jim
"Just a thank you for the very helpful and prompt assistance and services. You provided me with noticeably superior service in my setup compared to a couple of other options I had looked at." - Comment from John
"I ran your IQFeed DDE vs. my broker vs. a level II window for some slow-moving options. I would see the level II quote change, then your feed update instantaneously. My broker's DDE, however, would take as much as 30 seconds to update. I am not chasing milliseconds, but half a minute is unacceptable." - Comment from Rob
"You are much better than lawyers or the phone company because you answer the phone when I call! I just love your customer service." - Comment from Isreal
"Boy, probably spent a thousand hours trying to get ******* API to work right. And now two hours to have something running with IQFeed. Hmmm, guess I was pretty stupid to fight rather than switch all this time. And have gotten more customer service from you guys already than total from them… in five years." - Comment from Jim
Home  Search  Register  Login  Blogs Recent Posts

Information on Various DTN Products:
DTN IQFeed | DTN ProphetX | DTN Ag | NxCore
Follow DTN_IQFeed on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
»Forums Index »Product Support »DTN.IQ Client Software Support »Streaming Interval Bars - Replaced Previous Watch
Author Topic: Streaming Interval Bars - Replaced Previous Watch (3 messages, Page 1 of 1)

-Interested User-
Posts: 3
Joined: Oct 29, 2017

Posted: Oct 29, 2017 10:09 PM          Msg. 1 of 3
I am just starting to use the streaming interval bars. I plan on streaming bars on multiple securities with each security having multiple different intervals (example: 1 min bars, 5 min bars, and 15 min bars - all on the same symbol).

The documentation states that a "S,REPLACED PREVIOUS WATCH,[Symbol],[RequestID]" message may be returned. Under what circumstances will a previous watch be replaced? That is, what fields in the request must match for it to replace a previous request (Symbol, Interval, IntervalType, BeginFilterTime, EndFilterTime, ...)?

Also, the documentation is not clear if the RequestId is the previous RequestId or the new RequestId (it would actually be nice to have both values returned). In fact, the RequestId should be on the SYMBOL LIMIT REACHED and the INVALID PARAMETERS FOR REQUEST messages also - so, that you can accurately associate the message to the request.

One last question - what is the use for Update Interval? Does it delay the sending of a bar - or, does it do something such as updating a 1 min bar every 15 seconds?


DTN_Tim Walter
-DTN Guru-
Posts: 1130
Joined: Apr 25, 2006

Posted: Oct 30, 2017 11:14 AM          Msg. 2 of 3
Streaming bars can only handle one interval per symbol, so multiple connections to the derivative port will be needed to achieve what you are looking for. That is the reason for the replacement, any BW on a symbol that has already been watched will be a replacement.

With multiple connections, one per interval you can have the different ids that you are looking for. I'll note the request for the error to include the RequestID.

We have no guaranteed way to know a bar has completed, except to receive a trade that is outside of the current interval. That is when a BC bar is sent. But, if there is an hour between trades, then you end up waiting for an update that you may need. So a time based update is the alternative to that.

By setting a interval of x seconds you will always get an update or a complete message within x seconds of the last trade.

What that means to you is that if a BU message is received you can update your app with it, but you should expect to either receive further BU messages or a BC message and you will need to update the interval with each.


DTN_Tim Walter
-DTN Guru-
Posts: 1130
Joined: Apr 25, 2006

Posted: Oct 30, 2017 11:51 AM          Msg. 3 of 3
I was incorrect regarding the replace. I never use request IDs in my code, so I never realized this, but when you send two watches with empty request IDs, say BW,GOOG,1 and BW,GOOG,5, it replaces the first. hence my answer.

However, it is actually the duplicated requestID that is replaced. So if you sent two watches with two requestIDs
BW,GOOG,15,,,10,,,GOOG15,,,1 and
that does work fine. So you can do everything in one socket.

So given that, each requestID should be unique in the system, and is only replaced when duplicated, I think this also takes care of the second question.

Sorry for my confusion.



Time: Fri March 23, 2018 9:14 PM CFBB v1.2.0 15 ms.
© AderSoftware 2002-2003