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)




"Everything is working great ! Very impressive client. The news refreshes better and is more pertinent than the ******* feed I paid $ 100/month for. I Also like the charts a lot." - Comment from Leon
"Everything is working amazing now. I'm already impressed with the true-tick feed of IQFeed and it's ability to support my 480 symbol layout." - Comment from Tyler via Email
"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
"Thanks for the great product and support. During this week of high volume trading, my QuoteTracker + IQ Feed setup never missed a beat. Also, thanks for your swiftness in responding to data issues. I was on ******* for a few years before I made the switch over early this year, and wish I had done it a long time ago." - Comment from Ken
"I just wanted to let u know that your data feed/service is by far the best!!! Your unfiltered tick data is excellent for reading order flow and none of your competitors delivers this quality of data!" - Comment from Peter via Email
"It’s so nice to be working with real professionals!" - Comment from Len
"I just wanted to let you know how fast and easy I found it to integrate IQFeed into our existing Java code using your JNI client. In my experience, such things almost never go so smoothly - great job!" - Comment from Nate
"Very impressed with the quality of your feed - ******* is a real donkey in comparison." - Comment from A.C. via Email
"If someone needs the best quality data and backfill beyond what their broker provides at a rate that is the best in the industry, I highly recommend IQFeed." - Comment from Josh via Public Forum
"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
Home  Search  Register  Login  Recent Posts

Information on DTN's Industries:
DTN Oil & Gas | DTN Trading | DTN Agriculture | DTN Weather
Follow DTNMarkets on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
»Forums Index »Archive (2017 and earlier) »Data and Content Support »TCPIP History request - is it guaranteed to always return !ENDMSG! tag?
Author Topic: TCPIP History request - is it guaranteed to always return !ENDMSG! tag? (3 messages, Page 1 of 1)

sasha
-Interested User-
Posts: 54
Joined: Jul 21, 2004


Posted: Oct 9, 2004 08:21 AM          Msg. 1 of 3
Sometimes when requesting historical data it does not return anything - or at least doesn't appear to return anything. Maybe its still processing a very long query or simply rejected the request based on invalid parameters, but there is no immediate indication that the request is either in progress or abandoned.

I think any delay is most likely a very long running query such as 8 days of ticks for QQQ for example. But a few times I got the feeling the that it had ignored the request and maybe because it was running this after hours during some backend data processing period.

Will the !ENDMSG! tag always be sent back - regardless of whether the history request was valid/invalid or completed successfuly/unsuccessfuly?

Otherwise, what are the alternatives?

I wouldn't consider a timeout to be a valid option - this is so subjective and only puts more load on your end after getting frustrated and re-requesting until either something comes back, the DTN server gets upset or the user gives up and calls DTN tech support.

Lets say a 60sec timeout is long enough in most cases but today it takes on average 80sec to complete the request. So I keep aborting and re-requesting because the system is almost ready to send data back not knowing I just had to wait a few more seconds.

After how many failed re-tries should this become a problem warranting a call to DTN tech support?

Hopefully you can see how subjective this is without any immediate response - if it is even possible to provide an immediate response?

I'm just asking for info in understanding if I will always be guaranteed a !ENDMSG! tag regardless? In other words, sit tight and keep waiting....

Hmmm, now what is a sensible timeout...How can I distinguish between queries that take 60sec to return and queries that take 600sec to return something?
Edited by sasha on Oct 9, 2004 at 08:24 AM

David
-DTN Evangelist-
Posts: 113
Joined: May 7, 2004

I'd rather be...


Posted: Oct 10, 2004 05:21 PM          Msg. 2 of 3
Quote: Will the !ENDMSG! tag always be sent back - regardless of whether the history request was valid/invalid or completed successfully/unsuccessfully?


This issue has been a recurring one for me too. I do have time-outs, or did have until I discovered another anomaly the knowledge of which may help others.

There are times that the return data comes back much delayed. If you have a time out and do a re-request there is a very good chance that you will see some 'interesting' data - IQConnect will return all requests interleaved if you use the same socket for the requests.

This behavior has caused me to waste a lot of tem in debugging an overnight backfill of historical data - I schedule an update around 3:OAK if the program runs overnight. (in an attempt to minimize server load) In my case, I did not do a re-request if no response for a request, but went to the next issue that needed historical data updates. Once one issue got out of the queue, then almost all of the subsequent retrievals came back with the data interleaved. Not a pretty picture... and not a systematic one so took a long time to catch the problem.

While I have not proven to myself that ENDMSG does not come back at all times, I am highly suspicious that it does not. I do not think IQConnect is 'smart' enough to make sure that the loop is closed for requests that are supposed to return data in some form.

Three issues here:
1.0 There is no confirmation from the client that a request has occurred. This is true for all requests except for the initial login sequence which has the appearance of a dialog There is not an abort or time-out message from the client if there is a time-out of the data server-side, unless one gets the 'data not available' with the first query. (that does comes back fast)

2.0 In the returned historical data, there is no ID in the data identifying it with the request. I have no issues with interleaved data as long as each record has an ID. It does not have to be the stock symbol, a simple token would be fine, maybe one that is embedded in the request so that the caller can track his own entries.

3.0 Historical data should come back in a serial sequence - if there happens to be a second requests that get sent before the first finishes the data for it should queue and follow the first (for the same port)

David

IQXP Software
http://www.iqxp.com

LiveWire Update Service
PO Box 1417
Fairfield, IA 52556
641-472-8393
http://www.livewire-cablesoft.com/

sasha
-Interested User-
Posts: 54
Joined: Jul 21, 2004


Posted: Oct 16, 2004 09:16 PM          Msg. 3 of 3
Thank you David for offering your experiences. This is very helpful to know.

I agree with resolving all the issues you mentioned.

In the mean time I can only think of opening up something like a pool of 50 socket connections and keeping state of successful and unseccessful requests/sockets (one request per socket) and booting the sockets that timeout/hang.
 

 

Time: Sun May 19, 2024 7:57 AM CFBB v1.2.0 10 ms.
© AderSoftware 2002-2003