Joined: |
Jun 23, 2015 08:54 PM |
Last Post: |
Jan 28, 2019 10:58 AM |
Last Visit: |
Jan 28, 2019 01:42 PM |
Website: |
|
Location: |
|
Occupation: |
|
Interests: |
|
|
|
mattgundersen has contributed to 15 posts out of 21185 total posts
(0.07%) in 3,230 days (0.00 posts per day).
20 Most recent posts:
Hi,
In the last few weeks I've noticed history requests can take a long time to fill. It is intermittent, it is only during market hours, perhaps during times of high transactions.
When my app starts I request the following. When things are working 'normally' all requests are fullfilled within 5-10 seconds of app start. When requests take a long time to fill, it can take up to 60 seconds, or a request is not fullfilled at all. I'm not seeing any errors when processing messages.
Any ideas why this happens?
Is there a twitter feed or some symbol statistics I can monitor to know when history requests are backlogged?
History: HID,@ESH19,900,30,,,,1,@ESH19-15 History: HID,@ESH19,300,30,,,,1,@ESH19-5 History: HID,@ESH19,1800,90,,,,1,@ESH19-30 History: HID,@ESH19,3600,90,,,,1,@ESH19-60 History: HIT,@ESH19,2000,,,5000,,,1,@ESH19-2000T,,t History: HIT,@ESH19,1000,,,5000,,,1,@ESH19-1000T,,t
Thanks, Matt Gundersen
Sample request commands: HDX,@ES#,5000,1, HDX,SPX.XO,5000,1, HDX,RUT.X,5000,1,
Bars always stop in June 2017. Results in 313 bars.
My Weekly(HWX) and Monthly(HMX) work fine with requests going back to 1999 eg: HWX,@ES#,1000,1, HMX,@ES#,1000,1,
I also used the HistorySocket sample and had same results. This used to work for me (months ago). What changed that I need to change? :)
Thanks, Matt.
Hi Tim,
Thanks. I removed the filter times - works great.
m.
Hi Steve and Tim,
My workaround is to request 020000 -> 235959. At some point I'd like to revert to original behavior of 000000 -> 235959 for my historical requests.
I just tried requesting 30 days of intraday data with begin/end time of 000000 -> 235959 and today's data is missing. Perhaps the behavior is today's data will always be missing with this DST bug? And only on emini? Any ETA on a fix?
Thanks, Matt
Thanks for the quick responses Steve and Tim. I've got a workaround for now so I'm good :)
I changed the data direction to 0 (which means newest to oldest).
This is what the first few data points are - only one 10 minute bar @ 00:00:00 @ESZ16-10,2016-11-07 00:00:00,2107.00,2106.00,2106.75,2106.00,113506,640,0, @ESZ16-10,2016-11-06 23:50:00,2106.75,2106.00,2106.25,2106.50,112866,289,0, @ESZ16-10,2016-11-06 23:40:00,2106.75,2106.00,2106.75,2106.50,112577,872,0,
I believe the 600 is the interval in seconds (10 minute chart = 10 * 60 = 600)
HID,[Symbol],[Interval],[Days],[MaxDatapoints],[BeginFilterTime],[EndFilterTime],[DataDirection],[RequestID],[DatapointsPerSend],[IntervalType]
[Symbol] - Required - Max Length 30 characters. [Interval] - Required - The interval in seconds. [Days] - Required - The number of calendar days ("1" equals current day) of history to be retrieved [MaxDatapoints] - Optional - the maximum number of datapoints to be retrieved. [BeginFilterTime] - Optional - Format HHmmSS - Allows you to specify the earliest time of day (Eastern) for which to receive data. [EndFilterTime] - Optional - Format HHmmSS - Allows you to specify the latest time of day (Eastern) for which to receive data. [DataDirection] - Optional - '0' (default) for "newest to oldest" or '1' for "oldest to newest". [RequestID] - Optional - Will be sent back at the start of each line of data returned for this request. [DatapointsPerSend] - Optional - Specifies the number of datapoints that IQConnect.exe will queue before attempting to send across the socket to your app. [IntervalType] - Optional - 's' (default) for time intervals in seconds, 'v' for volume intervals, 't' for tick intervals
Did some debugging. With EndFilterTime = 235959.
As long as BeginFilterTime >= 013920 today's data shows up from that point forward. If < 013920 today's data does not fill in.
Btw, If I restrict the BeginFilterTime and EndFilterTime todays bars (within the time restriction) appear. Command: HID,@ESZ16,600,30,,080000,160000,1,@ESZ16-10
But I've been using 000000 - 235959 for months. Was there a change I missed that I need to apply?
Hi,
If I make a request for @ESZ16 or @ES# today's historical data is missing. Is there something wrong with the EMini history? Everything was fine until today.
If I request SPX.XO, or Forex Pairs such as: @EU#, @JY#, @BP#, ... today's data is present.
The command I'm sending is: Command: HID,@ESZ16,600,30,,000000,235959,1,@ESZ16-10
Data is returned ( @ESZ16-10,2016-10-09 18:10:00,2153.25,2150.75,2152.00,2152.50,8496,8493,0, @ESZ16-10,2016-10-09 18:20:00,2153.25,2152.00,2152.50,2152.25,9609,1113,0, @ESZ16-10,2016-10-09 18:30:00,2152.75,2151.75,2152.25,2152.25,10164,554,0, @ESZ16-10,2016-10-09 18:40:00,2153.75,2152.00,2152.50,2153.00,11840,1676,0, ... many other rows.
these are the last rows received
@ESZ16-10,2016-11-06 23:40:00,2106.75,2106.00,2106.75,2106.50,112577,872,0, @ESZ16-10,2016-11-06 23:50:00,2106.75,2106.00,2106.25,2106.50,112866,289,0, @ESZ16-10,2016-11-07 00:00:00,2107.00,2106.00,2106.75,2106.00,113506,640,0, @ESZ16-10,!ENDMSG!,
Hi,
Using protocol 5.1.
This AM I was loading a daily, weekly, and monthly chart for @ES#, requesting 1000 MaxDataPoints.
They all go back to just slightly before 2014. They should go back farther. Daily loaded 556 bars (instead of 1000) Weekly loaded 117 bars Monthly loaded 27 bars
This was working fine a day or two ago. Did something change with historical data?
Thanks, Matt.
Hi,
I am requesting historical daily bars for @ES#. eg: "HDX,@ES#,300,1". If I understand by observation of the data, while the market is open, today's daily bar (OHLC) is not returned until the close of the session?
If today's daily bar (OHLC) *is* returned while the market is open as a result of the HDX command, stop reading, I have a bug :)
Otherwise, here's my issue. I build my own bars so with the close I can build the daily bar. But if I request daily data in the middle of the session I need the HL for the day.
I know I could make a level1 request for @ES# and get the realtime HL for the day from there. But, to save bandwidth, one of the first commands I issue on the level1 socket is: S,SELECT UPDATE FIELDS,Last,Total Volume,Last Size,Last TimeMS,Symbol
Given that, is the best practice for getting the intraday HL of the daily bar to: S,SELECT UPDATE FIELD, .... asking for the HL?
Once I have it, resend my command to limit the fields? eg: S,SELECT UPDATE FIELDS,Last,Total Volume,Last Size,Last TimeMS,Symbol
Or is there a another/better way?
Hope this made sense. Thanks, Matt.
Hi,
I'm doing a request for intraday data using the HID command.
// HID, [Symbol], [Interval], [Days], [MaxDatapoints], [BeginFilterTime], [EndFilterTime], [DataDirection], [RequestID], [DatapointsPerSend], [IntervalType]<CR><LF>
CString sCommand; int nInterval = 60*60; // 60 minutes. sCommand.Format(L"HID,%s,%d,4,,080000,160000,,%s", sSymbol, nInterval, sRequestID);
Data returned: @ESU15-60,2015-06-23 12:00:00,2116.00,2112.75,2114.25,2114.00,516227,121316,0, @ESU15-60,2015-06-23 11:00:00,2120.25,2112.75,2118.00,2114.25,394908,163427,0, @ESU15-60,2015-06-23 10:00:00,2118.75,2114.25,2114.75,2118.25,231449,100886,0, @ESU15-60,2015-06-23 09:00:00,2119.25,2114.00,2118.00,2115.00,130562,26696,0,
Since my filter time is 8:00AM and the first bar of every day is 09:00 AM I'm assuming the time of the bar is the close time?
If that's correct, is there a way to tell the API to return the time as the open time?
No big deal if that's not possible, I can always subtract an hour to get the open time.
Thanks, Matt.
Hi Tim,
Thanks for the quick response and investigation. Great find on that plugin. I'll try it out later today and report back.
I'll also zip up the samples I have converted to Unicode and send them your way for future customers.
Btw, VS 2015 is free and does come with MFC - I think you have to go through the custom installation to get it. https://www.visualstudio.com/en-us/products/free-developer-offers-vs.aspx
m.
Hi,
I downloaded the APIs today, looking at the C++ samples. They were last built with VC 2005 with MBCS. I'm using VS 2015 and MBCS is deprecated, only Unicode is supported.
I've just converted two, it's primarily add L infront of all strings, an occasional sprintf to swprintf, or strcpy to tcscpy. A bit of a manual process.
Does DTN have unicode samples? Or has anyone converted them and want to share?
m.
|
|