Skip to content

Верно, что unary запрос GetCandlesRequest не будет возвращать текущую минуту? #470

Open
IvanIvanov1985 opened this issue Aug 2, 2023 · 4 comments

Comments

@IvanIvanov1985
Copy link

Если я запрашиваю например в момент времени 16:00:00 минутные свечи за интервал [16:00:00 - 16:00:00], т.е. хочу получить через GetCandlesRequest текущую, ещё не закрытую свечу прямо по текущей минуте, то api отдаст пустое множество, потому что текущая свеча ещё не историческая? Верно я понял? В экспериментах получил такое поведение, вроде бы всё так.

@nonamegithub
Copy link

nonamegithub commented Aug 3, 2023

Все верно, GetCandlesRequest не возвращает текущую. Предлагаю начать ТРЕБОВАТЬ от разрабов наконец-то уже начать стримить незакрытые свечи по всем интервалам, как сам Тинькофф давно уже реализовал у себя в терминале. Раньше я думал, что из вредности просто не реализуют, сейчас начинаю понимать, что это для спецов InvestAPI непосильная задача, хотя работы там максимум на день-другой.

@IvanIvanov1985
Copy link
Author

IvanIvanov1985 commented Aug 3, 2023

сейчас начинаю понимать, что это для спецов InvestAPI непосильная задача, хотя работы там максимум на день-другой

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

@IvanIvanov1985
Copy link
Author

P.S. очень надеюсь, что санкционная война, которая вот теперь и Тинькофф начинает затрагивать, никак не повлияет на InvestAPI (ну потому что вроде бы с российских мск и спб бирж берутся данные, поэтому бояться надо не санкций против Тинькофф, а санкций против бирж)

@IvanIvanov1985
Copy link
Author

Прошу прощения, я чуть напутал, подзабыл - в ответе HistoricCandle всё же есть признак is_completed, я собственно поэтому изначально начал эксперменты по запросам GetCandlesRequest за ту же минуту. Скорее всего поле сделали на будущее, либо на случай если более большие интервалы, если запрашивать например часовые за этот же час (я по часовым не пробовал, мне надо только минутные).

Учитывая то, что в случае отсутствия торгов или низкой ликвидности, отсуствие свечи по GetCandlesRequest нельза отличить от "пустой" свечи я для уверенности сделаю так, что если Now().second < 30 - не запрашивать и прошлую минуту тоже, чтбоы избежать гонок и не допустить случая когда у меня клиент посчитал что свеча "пустая", а на самом деле её просто ещё нет.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants