We have posted a new beta version of IQFeed and the IQFeed Developer SDK (v5.0.0.8) on the developer webiste: DTN IQFeed - Fast, Reliable, Affordable. Datafeeds and API. (!
This release introduces three major features of IQFeed.
Versioned protocols for IQFeed means that backwards compatibility can be maintained while still providing new features and updates to the IQFeed protocol. If your app was written to take advantage of the IQFeed 4.9 protocol, IQFeed 5.0 should be completely backwards compatible.
Millisecond precision is now available for all non-range based time fields (bid time/ask time/trade time) for Level 1, Level 2/Depth, and Historical data.
Trade conditions for ALL trades (including Non-last-qualified) to tell you exactly what type of trade occured so you can determine if you want to use it in your analysis.
Since this release is backwards compatible with the IQFeed 4.9 protocol, if you just install IQFeed 5.0 and run it, it should work out of the box with your software using the 4.9 feature set. We have tested almost all of the major 3rd party software apps that support IQFeed and found this true. There were a few quirks but those were due to running on our PRE Production system as best we can tell (data issues).
On any connection to IQFeed, to start getting the new data, simply send the S,SET PROTOCOL,5.0 command. Ideally this should be sent as the first command after opening the connection but it isnt required.
On the Level 1 port, that command will automatically change the default fieldset and you will get a S,CURRENT UPDATE FIELDS, message with the new fields and of course, you can still send the S,SELECT UPDATE FIELDS, message to change it to whatever fields you need.
Here is a list of new fields for Level 1 data:
Last Size
Last TimeMS
Last Market Center
Most Recent Trade
Most Recent Trade Size
Most Recent Trade TimeMS
Most Recent Trade Conditions
Most Recent Trade Market Center
Extended Trade
Extended Trade Size
Extended Trade TimeMS
Extended Trade Market Center
Message Contents
Ask TimeMS
Bid TimeMS
The following fields are no longer available after switching to the 5.0 protocol (not a comprehensive list but these are the ones most likely to cause issues):
Incremental Volume -> Replaced by Most Recent Trade Size (direct replacement), Last Size, Extended Trade Size fields.
Last Trade Time -> Replaced by Most Recent Trade TimeMS, Last TimeMS, Extended Trade TimeMS (direct replacement for time portion), fields for time and Message Contents for trade identifier.
Extended Trading Last -> Replaced by Extended Trade (direct replacement for naming consistency)
Bid Time -> Replaced by Bid TimeMS
Ask Time -> Replaced by Ask TimeMS
Trade Market Center -> Replaced by Most Recent Trade Market Center, Last Market Center, Extended Trade Market Center (direct replacement) fields.
Trade Time -> Replaced by Most Recent Trade TimeMS, Last TimeMS, Extended Trade TimeMS (direct replacement) fields.
On the Level 2 port, update (U) messages were replaced with Z and 2 messages where Z = summary message and 2 = new update messages. In the new update messages the reason code and sourceID fields are removed (they arent populated or are just repeated fields). There is a new field available primarily for market depth that indicates if a message was received from the exchange as part of a group of messages. The bid Time and Ask Time fields now have milliseconds.
On the Lookup port, only history is affected by the new protocol (News/Chains/Symbol Lookup should all work exactly the same).
In history, Only tick history is affected (Interval/Daily/weekly/monthly is unaffected). In tick data, the trade time field now has milliseconds. Bid Size and Ask Size have been removed since they arent populated (and never have been). There is now a field for Market Center and there is a field for Trade conditions.
There is also a Lookup for trade conditions (so you can decode them).
For a complete list of changes specific to this update (not all are listed above), please …