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)




"Thank you so much - awesome feed, awesome service!" - Comment from Greg via Email
"I'm satisfied with IQFeed. It's the most reliable and fastest quote feed I have ever used. Although I'm a resident in China, it's still very fast!" - Comment from Xiaofei
"Version 4.0.0.2 has been working well for me and I appreciate that it is now a much tighter client to work with. I feel I can go to press with my own application and rely on a stable platform" - Comment from David in IA.
"I have been using IQFeed now for a few years in MultiCharts and I have zero complaints. Very, very rare to have any data hiccups or anything at all go wrong." - Comment from Public Forum
"I just wanted to tell you what a fine job you have been doing. While *******, from what I hear, has been down and out, off and on, IQ feed has held like a champ this week." - Comment from Shirin
"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 great ! Very impressive client. The news refreshes better and is more pertinent than the ******* feed I paid $ 100/month for. I Also like the charts a lot." - Comment from Leon
"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
"It’s so nice to be working with real professionals!" - Comment from Len
"Thanks for the great product and support. During this week of high volume trading, my QuoteTracker + IQ Feed setup never missed a beat. Also, thanks for your swiftness in responding to data issues. I was on ******* for a few years before I made the switch over early this year, and wish I had done it a long time ago." - Comment from Ken
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: DTN_Gary_Stephen
About Contact
Joined: Jul 3, 2019 11:09 AM
Last Post: Sep 25, 2023 04:55 PM
Last Visit: Sep 26, 2023 01:38 PM
Website:  
Location:
Occupation:
Interests:
Avatar:
Email: gary.stephen@dtn.com
AIM:
ICQ:
MSN IM:
Yahoo IM:
Post Statistics
DTN_Gary_Stephen has contributed to 373 posts out of 21085 total posts (1.77%) in 1,549 days (0.24 posts per day).

20 Most recent posts:
Miscellaneous Messages » Sequential Level1 and Level2 updates. Sep 25, 2023 04:55 PM (Total replies: 19)

Our dev team has discussed this and determined neither of these approaches are feasible currently. We understand the importance of needing to be able to synchronize this data easier for market analysis, and will continue to re-evaluate potential solutions to the issue in the future.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Miscellaneous Messages » Kotlin code example Sep 21, 2023 08:31 AM (Total replies: 0)


class IQFeedSocket : Socket() {
fun start() {
connect(InetSocketAddress("localhost", 9100))
val brBufferedReader = BufferedReader(InputStreamReader(this.inputStream))
val brBufferedWriter = BufferedWriter(OutputStreamWriter(this.outputStream))

// Initialize the protocol, this prepares us for commands to come and verifies that our socket is working as intended.
brBufferedWriter.write("S,SET PROTOCOL,6.2\r\n")
brBufferedWriter.flush()

brBufferedWriter.write("HDX,AAPL,30\r\n")
brBufferedWriter.flush()
thread {
var line: String
while (brBufferedReader.readLine().also { line = it } != null) {
println(line)
}
brBufferedReader.close()
brBufferedWriter.close()
close()
}
}
}


Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Miscellaneous Messages » Sequential Level1 and Level2 updates. Sep 19, 2023 01:57 PM (Total replies: 19)

It turns out there was an internal discussion about this feature today. It appears to be a large undertaking, so we cannot offer any formal commitments or timelines at this time.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Miscellaneous Messages » Sequential Level1 and Level2 updates. Sep 19, 2023 09:37 AM (Total replies: 19)

I'll ask about it again. I don't have an update on the earlier discussions about this kind of feature.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



You may receive data into more than one application at the same time, if both are on running on the same machine. Alternatively, they can be on different machines if you have different logins.

You can only be logged into IQFeed from one computer at a time. You may have multiple connections to IQFeed from the same computer, or multiple computers if you have multiple accounts. It is possible for current IQFeed subscribers to purchase additional logins for this purpose. (Having "production" and "QA" environments is a common reason people do this.)

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Resources » Symbol Guide Sep 7, 2023 03:52 PM (Total replies: 0)

https://ws1.dtn.com/IQ/Guide/

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed API Questions » How to get Open Interest value? Sep 5, 2023 02:05 PM (Total replies: 1)

In Protocol 4.9, The P message consists of a pre-determined list of fields, listed at https://www.iqfeed.net/dev/api/docs/docs51/Level1UpdateSummaryMessage.cfm.

In later protocols, the default set of fields varies. However, the S,SELECT UPDATE FIELDS command lets you customize what fields are in the Q message, and this will apply to the P message as well. You just need to do a S,SELECT UPDATE FIELDS command, and include "Open Interest" as one of your field names. Then, when you watch symbols, Open Interest will be part of the message.

The command S,CURRENT UPDATE FIELDNAMES will tell you your current list of field names, whether it is the default set or if you have previously customized.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



There was a 1-to-29.84 reverse split that hadn't been applied to the data. We have corrected this. Our data is now correct and consistent with other sources.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



I will investigate.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



In general, total volume resets to zero with the opening of the next trading day session. The exact timing can vary by exchange. For @ES (and all symbols on the CME Mini), that is at 6 p.m. EDT. You can infer the reset time from the data:

HTT,@ES#,20230828 165959,20230828 180000
LH,2023-08-28 18:00:00.000000,4444.00,3,3,4444.00,4444.00,27365437,C,43,01,3,29,
LH,2023-08-28 16:59:59.697984,4444.25,2,1227769,4444.25,4444.50,27365436,C,43,01,2,28,
!ENDMSG!,

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Here's what I can tell you right now:

1A and 2A. Volume and TickID never have leading zeroes.

3A. I don't think OrderID does either, but I want to confirm this.

1. I need to confirm exactly when volume resets. It may vary by exchange.

2. TickID is a 32-bit unsigned integer. It is an arbitrary number assigned by the exchange. It does not always increase; it can be any number at any time, and there's no pattern to when it changes.

TickID is not always unique (and therefore isn't natively suitable for a primary key) for two reasons: 1. TickIDs are not unique across exchanges; NASDAQ and NYSE can each have a tick #1234567. and 2. some exchanges "bundle" their tick data in a way that gives multiple ticks the same TickID. Look at @ES# and you'll probably see this happening at any given time.

3, Are you asking about the OrderID? I suspect it is similar to TickID. Other than that, the Level 2 data page http://www.iqfeed.net/dev/api/docs/MarketDepthMessages.cfm tells you the data types for each field. This will dictate how many characters you need. TickID is limited to a 64-bit unsigned integer, which can be up to 20 digits. So I would instruct you to allow for up to 20 digits.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Data Questions » Option naming convention Aug 22, 2023 03:21 PM (Total replies: 1)

You pretty much have it right. Since about 2010, options are named from a standard convention, which works as you describe. I should add a few details:


  • If the expiration day is a single digit, it gets a leading zero, e.g. AAPL2309H175 if the expiration day was the 9th.

  • Strike Prices do not get a leading zero, e.g. AAPL2325H50

  • Call options are A-L in order by month, put options are M-X in order by month. AAPL2325H175 is a call option; the put option for the same strike price would be AAPL2325T175. Here's the list: https://help.tradestation.com/10_00/eng/tradestationhelp/symbology/month_codes_stock_index_options.htm

  • Sometimes there will be an extra number in the option symbol, like FWOA22315I50. This typically happens when the underlying symbol splits; the extra digit represents some kind of change in the deliverable or price. https://infomemo.theocc.com/infomemo/search is a good source of information about this. Each symbol has a memo and a description of what the new option symbol means exactly. You can even look up FWOA (it's memo number 53034).



Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed API Questions » c & s update Message Contents. Aug 22, 2023 02:42 PM (Total replies: 28)

Craig,

The close "c" message doesn't necessarily happen immediately when the close happens. It varies by exchange, but in most cases it is sent later.

The best way to know the close price as soon as possible in iqfeed is to use an HDX historical lookup command:

HDX,symbol,1,,,0

The ,,,,0 sets Include Partial Datapoint to "no." The command itself returns 1 day of daily data, and it today's close has happened, it'll be today's data. If I run it now (at 3:40 PM Eastern time) I get:

HDX,AAL,1,,,,0
LH,2023-08-21,15.2000,14.9500,15.0600,15.1600,23656300,0,
!ENDMSG!,

But after the close happens, it'll give me the record for 2023-08-22. And, IQFeed returning it when I have Include Partial Datapoint set to no implies that today's close has happened.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed API Questions » Futures Tick Data Out Of Order. Aug 22, 2023 01:54 PM (Total replies: 7)

If you need an urgent answer to anything, your best option is to go through the IQFeed API support email or chat. Either will create a support case that is tracked. Monitoring of the forums is more sporadic and informal, though a site refresh is in progress.

As for your original question: ticks for the same symbol shouldn't be out of order like your example. However, we can't really research it now, because tick data is only held for 180 days. (The original tick was on February 2; your original post was on July 31, which was exactly 180 days later.)

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Data Questions » Question about Intraday Historical Data Aug 17, 2023 03:12 PM (Total replies: 4)

Correct, you're connected to the wrong port for the type of command you're sending. Only port 5009 (Level 1) and 9200 (level 2) send timestamps. HTD and HTX are historical/lookup commands which should be sent to port 9100.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed API Questions » c & s update Message Contents. Aug 8, 2023 03:41 PM (Total replies: 28)

I've finally figured out the problem:

When the Settle price is sent, it only contains the settle price, settle date, and TickID. If you don't have any of those fields in your message, you won't get the message. (IQFeed does not send Q messages if nothing changed in that message, in any of the fields you view.) To get the Settle message with the s Basis For Last, I have to have at least one of those three fields in my message. So I added them to the default fields:

S,SELECT UPDATE FIELDS,Symbol,Most Recent Trade,Most Recent Trade Size,Most Recent Trade Time,Most Recent Trade Market Center,Total Volume,Bid,Bid Size,Ask,Ask Size,Open,High,Low,Close,Message Contents,Most Recent Trade Conditions,Settle,Settlement Date,TickID,

Then when I watch the future option symbol, the s message is sent:

Q,@VXMQ23,16.530,1,16:00:45.043000,32,10456,16.510,4,16.530,1,16.220,18.510,16.190,16.294,a,01,16.294,08/07/2023,612454,
Q,@VXMQ23,16.530,1,16:00:45.043000,32,10456,16.510,4,16.540,3,16.220,18.510,16.190,16.294,a,01,16.294,08/07/2023,612454,
Q,@VXMQ23,16.530,1,16:00:45.043000,32,10456,16.510,4,16.540,3,16.220,18.510,16.190,16.294,s,01,16.496,08/08/2023,612470,
Q,@VXMQ23,16.530,1,16:00:45.043000,32,10456,16.510,4,16.530,1,16.220,18.510,16.190,16.294,a,01,16.496,08/08/2023,612470,

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



I agree, that could use some clarification. A lot of the docs are being update now so I'll make sure that is addressed.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed API Questions » Futures Tick Data Out Of Order. Aug 1, 2023 04:45 PM (Total replies: 7)

What's the exact command you're doing? It must be an HTT command (not HIT) because it returns tick data.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed API Questions » c & s update Message Contents. Aug 1, 2023 03:53 PM (Total replies: 28)

You're right, I'm not seeing the Settle message on the live Level 1 feed where it should be. I'm investigating further.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed API Questions » c & s update Message Contents. Aug 1, 2023 01:12 PM (Total replies: 28)

So far I haven't been able to capture the Settle message from the live watch either, but that may have been my mistake. I'm trying again today. I'll post an update.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Time: Thu September 28, 2023 8:27 AM CFBB v1.2.0 14 ms.
© AderSoftware 2002-2003