Open espdev opened 3 years ago
@espdev API нерабочий. Смотрите на этот кейс . Даже если у вас будет граница, будет непрозрачная логика ответов API. Дату начала исторических данных обещали добавить, но обещанного как известно очень долго ждут... На текущий момент её можно самому находить.
@kitMP
API нерабочий
Да, я смотрел 341 issue. Как минимум, API непродуманный и неполный. from
/to
даты вообще могут быть необязательными параметрами, как, например, сделано у Quandl, в таком случае будет возвращаться полная история торгов. Также API Quandl возвращает то, что попадает в заданный интервал, независимо от того, насколько этот интервал широкий и выходит за границы существующих данных, что вполне разумно и удобно. Тут же получается полная ерунда с бессмысленными искусственными ограничениями и неочевидными ошибками.
Находить дату начала истории торгов с помощью перебора/бинарного поиска, дёргая каждый раз API, ну так себе решение, конечно, очень далеко от эффективного и красивого. Лучше бы API исправить и доработать.
Добрый день,
@AlexanderVolkovTCS,
Спасибо, теперь я понял, что означает expected from 1 day to 1 year
в информации об ошибке.
Таким образом вы ограничиваете количество возвращаемых данных через API в одном запросе? То есть, чтобы выгрузить историю дневных свечей за 10 лет я должен десять раз вызвать ваш API с годовыми интервалами?
Я понимаю, что вы ограничиваете количество данных для снижения нагрузки на сеть и API, но это всё равно не отменяет того факта, что мне неизвестная дата начала истории.
То есть, чтобы выгрузить историю дневных свечей за 10 лет я должен десять раз вызвать ваш API с годовыми интервалами?
Да, вызывать надо 10 раз для периода в 10 лет.
мне неизвестная дата начала истории.
Пока таких данных в API нет. Отмечено для реализации в следующей версии.
@espdev
Как вариант брать тут: https://api-invest.tinkoff.ru/trading/stocks/get?ticker=FOLD historyStartDate
@espdev это приватное АПИ и мы не гарантируем его работоспособность и неизменность в будущем, поэтому рекомендовать Ваш метод не можем
@mikhashev А есть описание этого неофициального api?
@mikhashev А есть описание этого неофициального api?
нет
запрос такой для Intel возвращает это
что не так делаю? подскажите
если изменить дату до которой нужно получить данные, то могу получить данные за каждый час, но минутные все возвращают эту ошибку
к примеру успешный запрос
как видно. результат есть
запрос такой для Intel возвращает это
что не так делаю? подскажите
если изменить дату до которой нужно получить данные, то могу получить данные за каждый час, но минутные все возвращают эту ошибку
к примеру успешный запрос
как видно. результат есть
минутки вроде за месяц только доступны
не, попробовал, недоступно, такая же ошибка
@mikhashev у вас запрос на локалхост идет, проверьте напрямую:
curl -X GET "https://api-invest.tinkoff.ru/openapi/market/candles?figi=BBG000C0G1D1&from=2021-09-03T12%3A25%3A03%2B03%3A00&to=2021-09-03T15%3A25%3A03%2B03%3A00&interval=1min" -H "accept: application/json" -H "Authorization: Bearer {token}"
Минутки должны возвращаться
localhost ну это я локально сервис запускал, который через C# интерфейс делает запрос на сервер, хм, часовики возвращаются, приду домой попробую этот способ, Спасибо.
Ваш REST API в
/market/candles
требует указывать валидный интервал датfrom/to
для получения свечей. Допустим, если я указываю from date или to date, выходящие из интервала существующих данных, ваш API возвращает ошибку со статусом 500:Как мне в этом случае получить, например, всю историю торгов? При этом у вас нет методов для получения границ интервала дат для инструмента (у MoEx ISS API, например, есть endpoint
/candleborders
). Откуда я должен узнать эти границы, используя ваш API? При получении данных по инструменту, этих данных там также нет (MarketInstrument
).Во-первых, вы могли бы как-то предоставлять эту информацию, например, на endpoint
/market/candleborders
, по аналогии с MoEx ISS API. Во-вторых, если вы не предоставляете эту информацию, то почему ваш API так жёстко проверяет границы интервала дат и какой в этом смысл? Возвращайте тогда те данные, которые попадают в интервал, а не ошибкуBad candle interval
. Что я должен делать с этой ошибкой? Я всё равно не знаю какие границы интервала дат для данных по инструменту.