Tinkoff / invest-api-csharp-sdk

51 stars 19 forks source link

Ошибка при получении котировок (GetCandlesAsync) на малом временном интервале при большом таймфрейме #49

Open iborzenkov opened 1 year ago

iborzenkov commented 1 year ago

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

Получаю Grpc.Core.RpcException: "Status(StatusCode="InvalidArgument", Detail="30014")" Ожидаю пустую коллекцию элементов.

Поясню зачем такой "странный" запрос. Встроил в софт кеширующий механизм, который обновляет только те данные, которые ещё не выкачивались, чтобы снизить нагрузку на сервера. Соответственно, кейс, когда запрос на обновление котировок инициируется через час с предыдущего обновления. Понятно, что за это время данных новых не пришло (если не было перехода через сутки). Ожидаю, что и вернётся мне пустая коллекция, а не exception. Не очень, пожалуй, разумно во всех клиентах SDK добавлять логику проверки на такой случай. Логичнее, на мой взгляд, сделать это в самом SDK. Экономии на доступе к ресурсам точно не добиться, аргументируя тем, что "у нас такие правила, следуйте им, мы экономим". Разработчики скорее всего будут по прежнему использовать те же методы SDK и при возникновении исключения говорить, что "новых данных нет", но обращение и нагрузка на сервер всё равно будет.