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)




"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 noticed that ******* quotes locked up shortly after the interest rate announcement yesterday while yours stayed stable." - Comment from Ron in Utah
"I was on the phone with a friend who uses CQG and right after the Fed announcement, CQG was as much as 30 seconds behind DTN.IQ. Some quotes were off by as much as 15-18 cents. Your feed never missed a beat." - Comment from Roger
"I started a trial a few weeks back before the market went wild. DTN.IQ didn’t miss anything and beat my other provider. I decided to stay with you because of the great service through all the volatility." - Comment from Mike
"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
"This beats the pants off CQG, I am definitely switching to the ProphetX 3.0!" - Comment from Stephen
"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
"Thank you so much - awesome feed, awesome service!" - Comment from Greg via Email
"IQFeed version 4 is a real screamer compared to anything else I have seen." - Comment from Tom
"I will tell others who want to go into trading that DTN ProphetX is an invaluable tool, I don't think anyone can trade without it..." - Comment from Luther
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: Fri May 3, 2024 9:29 PM CFBB v1.2.0 8 ms.
© AderSoftware 2002-2003