tccharleton
-Interested User-
Posts: 25
Joined: Dec 2, 2014
Reluctant but dedicated nerd.
|
Posted: Nov 29, 2015 08:42 AM
Msg. 1 of 8
I have attached a few examples of strings coming in from a Level 1 feed that is set with defaults. I have been searching through my records from that day and I cannot find any non-trade, Last Trade Time values that end with a (indicating a change to the ask part of the quote).
Do all updated quote values set the Last Trade Time value to end with a 'b' or should I be scanning for other values to capture asks?
Big Picture: I use the last Level 1 quote values on options contracts to build OHLC for options quotes because some of the option contracts I watch can go for a long time without a trade but I need to know how they fluctuate based on what is being quoted. I would love to use the interval bars for this, but I believe they only reflect trade activity.
Many Thanks!
File Attached: spy_example.txt (downloaded 1403 times)
|
DTN_Tim Walter
-DTN Guru-
Posts: 1238
Joined: Apr 25, 2006
|
Posted: Nov 30, 2015 08:54 AM
Msg. 2 of 8
You are using an older protocol it sounds like. What you would really want to do is upgrade your code to use the 5.1 protocol so that you have access to the Message Contents field which will handle the scenario where we receive a bid and an ask in the same message, which is what you are seeing here. In the 4.9 protocol it only shows the first possible condition, in this case a bid and the ask is being lost.
You are also correct that since we do not store any historical bid or ask data, it will not be referenced in any of our interval data.
Tim
|
tccharleton
-Interested User-
Posts: 25
Joined: Dec 2, 2014
Reluctant but dedicated nerd.
|
Posted: Nov 30, 2015 11:44 AM
Msg. 3 of 8
I corrected my mistake of using an old protocol. I cannot seem to find the message contents field you referenced. Attached are two files. One is my connection log which shows that the protocol is set to 5.1 . The second file contains outputs of strings I receive and those same strings parsed by comma.
Please forgive me but I cannot identify the Message Contents field.
BTW, I am running with multiple threads (Java) that each output to a separate concurrent collection that is, in turn, processed on another separate thread. I mention this because of your statement that "... in this case a bid and the ask is being lost." I just want to make sure that the bid reflects the last update and not that I should be looking for something lost in memory somewhere.
Many Thanks,
File Attached: IQConnectLog3.txt (downloaded 1544 times)
|
tccharleton
-Interested User-
Posts: 25
Joined: Dec 2, 2014
Reluctant but dedicated nerd.
|
Posted: Nov 30, 2015 11:48 AM
Msg. 4 of 8
Output file in case it didn't get attached the first time.
File Attached: OutputOfIQF.txt (downloaded 1476 times)
|
quickTick
-Interested User-
Posts: 53
Joined: Nov 17, 2013
|
Posted: Dec 2, 2015 12:39 AM
Msg. 5 of 8
|
quickTick
-Interested User-
Posts: 53
Joined: Nov 17, 2013
|
Posted: Dec 2, 2015 01:10 AM
Msg. 6 of 8
Your connection log shows "S,SET PROTOCOL,5.1" only for the admin socket. Perhaps that's also necessary for the Level 1 socket.
|
DTN_Tim Walter
-DTN Guru-
Posts: 1238
Joined: Apr 25, 2006
|
Posted: Dec 2, 2015 04:43 AM
Msg. 7 of 8
Correct, you do need to set your protocol for each socket connection individually. It would also be worth looking at dynamic fieldsets so that you are getting just the fields you need and you can order them as you see fit. http://www.iqfeed.net/dev/api/docs/DynamicFieldsets.cfmS,SET PROTOCOL,5.1 S,CURRENT PROTOCOL,5.1, S,CURRENT UPDATE FIELDNAMES,Symbol,Most Recent Trade,Most Recent Trade Size,Most Recent Trade TimeMS,Most Recent Trade Market Center,Total Volume,Bid,Bid Size,Ask,Ask Size,Open,High,Low,Close,Message Contents,Most Recent Trade Conditions S,SELECT UPDATE FIELDS,Last,Message Contents S,CURRENT UPDATE FIELDNAMES,Symbol,Last,Message Contents w@ESZ15 F,@ESZ15,22,,,2118.75,1785.00,,,,,,,,,,,,,,,,,,E-MINI S&P 500 DECEMBER 2015,,,,,,,,,,, , ,,0,12,2,,19.45,8,43,05/19/2015,10/15/2014,,,,,,12/18/2015,,,ES, P,@ESZ15,2103.25,Cbasohlc, Q,@ESZ15,2103.25,C, Q,@ESZ15,2103.25,C,
|
tccharleton
-Interested User-
Posts: 25
Joined: Dec 2, 2014
Reluctant but dedicated nerd.
|
Posted: Dec 2, 2015 09:59 AM
Msg. 8 of 8
I was missing setting the protocol version on the various services. I was only setting it on the Admin service. I am going to prune the number of fields. I was just unable to see what they contained.
Many Thanks!
|
|
|
|