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
Viewing User Profile for: simon33
About Contact
Joined: Apr 9, 2005 10:17 PM
Last Post: Oct 21, 2008 03:16 PM
Last Visit: Oct 21, 2008 03:16 PM
Location: Austin, Texas
Occupation: Software developer
Yahoo IM:
Post Statistics
simon33 has contributed to 28 posts out of 21240 total posts (0.13%) in 7,038 days (0.00 posts per day).

20 Most recent posts:
IQFeed Developer Support » Bad historical data on Oct 21, 2008 03:16 PM (Total replies: 2)

That is exactly what happened (I was having the issue on my development machine). I modified the hosts file and volia. I had forgotten about that.

Thanks again!

IQFeed Developer Support » Bad historical data on Oct 21, 2008 08:03 AM (Total replies: 2)

I have two machines I use to connect to IQFeed. They always seem to be 'sticky about which IP they connect too and both act differently. One always seems to connect to and I get good historical data. The other seems 'sticky' on and I consistently get messages '!ERROR! Invalid symbol.' A test symbol that gives this error is 'SPX.XO'. The registry settings on both machines appear to be the same and I can not find where the sticky IP comes from. They are both running

So two questions:
1. Why am I getting these invalid symbols on *.150 and not *.116?
2. How can I change the IP I connect to?

BTW, I do not use the feed on both computers at the same time.

I checked the registry and all entries on both machines are the same with one exception: there is a key that exists on the good machine called showIDDMOTD=0 that is not in the other registry. Does this matter? Also, I looked in the event viewer on the machine and didn't see any events for 'applications'

If you didn't mean the registry settings, can you explain more about modifying the IP/Port settings. I'm rather technical (I'm a programmer) so you don't have to be exhaustive.

Thanks in advance.

I have IQFeed on two machines. One connects and works perfectly. The other throws this error in the logs. "Connect failed. WSAGetLastError = 10049". I have compared the registery and the entries are the same. One thing I did see differently is that when I connect on the good machine, its on port 60020, on the bad machine its port 5002.

Here is more of the log:
FROM CLIENT (ADMIN)=2008-09-09 23:37:09: REGISTER_CLIENT_APP1 IQFEED_DEMO 1.0 0.11111111
TO CLIENT (ADMIN)=2008-09-09 23:37:09: 1
STATUS (LOOKUP)=2008-09-09 23:37:10: SOCKET ACCEPTED
FROM CLIENT (LOOKUP)=2008-09-09 23:37:10: HD,SPX.XO,600
IQConnect (CHistoryLookup::SendDayRequest)=2008-09-09 23:37:10: Connect failed. WSAGetLastError = 10049
TO CLIENT (LOOKUP)=2008-09-09 23:37:10: !ERROR! Could not connect to History socket.

IQFeed Developer Support » Historical Data Concerns May 28, 2008 02:12 PM (Total replies: 3)

This turns out not to be a DTN issue, but an issue on my side. I was not calling disconnect on my side to allow the socket to reset before issuing another command.

Thanks to the dev staff though for the quick response.

IQFeed Developer Support » Historical Data Concerns May 28, 2008 10:24 AM (Total replies: 3)

Historical data concern

I'm very concerned about some of the historical data I am getting back lately.
Specifically, if I issue the command HD,WPD,30; I get back 29 lines of data.
However, if I am looping through multiple stocks (60) and doing updates, I get only 10!

I am using the same call, etc and the only thing that I can account for is
that I am call DTN several times rather than just once.

I should mention that I am using TCP/IP historical calls via Java.
My DTN version is

Thanks in advance,

Here is what I am getting back on a single call:

-------- RAW DATA RETRIEVED FROM IQFEED (Date, Time, High, Low, Open, Close) -------------------
IQFeed command=[HD,WPD,30;]

. . .f [2007-04-23 10:05:44,25.21,25.20,25.21,25.20,1400,0]
. . . 2007-04-20 10:05:44,25.13,25.01,25.01,25.13,10400,0
. . . 2007-04-19 10:05:44,25.05,25.02,25.04,25.03,4700,0
. . . 2007-04-18 10:05:44,25.05,24.99,25.00,25.04,6100,0
. . . 2007-04-17 10:05:44,25.03,24.98,25.02,25.00,7100,0
. . . 2007-04-16 10:05:44,25.03,24.98,25.03,25.03,7300,0
. . . 2007-04-13 10:05:44,25.02,24.98,25.02,25.02,20300,0
. . . 2007-04-12 10:05:44,25.00,24.97,24.98,25.00,10600,0
. . . 2007-04-11 10:05:44,24.99,24.96,24.96,24.97,6900,0
. . . 2007-04-10 10:05:44,24.99,24.96,24.97,24.96,15100,0
. . . 2007-04-09 10:05:44,24.99,24.94,24.95,24.99,14700,0
. . . 2007-04-05 10:05:44,24.97,24.93,24.93,24.97,6900,0
. . . 2007-04-04 10:05:44,24.97,24.93,24.94,24.95,12500,0
. . . 2007-04-03 10:05:44,24.98,24.92,24.95,24.92,12400,0
. . . 2007-04-02 10:05:44,24.99,24.94,24.97,24.94,13200,0
. . . 2007-03-30 10:05:44,24.97,24.93,24.94,24.97,8800,0
. . . 2007-03-29 10:05:44,24.97,24.93,24.95,24.93,12000,0
. . . 2007-03-28 10:05:44,24.98,24.88,24.96,24.95,38200,0
. . . 2007-03-27 10:05:44,25.36,25.31,25.32,25.34,17100,0
. . . 2007-03-26 10:05:44,25.36,25.30,25.35,25.32,33100,0
. . . 2007-03-23 10:05:44,25.34,25.32,25.32,25.32,23000,0
. . . 2007-03-22 10:05:44,25.38,25.32,25.37,25.33,21200,0
. . . 2007-03-21 10:05:44,25.39,25.33,25.34,25.34,10600,0
. . . 2007-03-20 10:05:44,25.35,25.33,25.34,25.34,8700,0
. . . 2007-03-19 10:05:44,25.35,25.33,25.33,25.33,3100,0
. . . 2007-03-16 10:05:44,25.36,25.33,25.34,25.33,2800,0
. . . 2007-03-15 10:05:44,25.36,25.33,25.36,25.33,2900,0
. . . 2007-03-14 10:05:44,25.35,25.31,25.32,25.34,5200,0
. . . 2007-03-13 10:05:44,25.34,25.30,25.31,25.31,10500,0
. . . 2007-03-12 10:05:44,25.36,25.30,25.35,25.30,8800,0
. . .
. . . get symbol WPD complete. Time=[571]

Here is what I am getting back on a multi call:

-------- RAW DATA RETRIEVED FROM IQFEED (Date, Time, High, Low, Open, Close) -------------------
IQFeed command=[HD,WPD,30;]

. . .f [2007-04-23 10:05:41,66.20,65.01,65.10,66.10,111600,0]
. . . 2007-04-20 10:05:41,65.22,64.30,64.30,65.12,180600,0
. . . 2007-04-19 10:05:41,64.30,63.25,63.34,64.27,55500,0
. . . 2007-04-18 10:05:41,64.09,63.60,64.01,63.70,66300,0
. . . 2007-04-17 10:05:41,64.45,63.73,63.87,64.14,111100,0
. . . 2007-04-16 10:05:41,64.33,63.82,64.05,63.89,74300,0
. . . 2007-04-13 10:05:41,64.22,63.87,64.00,64.05,23900,0
. . . 2007-04-12 10:05:41,64.10,63.75,63.90,63.85,37400,0
. . . 2007-04-11 10:05:41,64.40,63.60,64.29,64.01,87400,0
. . . 2007-04-10 10:05:41,64.57,64.18,64.49,64.43,64500,0
. . . 2007-04-09 10:05:41,64.75,64.25,64.55,64.49,55700,0
. . .
. . . get symbol WPD complete. Time=[460]

I use Visual Studio as well as Java IDEs (eclipse, JBuilder, JDeveloper) and it really comes down to the programming language you want to use. Back when we started developing our application (2002) the clear choice for us was Java. But C# has come a long way since then. I can say that we have almost no issues with the Java IQFeed package. That said, if your a professional programmer (I am as are my colleagues), you should be fine.

On a related note, if I was starting out all over again, I might choose to write my application on top of the TradeStation platform. Last time I checked they had integrated the datafeed and the broker. You can also write plugins to handle your business logic.

Finally, I sure would like to go more toward the path of 'open source' on this thread. I find way too many people unwilling to share knowledge in the area of stock trading.

IQFeed Developer Support » Error returning HD Historical via TCP/IP Jul 31, 2007 12:15 PM (Total replies: 4)

Rebooting my router *fixed* whatever issue this was. Thanks for your response, I consider this issue resolved.

IQFeed Developer Support » Error returning HD Historical via TCP/IP Jul 30, 2007 02:12 PM (Total replies: 4)

Still happening for all symbols. I just put GM there since they are a huge company.

IQFeed Developer Support » Error returning HD Historical via TCP/IP Jul 29, 2007 10:04 PM (Total replies: 4)

Hello since Thursday I have had a very strange error that I finally nailed down to the TCP/IP Historical call. That is when I make a call to get Historical data I consistently get a 'symbol not found error':

-------- RAW DATA RETRIEVED FROM IQFEED (Date, Time, High, Low, Open, Close) -------------------
IQFeed command=[HD,GM,10;]
line [!ERROR! Invalid symbol.]

I am still using the old x.x.156.x servers (still testing against the new ones). Note: this is just happening on the HD commands, not the HM.

I know you're about to switch over to the new servers, but in doing last minute checks of the data I noticed two things:

1. You seem to provide more data for a stock via TCP/IP Historical (thanks!).
2. Volumes (and some prices) provided for TCP/IP Historical is always different between the two servers. Not by much, but a couple of thousand shares.

Here is Microsoft 60 minute data from the new servers:
2007-06-07 07:00:00,30.1600,30.1600,30.1600,30.1600,100,100;
2007-06-07 09:00:00,30.2800,30.2100,30.2100,30.2700,16850,16750;
2007-06-07 10:00:00,30.2900,30.0000,30.2600,30.2100,9005266,8988416;
2007-06-07 11:00:00,30.2200,30.0400,30.2000,30.1300,17956795,8951829;
2007-06-07 12:00:00,30.1700,30.0500,30.1300,30.1300,23974269,6016474;
2007-06-07 13:00:00,30.1800,29.9400,30.1300,30.0300,31509952,7535683;
2007-06-07 14:00:00,30.0700,29.6600,30.0300,29.7673,43974765,12446653;
2007-06-07 15:00:00,29.8600,29.7200,29.7700,29.7800,52299461,8324696;
2007-06-07 16:00:00,29.7900,29.7500,29.7800,29.7600,52760660,461199;

Here is from the old servers:
2007-06-07 10:00:00,30.2900,30.0000,30.0200,30.2100,9005366,7452192;
2007-06-07 11:00:00,30.2200,30.0400,30.2000,30.1300,17956795,8951629;
2007-06-07 12:00:00,30.1700,30.0500,30.1300,30.1300,23984769,5857759;
2007-06-07 13:00:00,30.1800,29.9400,30.1300,30.0300,31523752,7038683;
2007-06-07 14:00:00,30.0700,29.6600,30.0300,29.7673,43980765,11451845;
2007-06-07 15:00:00,29.8600,29.7200,29.7700,29.7800,52307661,8276267;
2007-06-07 16:00:00,29.9100,29.5900,29.7800,29.6000,68184946,15820585;
2007-06-07 17:00:00,29.6200,29.6000,29.6000,29.6200,69439784,1239338;

Are they using the same datasource?

However, this is not possible via TCP/IP correct? I have attempted this and it appears to handle them sequentially (I use java and connect via sockets). Does that match the information that you have?

I ask because even though it seems to be sequential handling of requests (I turned on DTN logs and that is what I see) we did have a situation in our logs that seems to indicate otherwise.

IQFeed Developer Support » Issues with Historical via TCP/IP Jun 5, 2007 11:57 PM (Total replies: 1)

Working on upgrading to the new Servers and came across two odd issues in the *current servers*:

1. When I issue a command for daily prices like HD,[Symbol],[Days]; I get back the correct number of days (example: HD,MSFT,3;) However, when I issue a similar command for minute prices HM,[Symbol],[Days],[Interval]; I always get back one *less* day. (example: HM,MSFT,3,60;).

Further when I issued the daily command today I got back data for 6-5, 6-4 and 6-1.
When I issued the minute command today I got back data for only 6-5, 6-4.

2. Secondly, I started programming at about 8:50 CST and was getting back the number of days mentioned above. However, on or about 11:40 CST, it seems my connection suddenly went stale. When I reconnected, I was no longer getting the current days data!

Any ideas?

IQFeed Developer Support » New Production Servers - what does it mean? Jun 4, 2007 02:52 PM (Total replies: 11)

Okay, I have read all the developer notes and have one last question: when we connect using the new Client are we automatically connecting to the new servers or do we still have to configure it to get to the new servers (for testing)?


IQFeed Developer Support » New Production Servers - what does it mean? Jun 4, 2007 12:14 PM (Total replies: 11)

Well you confirmed what I thought was true, but there is still the other issue of what is new, etc, in this version.

More specifically, I remember reading articles here that talk about how you were putting in new algorythems to smooth over data holes. Or that it would be faster, etc.

Can you give us some idea about why the move to the new server farm? Or point me to where I might find that data?


IQFeed Developer Support » New Production Servers - what does it mean? Jun 4, 2007 11:37 AM (Total replies: 11)

Generic question here, but I think its important. We've all been getting emails about the new Production Servers, but I've never been able to find information that explains what exactly does that mean.

My assumption is that when my client IQFeed application connects, it 'connects' to the (a) production server(s). That said, what is the differences that I should be aware of as a developer between this new production servers?

For completeness, we determined that this had nothing to do with DTN, but it was a network routing issue on our end.

I will definitely turn on the logging but, after re-examining the code, I have another theory that may solve it. Here is what I think is happening.

I am registering with the DTNClient and making calls. Then I think the socket is dying ('Read Time Out' and then all subsequent calls die until the socket can be re-established. If this theory is correct, is a way to listen for socket issues/statuses on the client?

Hello, I just updated from developer version to the new version (I am really, really risk adverse). Anyhow, I do only look up in Historical TCP/IP mode - lots and lots a day.

The error I am seeing is that it is throwing a SocketTimeoutException while reading from a socket. The exception message is: "Read timed out"

Here is the relevant code:

//write to the socket
sout.write( command );

//read the response from the socket
String line = sin.readLine();

while( line != null && !line.trim().equals( "!ENDMSG!" ) )
if( line.length() != 0 )
// we do something
line = sin.readLine();
catch( SocketTimeoutException timeoutException )


Any ideas?

Thanks for the quick response: couple of follow-up questions:

1. I followed the Java example to register my client. Can you see what I am doing incorrectly in the above code?
2. The socket is the issue for us. Sometimes it just dies, which is why we are trying to relaunch the app. Are you implying that we should check that the socket is closed, and if it is create a new one?
3. Finally, what is a Level 1 socket? Is that a Financial term (level 2, etc) or a network term?

Time: Mon July 15, 2024 2:55 PM CFBB v1.2.0 7 ms.
© AderSoftware 2002-2003