invest-openapi
invest-openapi copied to clipboard
api.candlesGet
хочу собрать историческую дату по акции GPI
последняя дата которую получаю это
{ o: 62.75, c: 62, h: 62.75, l: 61.92, v: 7625, time: '2019-03-06T20:00:00Z', interval: 'hour', figi: 'BBG000BB88K4' }
Но в мобильном приложение вижу данные за август 2010.
Есть ограничения или что?
Ожидание разбивает мне сердце
В api есть ограничения на отдаваемые данные. К примеру при использовании часового таймфрейма за раз можно запросить данные максимум за неделю.
То есть для того, чтобы получить данные за больший таймфрейм необходимо делать несколько запросов в api. Каждый раз смещая промежуток времени. К примеру, для получения данных за год по часового таймфрейму потребуется сделать порядка 52 запросов.
@juev Так и есть. Последние данные которые я смог получить с учетом смещения и раздельности запросов за 2019-03-06T20:00:00Z
@koshik34 Дальше появляется ошибка или что? Что происходит при попытке обратиться за пределы 2019-03-06T20:00:00Z?
Провел попытку смещения таймфреймов, делал запросы по 6 дней. Удалось достичь 2013 года, затем получил ошибку с кодом 429. То есть достиг предела по лимитам запросов. Лимит в 120 запросов в минуту.
Думаю, если реализовать паузу в запросах, чтобы не упираться в лимиты, можно вычитать всю историю по инструменту. Каждый раз это делать совершенно не обязательно, вычитать и сохранить в своей базе, если вдруг необходимо иметь статистику за всю историю.
@juev Данные пустые. candles: []
2019-02-15T07:00:00.387Z
{ candles: [], interval: 'hour', figi: 'BBG000BB88K4' }
2019-02-08T07:00:00.485Z
{ candles: [], interval: 'hour', figi: 'BBG000BB88K4' }
2019-02-01T07:00:00.585Z
{ candles: [], interval: 'hour', figi: 'BBG000BB88K4' }
2019-01-25T07:00:00.683Z
{ candles: [], interval: 'hour', figi: 'BBG000BB88K4' }
2019-01-18T07:00:00.797Z
{ candles: [], interval: 'hour', figi: 'BBG000BB88K4' }
2019-01-11T07:00:00.900Z
{ candles: [], interval: 'hour', figi: 'BBG000BB88K4' }
2019-01-04T07:00:00.999Z
{ candles: [], interval: 'hour', figi: 'BBG000BB88K4' }
2018-12-28T07:00:00.101Z
{ candles: [], interval: 'hour', figi: 'BBG000BB88K4' }
2018-12-21T07:00:00.250Z
{ candles: [], interval: 'hour', figi: 'BBG000BB88K4' }
2018-12-14T07:00:00.356Z
{ candles: [], interval: 'hour', figi: 'BBG000BB88K4' }
Повторил эксперимент, добавив секундное ожидание после каждого вызова api, ошибок 429 больше не возникало, но из запрошенных 10 лет выдало только максимум:
[
{
"figi": "BBG000BB88K4",
"interval": "hour",
"o": 62.04,
"c": 61.6,
"h": 62.04,
"l": 61.5,
"v": 564,
"time": "2019-02-28T14:00:00Z"
},
Проверил так же в мобильном приложении, по GPI данные за 1 час так же только до 28 февраля. Почему вы указываете, что данные есть до 2010?
По поводу пустых данных, тут скорее вопрос в том, что вы используете для работы с openapi, как формируете запрос и как его обрабатываете.
@juev Я открываю в мобильном приложение график GPI, выбираю "ВСЕ" график начинается с 2010 года, для меня это значит что у брокера есть данные любых таймфреймов с 2010 года. Использую nodeJS.
ровно такая же проблема. Для GOOGL ничего раньше 2018.01.23 получить не удаётся, отдаёт пустые данные
Подтверждаю, часовые свечи на целый список инструментов типа SBER, GMKN, LKOH и прочих закончились на 2018-03-07, все что раньше возвращает пустой список. С дневными такой проблемы нет, по крайней мере до 2008 года данные есть. Хотелось бы хотя бы прочитать где-то, какие исторические данные доступны.
@juev Я открываю в мобильном приложение график GPI, выбираю "ВСЕ" график начинается с 2010 года, для меня это значит что у брокера есть данные любых таймфреймов с 2010 года. Использую nodeJS.
Думаю в приложении Тинькофф Инвестиции закладка "ВСЕ" формируется по дневным данным, если попытаться прокрутить минутные или часовые данные до 2010го - ничего не найдём, даже на TradingView минутные свечи исторические хранятся не так далеко.