
aliksend
-Interested User-
Posts: 3
Joined: Jun 12, 2019
|
Posted: Jun 12, 2019 03:01 PM

Msg. 1 of 7
Hi. I'm trying to get historical data from first symbol's ticks. I make request like HIT,AMD,60,20000101 000000,,3,,,1,REQ_1 to get data for first three minutes after 2000-01-01 with data direction from oldest to newest, but I get data for last three minutes related to current time in order from oldest to newest. REQ_1,2019-06-12 15:15:00,32.2250,32.2000,32.2150,32.2150,50016587,51402, REQ_1,2019-06-12 15:16:00,32.2300,32.2045,32.2100,32.2200,50057054,37465, REQ_1,2019-06-12 15:17:00,32.2400,32.2000,32.2100,32.2400,50092543,34608, Is there a bug and you can fix it? Or should I use other command to get time of first tick and then request ticks from this time? Thank you Edited by aliksend on Jun 12, 2019 at 03:02 PMEdited by aliksend on Jun 12, 2019 at 03:03 PM
|

altmany
-Interested User-
Posts: 73
Joined: Jul 30, 2018
IQML - IQFeed-MATLAB connector
|
Posted: Jun 12, 2019 03:11 PM

Msg. 2 of 7
The MaxDatapoints parameter has precedence over BeginDate/Time, regardless of DataDirection. For example, if MaxDatapoints=3 (as in your example), we’ll only get the 3 latest ticks (before EndDate/Time), regardless of BeginDate/Time. If you don't want this behavior, leave MaxDatapoints empty. Perhaps DTN should update the documentation with this important clarification, but it seems to me to be a documentation aspect, not a coding bug. Yair Altman IQML - IQFeed-MATLAB connector https://UndocumentedMatlab.com/IQML
I am not a DTN employee; my post reflects my personal opinion
|

DTN_Steve_S
-DTN Guru-
Posts: 2093
Joined: Nov 21, 2005
|
Posted: Jun 12, 2019 03:50 PM

Msg. 3 of 7
Confirming what Yair said here.
The [MaxDatapoints] should be thought of as a "No more than X datapoints" instead of "First X datapoints before/after..." from the API.
Also, the [DataDirection] parameter does not change the result set. It only changes the direction in which the result set is delivered.
As a result, The request HIT,AMD,60,20000101 000000,20190101 235959,3,,,0 is saying "give me all of the data from 20190101 235959 back to 20000101 000000 but no more than 3 datapoints." Additionally, HIT,AMD,60,20000101 000000,20190101 235959,3,,,1 says give me the same 3 datapoints but deliver them to me oldest to newest.
|

DTN_Steve_S
-DTN Guru-
Posts: 2093
Joined: Nov 21, 2005
|
Posted: Jun 12, 2019 03:57 PM

Msg. 4 of 7
Also, as for updating the documentation to be more clear, the next version IQFeed has the dataDirection field described as follows: DataDirection - This determines which order the data is returned to you.
- '0' (newest to oldest) or '1' (oldest to newest).
- Note, this does NOT change the data that is returned. The ordering of the data is simply reversed if oldest to newest is selected
I'll look into something to address explaining a bit more about how the result sets are collected.
|

aliksend
-Interested User-
Posts: 3
Joined: Jun 12, 2019
|
Posted: Jun 13, 2019 05:29 AM

Msg. 5 of 7
So there is no ability to specify "give me only 3 datapoints from 20000101 000000 to 20190101 000000" that will means that I want receive first three existing datapoints, not last three? The reason is that I don't want to receive data for every minute from start of symbol's history to get only first three minutes that matters for me. Is there other mechanism to limit results? Edited by aliksend on Jun 13, 2019 at 05:32 AM
|

DTN_Steve_S
-DTN Guru-
Posts: 2093
Joined: Nov 21, 2005
|
Posted: Jun 13, 2019 07:07 AM

Msg. 6 of 7
The only recommendation I could give would be to first request daily (or weekly/monthly) data to find the start of data for the symbol. At that point you could craft an HIT request with an end datetime that reduces the overall amount of data you're having to process.
|

aliksend
-Interested User-
Posts: 3
Joined: Jun 12, 2019
|
Posted: Jun 13, 2019 08:31 AM

Msg. 7 of 7
Ok, thank you for your help.
|
|
|
|