Kyle_Springtech
-Interested User-
Posts: 6
Joined: Oct 4, 2022
|
Posted: Oct 4, 2022 08:46 AM
Msg. 1 of 4
So yesterday I was testing the speed of Streaming 5-second Interval Bars for the symbol "@ES#" and recorded that it took an average of about 320 milliseconds for my computer to receive the 5-second interval bar after the top of the 5-second interval. There is some variability in that amount of time after the top of the 5-second interval. The largest amount I recorded was 997 milliseconds. I was using the StreamingBarsSocket project of the C# solution example in visual studio found here: http://www.iqfeed.net/dev/api.cfmI was wondering where that time delay is coming from. Is that example project inefficient? Is the time delay coming from the amount of time it takes your system to compile/generate the 5-second Interval Bar? Is the market itself having to wait for certain trades to "complete"? Any help is appreciated, Kyle
|
DTN_Gary_Stephen
-DTN Guru-
Posts: 403
Joined: Jul 3, 2019
|
Posted: Oct 4, 2022 10:45 AM
Msg. 2 of 4
Kyle,
DTN does not maintain standards for how long a request "should" take. Transaction time can vary a great deal, depending upon your own internet connection, how much data you're requesting at once, how busy the markets are, and other factors.
Also, when it comes to the streaming interval bars, there is a relevant parameter called Update Interval. If this is set to 0 (or left at default), then a bar will not be closed until a tick after the bar has occurred. If you're doing one minute bars, the BC (bar complete) message for the bar ending at 10:00 o'clock will not be sent until a tick after 10:00:00 occurs. This can make BC messages appear to take longer to arrive. If you set update interval to one second or any amount of time that isn't 0, you will receive a BU (bar update) message anytime a change to the bar happens that has not already been sent. This will ensure that you always have the most recent information, even if a BC message has not been sent yet.
I hope this information is helpful!
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist Edited by DTN_Gary_Stephen on Oct 4, 2022 at 10:45 AM
|
Kyle_Springtech
-Interested User-
Posts: 6
Joined: Oct 4, 2022
|
Posted: Oct 4, 2022 10:50 AM
Msg. 3 of 4
I did not know about the update interval component. I believe that will help greatly for what I'm trying to accomplish.
Thanks for the help, Kyle
|
DTN_Gary_Stephen
-DTN Guru-
Posts: 403
Joined: Jul 3, 2019
|
Posted: Oct 5, 2022 07:59 AM
Msg. 4 of 4
When you set the update interval to anything above 0, you will get more BU messages. A BU message is an update to the bar, which does not necessarily mean the bar is complete. A BC message tells you that the bar is complete, but as I said, it will only appear once a tick after the bar has occurred (which may not be immediate, especially for less-frequently traded symbols). But you can watch the BU messages, and compare them to the time to know that a bar has passed without having to wait for the BC message.
By the way, BU messages can also appear when a past bar is updated, usually because a tick has been updated and this changes the bar totals in some way.
Sincerely, Gary Stephen DTN IQFeed Implementation Support Specialist
|
|
|
|