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)




"If you are serious about your trading I would not rely on IB data for serious daytrading. Took me a while to justify the cost of IQ Feed and in the end, it's just a 2 point stop on ES. Better safe than sorry" - Comment from Public Forum
"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
"Can I get another account from you? I am tired of ******* going down so often" - Comment from George
"I was with ******* for 4 years at $230 a month, this is a huge savings for me, GOD BLESS YOU PEOPLE," - Comment from T.S. via Email
"If you want customer service that answers the phone, your best bet is IQFeed. I cannot stop praising them or their technical support. They are always there for you, and they are quick. I have used ****** too but the best value is IQFeed." - Comment from Public Forum
"Awesome response, as usual. It is a sincere and refreshing pleasure to do business with DTN, compared to your competition." - Comment from Ryan
"I'm very glad I switched to IQFeed. It's working perfectly with no lag, even during fast market conditions." - Comment from Andy via Email
"This is an excellent value, the system is generous (allowing for 500 stocks) and stable (and really is tick-by-tick), and the support is fantastic." - Comment from Shirin via Email
"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
"The service is great, I see a noticeable improvement in my volume profiles over [broker]'s data feed" - Comment from Larry
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: Mon May 13, 2024 1:13 PM CFBB v1.2.0 12 ms.
© AderSoftware 2002-2003