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)




"You have an excellent feed. Very few spikes for Spot Forex." - Comment from Public Forum Post
"Thanks for all of your help. Great customer service deserves to be recognized which one the reasons I've been a customer of DTN for over 10 years!" - Comment from Stuart
"Everything is working amazing now. I'm already impressed with the true-tick feed of IQFeed and it's ability to support my 480 symbol layout." - Comment from Tyler via Email
"IQ feed works very well, does not have all of the normal interruptions I have grown used to on *******" - Comment from Mark
"DTN has never given me problems. It is incredibly stable. In fact I've occasionally lost the data feed from Interactive Brokers, but still been able to trade because I'm getting good data from DTN." - Comment from Leighton
"Just a thank you for the very helpful and prompt assistance and services. You provided me with noticeably superior service in my setup compared to a couple of other options I had looked at." - Comment from John
"I am very happy I changed. I love the product, but more so I am thrilled with Tech Support. You are knowledgeable, polite, pleasant and professional." - Comment from Pat
"I am enjoying the feed very much - so superior to the broker provided feed I was previously using." - Comment from George
"You are either overstaffed or people just don't have problems with your feed because customer support always answers the phone quickly." - Comment from Jay via Email
"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
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: Oct 8, 2021 08:01 AM
Last Visit: Oct 8, 2021 01:16 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 212 posts out of 20376 total posts (1.04%) in 847 days (0.25 posts per day).

20 Most recent posts:
IQFeed Developer Support » Question regarding streaming Oct 8, 2021 08:01 AM (Total replies: 3)

If a trade does not occur during a bar, IQFeed API will always omit that bar. There isn't an option to force it to send "placeholder bars" or anything like that. This is just the way IQFeed data works.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Yes, "send failed to clilent" means it failed to send to your application, not to IQConnect.exe itself.

There isn't any documentation that further explains the IQConnectLog.txt file, but most of it is straightforward. The important thing is to turn on the right details for the kind of problem you are trying to solve. On the Logging tab of the Diagnostics app, you can select a combation of Level 1, Level 2, and Lookup information as appropriate to what process(es) you want to make a log of. Within each of those groups, "Requests" will log your requests to the API; "Data" will log the API's responses. These will appear in "FROM CLIENT" or "TO CLIENT" messages, respectively. Like this:

FROM CLIENT LookupRequest 6312 16 2020-12-23 17:42:50 HIT,QNG#C,60,20201223 105200,20201223 235959,,,,1

This is a historical API lookup command sent by the user. A response would look like:

TO CLIENT LookupData 6312 16 2020-12-23 17:42:50 2020-12-23 10:53:00,2.698,2.695,2.695,2.695,36869,34,
2020-12-23 10:54:00,2.698,2.696,2.696,2.698,36944,46,
2020-12-23 10:55:00,2.699,2.694,2.698,2.694,37273,87,
...etc...
TO CLIENT LookupRequest 6312 16 2020-12-23 17:42:50 !ENDMSG!,
TO CLIENT LookupData 6312 16 2020-12-23 17:42:50 !ENDMSG!,

This is good for troubleshooting situations where you are getting unexpected results.

"Error" will include any error messages, and it's advisable to include that if you are troubleshooting.

Searching the log file for "error" will turn up any errors that IQFeed detected. A typical one is:

TO CLIENT LookupError 3896 32 2020-12-23 17:54:07 E,Socket Error: 10038 (WSAENOTSOCK).,
!ENDMSG!,

The page https://docs.microsoft.com/en-us/windows/win32/winsock/windows-sockets-error-codes-2 lists all these socket error codes and what they mean. "WSAENOTSOCK" is a common one that means "a socket operation was attempted on something that is not a socket." Which in turn means that the socket wasn't active or wasn't initialized correctly.

"Debug" usually isn't necessary for troubleshooting purposes, unless directed by support. "System" includes internal system messages, which are often helpful but very detailed.

You don't want to log everything willy-nilly, because the file can become very large, and it can consume system resources. It is wise to only enable logging when you are tracking a problem. IQFeed support can also advise you on which elements to include, and can review a log for you.

I hope this is helpful! Let me know if you have any other questions!

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



Stargrazer,

An FDS report for the commodity type/exchange you are interested in will include, among other things, an explicit expiration date. To use the example you gave:

GLD2127H185 is an IEOPTION (symbol type 2) on the OPRA exhange (exchange code 14). So you can send this command:

FDS,2,14,20210901
Symbol,Description,PeRatio,AvgVolume,DivYield,DivAmount,DivRate,PayDate,ExDivDate,CurrentEps,EstEps,SIC,Precision,Display,GrowthPercent,FiscalYearEnd,Volatility,ListedMarket,MaturityDate,OptionRoots,CouponRate,InstitutionalPercent,YearEndClose,Beta,LEAPs,WRAPs,Assets,Liabilities,BalanceSheetDate,LongTermDebt,CommonSharesOutstanding,MarketCap,52WeekHigh,52WeekHighDate,52WeekLow,52WeekLowDate,CalHigh,CalHighDate,CalLow,CalLowDate,Expiration,LastSplit,LastSplitDate,PrevSplit,PrevSplitDate,NAICS,ShortInterest
A2115J100,"A OCT 2021 C 100.00",,,,,,,,,,,4,12,,,,14,,,,,,,,,,,,,,,,,,,,,,,20211015,,,,,,
A2115J105,"A OCT 2021 C 105.00",,,,,,,,,,,4,12,,,,14,,,,,,,,,,,,,,,,,,,,,,,20211015,,,,,,
A2115J110,"A OCT 2021 C 110.00",,,,,,,,,,,4,12,,,,14,,,,,,,,,,,,,,,,,,,,,,,20211015,,,,,,
(many symbols skipped)
AA2119W40,"AA NOV 2021 P 40.00",,,,,,,,,,,4,12,,,,14,,,,,,,,,,,,,,,9.9,20210719,2.4,20210830,,,,,20211119,,,,,,
(many symbols skipped)
GLD2127H185,"GLD AUG 2021 C 185.00",,,,,,,,,,,4,12,,,,14,,,,,,,,,,,,,,,0.39,20210715,0.01,20210824,,,,,20210827,,,,,,
(many symbols skipped)
ZZZ2221M7.5,,,,,,,,,,,,2,12,,,,14,,,,,,,,,,,,,,,,20210830,,20210830,,,,,,,,,,,
!ENDMSG!,

You can see the expiration date near the end of each records, as well as other datapoints you may be interested in. You can use the Lookup commands SLM and SST to get the lists of market and symbol type codes you need. SBF,s,(symbol) will tell you the market and symbol type for a symbol. The FCS report can be run back until about May 2018.

I hope this helps!

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist



That is a classic "queueing" situation.

Error 10035 is socket error WSAEWOULDBLOCK, which basically means that the port is blocked when nothing is instructed to block it. This happens whenever the socket receive block is full, and IQFeed cannot send any more data to it. When this happens, IQFeed will hold onto the data and keep trying to re-send it, until it is able to do so, or until there is such a backlog of data that the IQConnect.exe app crashes.

The message "First 256 bytes of data H_0000000000,2021-06-14 04:09:00,16.300,16.250,16.250,16.250,3015,97,0," is what IQFeed was trying to send at the time.

So to answer your question, yes, IQFeed will hold onto any missed data and re-send it as long as it is able to do so. To minimize this, we recommend the following best practices, in no particular oder:



  • Use multi-threading. There should be different threads in your app to receive the data, parse it, and then act on it.

  • Make messages as efficient as possible. Use the SELECT UPDATE FIELDS command on Level 1 to get only the fields you need. Use tSYMBOL instead of wSYMBOL if you don't need bid/ask updates.

  • Having multiple simultaneous connections to IQFeed can help.

  • Increasing the size of the socket receive buffer can help.



Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Framing update messages by 5 min candles Aug 25, 2021 03:14 PM (Total replies: 7)

Hello Askrali, I have answers for your questions:

Quote: what time stamp should be used?
Most recent time or time stamp in T messages?


The "T" messages are provided by the IQFeed server. The timestamps messages within each tick are provided by the change, and they reflect the time the tick actually happened. For example:

T,20210825 10:49:43
Q,MSFT,301.7400,10,10:49:42.839858,19,5676548,301.7400,300,301.7600,200,304.3000,304.5900,301.1200,302.6200,ba,87,
Q,MSFT,301.7400,10,10:49:42.839858,19,5676548,301.7400,300,301.7600,100,304.3000,304.5900,301.1200,302.6200,ba,87,

These ticks occurred at 10:49:42.839858, but were not sent out as API messages until after the local server time was 10:49:43. Ticks take some time to travel through the internet, and the synchronization may not be exact.

You probably want to use the timestamps in the tick messages, because these reflect the actual time the tick occurred.

Quote: To form 5 min candles from update message


By the way, yhe IQFeed API has a command that will build 5-minute intervals for you. You can connect to port 9400 and send a command like:

BW,TSLA,300,20210825 090000

300 is the number of seconds in the bar, so 5 minutes. This will give you historical bars as far back as you specify, and will built live ones for you. The response will be like:

BH,TSLA,2021-08-25 09:05:00,706.9800,707.2000,706.9800,707.2000,75526,1792,0,
BH,TSLA,2021-08-25 09:10:00,707.0100,707.5000,707.0100,707.0500,78801,1480,0,
BH,TSLA,2021-08-25 09:15:00,707.1500,707.5100,707.1500,707.2500,83120,2551,0,
...etc...
BC,TSLA,2021-08-25 11:25:00,709.8100,710.3944,709.2500,709.9600,5425296,41704,,
BC,TSLA,2021-08-25 11:30:00,709.9900,710.7500,709.7500,710.5000,5487078,38044,,

"BH" means the message was built from historical data, while "BC" means the message was built from live data. "BU" means a past bar has been updated.

Quote: To create the timeframes, would it be good to use local time in EST time-zone?


All IQFeed timestamps for all exchanges use the US Eastern time zone. This includes exchanges that are not based in that time zone.

Quote: But there are fields “Last” and “Most Recent Trade” for price.
Which one can be used as a close price?


The difference between the "Last" and "Most Recent Trade" fields is this: "Last" includes only "last-eligible" trades. This means trades for more than 100 units. Such trades are allowed to set a high, low, open, or close.

"Most Recent" includes non-eligible trades. They may be for less than 100 units. Such trades cannot set an official high, low, open, or close. If the current High is $8.00 and I buy 99 units for $8.01, the High does not change to $8.01.

You can whichever of the two you want, just understand the difference. If your close price you calculate must match the offical close price, then use Last. If you want to calculate your own close price, and you want it to include all trades, use Most Recent. By the way, these are two different fields in Level 1 and you can watch both of them.



Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist

Edited by DTN_Gary_Stephen on Aug 25, 2021 at 04:43 PM

IQFeed Developer Support » Number of subscibed symbols Aug 5, 2021 08:40 AM (Total replies: 4)

You could also send the command S,REQUEST WATCHES to the Level 1 port. This will give you a list of all symbols you are currently watching, in this format:

S,WATCHES,@ES#,AAPL,MSFT,TSLA

This command doesn't tell you the total number of watches, but it tells you each symbol and you can determine the total count from that. Another advantage of this approach is that you can request it on the Level 1 port, and don't need to connect to the Admin port if you're not otherwise using it.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Number of subscibed symbols Aug 4, 2021 10:29 AM (Total replies: 4)

You regularly follow 26 symbols, and about once a year, you only receive Level 1 data for 16 of them? That is strange. I have never heard of behavior like this. My best guess is that some of the watch commands didn't get sent properly. It is also possible for a symbol not to have any trades in a day, but having that happen to 10 symbols one day a year seems extremely unlikely.

There is a way to know how many symbols you are following. If you connect to port 9300 (the admin port), you can request client stats. This will give you messages like:

S,CLIENTSTATS,1,5,putty.exe,20210804 085658,6,0,0.58,47746.46,0.00,

The 6 is the number of symbols I'm currently following. If you have multiple connections working, each will have its own S,CLIENTSTATS record every second. This information is used to build the Feed Stats screen in IQFeed.

The bottom of page http://www.iqfeed.net/dev/api/docs/AdminSystemMessages.cfm lists what each item in the message means. Remember to send S,SET PROTOCOL to port 9300 as you normally would, to get the current version of the message.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » 50007,No file available. why ? Aug 2, 2021 03:22 PM (Total replies: 11)

The 5MS report should now display these values correctly. Take a look, and let me know if you still see any issues.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


System Status Announcements » Dow Jones not currently updating Jul 21, 2021 09:57 AM (Total replies: 1)

Dow Jones newswires are updating once again, Our engineers are investigating the matter further.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


System Status Announcements » Dow Jones not currently updating Jul 21, 2021 09:36 AM (Total replies: 1)

DTN is aware of an issue where the Dow Jones data has not updated since about 1:30 AM this morning. Our engineers are working to resolve it now.


Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist

Edited by DTN_Gary_Stephen on Jul 21, 2021 at 09:46 AM

System Status Announcements » Live Online Chat Is Currently Unavailable Jul 21, 2021 09:33 AM (Total replies: 1)

Online chat is now working normally.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


System Status Announcements » Live Online Chat Is Currently Unavailable Jul 20, 2021 08:40 AM (Total replies: 1)

The online chat for both IQFeed and IQFeed Developers is currently having issues. Support is available via support@iqfeed.net or 1-(800) 779-7299.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Data and Content Support » timestamp in update message Jul 14, 2021 04:21 PM (Total replies: 5)

If you want to know the most recent change time with no regard to what changed, then yes, you would need to watch all three of the fields.

The fields Most Recent Trade Time, Bid Time and Ask Time tell you the time of the most recent change to the price, Bid or Ask - which is not necessarily the current tick. If a Bid update occurs at 10:00:00 and a tick not containing a Bid update comes in at 10:00:01, the "Bid Time" will still be 10:00:00.

Side note: The "Most Recent" statistics include both last-eligible and non-last-eligible trades. "Last" includes only last-eligible. There is also "Extended" which covers after hours/Form T trades. So which "Time" fields you need to watch is dictated by which of those you're interested in.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Data and Content Support » timestamp in update message Jul 12, 2021 08:32 AM (Total replies: 5)

There's another detail at work in the data sample given in the original post.

You are correct that the delays are too long for the explanation I gave. The phenomenon I mentioned earlier is true, but should't make that much of a difference time-wise.

The dataset appears to be using the default set of fields from Protocol 6.1, which are:

S,CURRENT UPDATE FIELDNAMES,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


With that in mind, let's look at just the @NQ# messages:


Q,@NQ#,14706.00,1,08:53:00.823755,43,34156,14706.00,6,14706.50,1,14704.25,14721.75,14674.50,14713.75,C,01,

The fields in bold face are Most Recent Trade Time and Message Contents. Message Contents will be a C, E, or O for a trade, and b or a for a bid or ask update. Most Recent Trade Time is the most recent time a trade occurred, and it includes both last-eligible and non-last eligible trades (C and O in Message Contents). Now look at the next @NQ# messages:

Q,@NQ#,14706.00,1,08:53:00.823755,43,34156,14706.00,5,14706.50,1,14704.25,14721.75,14674.50,14713.75,b,01,

This message is a bid update - not a sale. So "08:53:00.823755" is telling you the time of the most recent sale, not the timestamp of this message.

Next, we ahave:

Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14706.00,5,14706.50,1,14704.25,14721.75,14674.50,14713.75,C,01,

This is a sale, so the Most Recent Trade Time updates.

Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.75,3,14706.50,1,14704.25,14721.75,14674.50,14713.75,b,01,
Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.75,3,14706.50,2,14704.25,14721.75,14674.50,14713.75,a,01,
Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.75,3,14706.50,3,14704.25,14721.75,14674.50,14713.75,a,01,
Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.75,2,14706.50,3,14704.25,14721.75,14674.50,14713.75,b,01,
Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.75,1,14706.50,3,14704.25,14721.75,14674.50,14713.75,b,01,
Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.75,1,14706.25,1,14704.25,14721.75,14674.50,14713.75,a,01,
Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.75,1,14706.25,2,14704.25,14721.75,14674.50,14713.75,a,01,
Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.75,1,14706.25,3,14704.25,14721.75,14674.50,14713.75,a,01,
Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.50,3,14706.25,3,14704.25,14721.75,14674.50,14713.75,b,01,
Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.50,2,14706.25,3,14704.25,14721.75,14674.50,14713.75,b,01,
Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.50,2,14706.00,1,14704.25,14721.75,14674.50,14713.75,a,01,

These are all bid or ask updates - not sales. The timestamp doesn't update because the most recent trade still occurred at 08:53:00.824297. These timestamps do not necessarily mean the timestamps of when this message was sent or it was received. These timestamps, as per the default protocol 6.1 setup, mean the time of the most recent trade, which could have occurred some time ago.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


Data and Content Support » timestamp in update message Jul 9, 2021 01:49 PM (Total replies: 5)

The timestamp is provided by the exchange. It is meant to indicate the timestamp that the tick occurred. It is possible for ticks with older timestamps to arrive later, as you point out. This is because the ticks come from many different sources, and they don't all do so on the same timeframe. So situations like in your example can occur, where the entire string of ticks is not in chronological order:


Q,@NQ#,14706.00,1,08:53:00.823755,43,34156,14706.00,5,14706.50,1,14704.25,14721.75,14674.50,14713.75,b,01,
Q,@ES#,4342.75,2,08:52:53.296428,43,72578,4342.75,11,4343.00,29,4341.00,4343.75,4333.00,4342.75,b,01,

Q,@NQ#,14706.00,5,08:53:00.824297,43,34161,14705.75,1,14706.25,1,14704.25,14721.75,14674.50,14713.75,a,01,
Q,@NIY#,28620,1,08:51:42.991782,110,9701,28620,21,28625,28,28755,28755,28485,28775,b,01,


Ticks for the same symbol will always be chronological, though.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » Data Center Move? Jul 8, 2021 02:37 PM (Total replies: 7)

The server move is still ongoing, so I can't comment on details that specific about the connections. All I can say is that most customers should see reduced latency, and that DTN has done preliminary testing to confirm this.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » 5MS 5-min market summary Jun 17, 2021 05:05 PM (Total replies: 4)

Each 5MS report takes some time to build, but in my experience, 1 minute is usually enough to get you the most recent report. 2 minutes would be better. On a side note, the report takes multiple seconds to run, and it runs in alphabetical order. So ZZZ will be updated a few seconds more recently than AAA. It's not going to be super-precise about any timing. The "Last" field will tell you the most recent trade for that symbol it knows of; identifying the latest Last time will give you a good idea when the report was run.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » duplicate trades? Jun 17, 2021 04:20 PM (Total replies: 6)

One other thing: you are correct that a "C" message, indicating a last-eligible trade, would normally increase the volume by the number of units in that trade. However, as I mentioned earlier, some trades are counted in the Total Volume but do not show up in ticks, and can change the total volume in unexpected ways.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » duplicate trades? Jun 17, 2021 04:09 PM (Total replies: 6)

In all three cases in your original post, the timestamp reverts to a lower (earlier) value just as the volume does. My best guess is that the message was received once, and is being repeated by some process on your end. It's unlikely that IQFeed would send ticks repetitively like in your first message, especially to repeat previously-sent ticks.

This can be confirmed by collecting an IQFeed log with "All Level 1" turned on in Diagnostics app/Logging tab. The log file will be called iqconnect.txt and is stored in the folder listed on that dialog tab. This will show all messages the IQFeed API sends. Any duplicate messages will be apparent. I can review any logs you need me to. Be judicious when creating an "All Data" log, as this will create a verbose log file and could affect performance.

Your second message also looks like messages are being repeated by some unknown process. All of the "C" messages that don't increase the volume are duplicates of previous messages:

Q,@ES#,4191.25,2,12:59:55.704633,43,103489,4191.25,18,4191.50,7,4206.50,4210.25,4190.00,4202.50,a,01,
Q,@ES#,4191.25,1,12:59:56.184170,43,103490,4191.25,18,4191.50,7,4206.50,4210.25,4190.00,4202.50,C,01, - correct; volume increases by 1 as it should, and timestamp is later
Q,@ES#,4191.25,1,12:59:56.184170,43,103490,4191.25,18,4191.50,7,4206.50,4210.25,4190.00,4202.50,C,01, - same volume and timestamp as earlier message
Q,@ES#,4191.25,1,12:59:56.184170,43,103490,4191.25,18,4191.50,7,4206.50,4210.25,4190.00,4202.50,C,01, - same volume and timestamp as earlier message
Q,@ES#,4191.25,1,12:59:56.345602,43,103491,4191.25,16,4191.50,10,4206.50,4210.25,4190.00,4202.50,C,01, - correct; volume increases by 1 as it should, and timestamp is later
Q,@ES#,4191.25,1,12:59:56.345602,43,103491,4191.25,16,4191.50,10,4206.50,4210.25,4190.00,4202.50,C,01, - same volume and timestamp as earlier message
Q,@ES#,4191.25,1,12:59:56.345602,43,103491,4191.25,16,4191.50,10,4206.50,4210.25,4190.00,4202.50,C,01, - same volume and timestamp as earlier message
Q,@ES#,4191.25,1,12:59:56.530624,43,103492,4191.25,13,4191.50,10,4206.50,4210.25,4190.00,4202.50,C,01, - correct; volume increases by 1 as it should, and timestamp is later
Q,@ES#,4191.25,1,12:59:56.530624,43,103492,4191.25,13,4191.50,10,4206.50,4210.25,4190.00,4202.50,C,01, - same volume and timestamp as earlier message

So I think these "duplicate trades" are messages from the IQFeed API that are being repeated by your process somehow.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist


IQFeed Developer Support » 50007,No file available. why ? Jun 16, 2021 11:41 AM (Total replies: 11)

Yes, the FDS reports from June 6 through June 8 are lost and cannot be re-created. Other than those days, the FDS report will now work normally.

Also, regarding the missing zero in the FOPTIONS symbols; Futures contracts, when created, don't always use the price precision to represent the strike price in the symbol. As a result, you cannot derive the strike price just from the symbol alone. @CH22C1900 or @CH22C19000 could both be the 190.00 strike price. You'll have to get the strike price from the EDS or 5MS report, or from the symbol description which will include the strike price.



Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist

Edited by DTN_Gary_Stephen on Jun 16, 2021 at 12:56 PM


Time: Tue October 26, 2021 4:09 PM CFBB v1.2.0 32 ms.
© AderSoftware 2002-2003