||Nov 21, 2005 02:10 PM
||May 15, 2019 05:41 AM
||May 22, 2019 11:40 AM
DTN_Steve_S has contributed to 2090 posts out of 19084 total posts
(10.95%) in 4,936 days (0.42 posts per day).
20 Most recent posts:
My apologies for the delayed response here.
You've decoded the message correctly.
It would appear that this is a bug in the feed but I don't know how or why it occurred at this time. If you have more examples, it will help in tracking this down, but I don't believe this is a case of simply applying the valid time to the wrong field.
My apologies for the typo (I'm sure it's been that way for years). It should say "IQFeed Developer Support". I have fixed it.
Here is the direct link: http://forums.dtn.com/index.cfm?page=forum&forumID=9
Edited by DTN_Steve_S on Apr 25, 2019 at 08:50 AM
Backfill will be obtained using the requests in the HistorySocket examples. From that point, the data is kept up to date using the Level1Socket.
With no additional information, I'm not sure why the L1socket wouldn't have returned data for you. At the very least you should have gotten an initial snapshot of data. What symbol were you using? Did you get a not found message back instead?
Denis, the file I updated yesterday has the following header as the first line.
Is that consistent with what you are seeing (as I mentioned, this isn't quite a finished offering for us in terms of delivery so it's possible there is still issues with implementation)?
By the way, I also found this older thread on the same subject that explains the Expiration Date field is currently intentionally left blank since the same data is embedded in the symbol. I'm not sure if there is extra information that is useful to you in that thread but just in case you're interested, I wanted to make you aware of it.
We do not retain these lookup lists historically. The best we can offer is a list of all expired equity options that have traded in the system so you can build these lists on your end. We currently only update this as a manual process every couple months (on demand when customers ask). I have updated it for this morning's file.
The file is located on our FTP server here:
Edited by DTN_Steve_S on Apr 9, 2019 at 06:49 AM
This does not exist in the API.
Sorry I'm late to this thread.
I'm looking into this but I really don't see anything yet that would indicate this is anything other than general internet congestion causing problems. This could explain why restarting (and potentially getting assigned a different server farm) is having an effect.
Can you guys enable Request and Error logging levels and make sure you save off the log before restarting the feed (it overwrites on startup) next time you see this behavior? Feel free to post logs here in this thread or email them to dev support. I'd like to start tracking this to see if some sort of pattern becomes evident.
OK, another update. After searching through the server logs a bit, it appears that this error has been re-implemented for obviously bad symbols (stuff not allowed by our symbology).
However, with that said. There were only 13 requests total on March 14th that returned this error and none of them were for valid symbols.
I just realized something not-quite right here.
A long while back (at least a year or two), the history servers stopped sending the Invalid Symbol error code so there is no way you should have been getting that specific error. Are you certain this is the case? If so, please let me know your loginID so I can look at the server logs. Feel free to send it to me in a PM or an email to dev support.
No, the history servers were updated quite a while ago (at least a couple weeks before that). I'll get the release notes updated to indicate that has been completed.
I don't see anything that would indicate any of these issues are results of an error in the API (not 100% sure if that's what you were indicating or not but figured I'd mention it).
At this point, I would recommend turning on the logging in IQConnect to show you the Lookup Requests and Data for troubleshooting. You can do this via the example app.
I'm fairly certain you have something mixed up in your request/response processing code and hopefully the logfile will show you exactly what the feed is receiving from your app and sending in response.
The text vs XML issue has to be an error where you're either not actually sending the t or you are sending the t in the wrong field.
Hello. There are a couple things to consider here. Your S,SET PROTOCOL command isn't correct. You should be getting an error message back on that request. It only uses Major/Minor. The results you are getting are for a config request. You have to be sending this request somewhere in your code (nothing automatically does this for you in the API itself).
Other than that, your request works fine for me and returns headlines (only a few results copied here for brevity):
N,RTK,22120099247,:DKK:,20190311092941,Denmark Inflation Slows In February
N,RTK,22120096642,:EUR:,20190311091801,German BDI Cuts 2019 Growth Forecast To 1.2% From 1.5%
N,RTK,22120096422,:NOK:,20190311091351,Norway Inflation At 7-Month Low
N,RTK,22120093159,:EUR:,20190311085320,Estonia Trade Gap Narrows In January
N,RTK,22120087392,:USD:,20190311083820,U.S. Retail Sales Unexpectedly Rise 0.2% In January
N,RTK,22120086279,:USD:,20190311083100,U.S. Retail Sales Rise 0.2% In January, Ex-Auto Sales Climb...
N,RTK,22120062151,:EUR:,20190311065957,Ireland Construction Growth At 7-Month High
N,RTK,22120056465,:EUR:,20190311062747,Malta Jan Industrial Production +2.3% On Month Vs. -7.0% In...
Hello, concerning the trades in question. These are valid trades so it will be up to you to filter within your app. However we provide some help on filtering these by sending the trade conditions for each trade along with a classification of last-qualified or non-last-qualified. In your example, all of these trades are non-last-qualifed ODDLOT trades. Additionally, 4 of the 5 are labeled as CASH trades with the 5th being labeled as TTEXEMPT.
You will have to do some experimentation to figure out exactly which types trades you want to exclude from your analysis.
I am still looking into the volume discrepancy however, generally speaking, summation of tick volumes and comparing to total volumes is not a valid data verification technique because frequently these will not match up due to corrections, inserts, deletes, etc by the exchange.
Jeff, I believe this is a different issue.
The issues referred to in this thread have been resolved.
I took a look at your requests on the servers and I see no requests that weren't serviced in under a second today. In fact, the longest was .07s.
This implies that any requests you have that aren't getting completed are never making it to our servers which is an entirely different problem.
Can you send me a complete log file (likely will need to be zipped) that demonstrates the issue to developer support?
We continue to actively monitor this thread and the information you are providing is being utilized by our network, development and operations teams. aQuant, regarding your comment “I would like to see some involvement of IQFeed support in this… if they really want to solve it” – the answer is absolutely yes. We are here to support our customers and continually improve our products. Feedback from each of you is critical to our continued success.
There is a lot of action going on behind the scenes at DTN to further optimize our service and increase resiliency. This involves not only our staff, but teams in the middle and all the way through to the exchanges. In fact, this morning we received word that the CME is performing maintenance on fiber connections that we believe could be responsible sporadic dropped packets that may result in the reported stuck bids. Please continue to share your findings by sending them directly to developer support, and we will continue to work with you to resolve any issues you are experiencing.
The KBQueued value in the diagnostics app is just a display frontend for the clientstats messages on the Admin port from IQFeed via the API.
Turning this on/off and message format is documented here http://www.iqfeed.net/dev/api/docs/AdminviaTCPIP.cfm
Not sure if you were aware of that based on your post so wanted to make sure.
Edited by DTN_Steve_S on Feb 19, 2019 at 08:47 AM
If you can give me a recent example, I should be able to verify but I think this would be a case where the exchange sent a settlement for the contract but no trades occurred.
Unfortunately there isn't a real good way to do this because we include Extended Trades (which are some Form T trades) in our minute data bars.
However, one thing I'll note here is that generally speaking, IQFeed only adjusts daily data for splits. There are a few cases where in the past (and by few, I mean once or twice a year across all stocks on average) we have also manually adjust data for other corporate actions and/or dividends but I believe we stopped doing this several years ago.
Your example VVV has not had any splits registered in our system so the daily data should be un-adjusted.
So as a result, you should be safe (of course you will want to verify this using your own methods) to use the daily data as is for any symbols that haven't split.
Hello, are you still having problems with this? For me, those request do not return data but they are also not returning the error you are seeing.
Hello, my apologies for the delay responding to this.
Generally speaking, the markets are naturally very "bursty" in terms of how messages are received from the exchanges. I haven't verified with your specific symbols but you are using some of the most active futures contracts as I'm sure you know. I wouldn't be surprised if your few symbols frequently burst well beyond your 1000 message loop test (unless I'm not understanding your test).
A 30s delay is certainly not normal and figuring out where that data is getting queued will help identify what needs to be fixed. If the data is getting to your machine but queued locally within IQConnect waiting to be delivered to your app, then in the diagnostics app, on the client stats tab, you will see the KBQueued column count up for your app's connection. If this number is zero even when you are seeing delays in your app, then the data isn't able to be delivered to your machine and is being queued on the server. Once we know this information it will be easier to identify what is causing the delay.