invest-openapi icon indicating copy to clipboard operation
invest-openapi copied to clipboard

api.candlesGet

Open koshik34 opened this issue 4 years ago • 11 comments

хочу собрать историческую дату по акции 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. Есть ограничения или что?

koshik34 avatar Jun 25 '20 05:06 koshik34

Ожидание разбивает мне сердце

koshik34 avatar Aug 18 '20 06:08 koshik34

В api есть ограничения на отдаваемые данные. К примеру при использовании часового таймфрейма за раз можно запросить данные максимум за неделю.

То есть для того, чтобы получить данные за больший таймфрейм необходимо делать несколько запросов в api. Каждый раз смещая промежуток времени. К примеру, для получения данных за год по часового таймфрейму потребуется сделать порядка 52 запросов.

juev avatar Aug 26 '20 09:08 juev

@juev Так и есть. Последние данные которые я смог получить с учетом смещения и раздельности запросов за 2019-03-06T20:00:00Z

koshik34 avatar Aug 27 '20 16:08 koshik34

@koshik34 Дальше появляется ошибка или что? Что происходит при попытке обратиться за пределы 2019-03-06T20:00:00Z?

juev avatar Aug 27 '20 17:08 juev

Провел попытку смещения таймфреймов, делал запросы по 6 дней. Удалось достичь 2013 года, затем получил ошибку с кодом 429. То есть достиг предела по лимитам запросов. Лимит в 120 запросов в минуту.

Думаю, если реализовать паузу в запросах, чтобы не упираться в лимиты, можно вычитать всю историю по инструменту. Каждый раз это делать совершенно не обязательно, вычитать и сохранить в своей базе, если вдруг необходимо иметь статистику за всю историю.

juev avatar Aug 27 '20 17:08 juev

@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' }

koshik34 avatar Aug 28 '20 07:08 koshik34

Повторил эксперимент, добавив секундное ожидание после каждого вызова 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 avatar Aug 28 '20 08:08 juev

@juev Я открываю в мобильном приложение график GPI, выбираю "ВСЕ" график начинается с 2010 года, для меня это значит что у брокера есть данные любых таймфреймов с 2010 года. Использую nodeJS.

koshik34 avatar Sep 01 '20 12:09 koshik34

ровно такая же проблема. Для GOOGL ничего раньше 2018.01.23 получить не удаётся, отдаёт пустые данные

Zoinen avatar Oct 31 '20 15:10 Zoinen

Подтверждаю, часовые свечи на целый список инструментов типа SBER, GMKN, LKOH и прочих закончились на 2018-03-07, все что раньше возвращает пустой список. С дневными такой проблемы нет, по крайней мере до 2008 года данные есть. Хотелось бы хотя бы прочитать где-то, какие исторические данные доступны.

not-azat avatar Jan 16 '21 17:01 not-azat

@juev Я открываю в мобильном приложение график GPI, выбираю "ВСЕ" график начинается с 2010 года, для меня это значит что у брокера есть данные любых таймфреймов с 2010 года. Использую nodeJS.

Думаю в приложении Тинькофф Инвестиции закладка "ВСЕ" формируется по дневным данным, если попытаться прокрутить минутные или часовые данные до 2010го - ничего не найдём, даже на TradingView минутные свечи исторические хранятся не так далеко.

tuninator avatar Jan 17 '21 07:01 tuninator