9 сентября 2026
**не является индивидуальной инвестиционной рекомендацией**
## 🚀 В программе "ЛИАКЭТ" реализован поиск и расчёт
индикаторов для акций на примере SIBN
*
Ух, это был настоящий IT-детектив! Делюсь кейсом, как я на пару суток в одиночку зарылся в код, gRPC/REST-спецификации T-Invest API и победил кучу скрытых ограничений, о которых незнал.
*
**Дисклеймер**: Торговля на финансовых рынках сопряжена с высокими рисками данное ПО созданное исключительно в ознакомительных и исследовательских целях. Автор не несёт ответственности за возможные финансовые убытки.
*
Решил собрать кастомный торговый терминал на Processing для отслеживания стратегии Mean Reversion (Возврат к средней) по индикаторам Stochastic и EMA. По фьючерсам ( на скриншоте SOU6 ) всё летело идеально, но стоило переключиться на акции, как в таблицах намертво загоралась надпись «Ошибка расчета индикаторов». Сервер брокера упорно возвращал 0 свечей.
* Капкан Sandbox (Песочницы): Выяснилось, что серверы песочницы Т-Инвестиций генерируют историю свечей для акций только тогда, когда внутри песочницы кто-то виртуально торгует этим тикером прямо сейчас. По фьючерсам роботы гоняют сделки круглосуточно, а по акциям (вроде Газпром нефти) в песочнице была гробовая тишина и пустая база. Решение — перешел на боевой Read-Only токен (он бесплатный и безопасный).
* Фильтр миллисекунд (HTTP 400): Боевой сервер маркет-даты Т-Инвестиций падал в ошибку, если в текстовой строке дат from/to передавались нано- или миллисекунды от java.time.Instant. Пришлось жестко округлять время через SimpleDateFormat строго до секунд (формат YYYY-MM-DDTHH:MM:SSZ).
* Ловушка сброса авторизации (HTTP 301/401): Я использовал адрес invest-public-api.tbank.ru. Чтобы коварный Java HttpClient при редиректе POST-запросов автоматически не стирал заголовок Authorization ради безопасности и запрос не долетал пустым. Я жестко зафиксировал прямые URL и запретили редиректы (Redirect.NEVER).
* Скрытые лимиты на шаг запроса: Если запросить мелкий таймфрейм (например, 5 минут) за большой период (скажем, неделю) — сервер Т-Банка не выдаст ошибку, он просто молча вернет пустой массив свечей! Выставил снайперские, одобренные сервером диапазоны: для 5м, 15м, 30м — строго последние 24 часа.
* Маскировка в JSON (Главный прикол): Метод поиска FindInstrument на первом месте в выдаче возвращал технический контракт для песочницы (classCode: "PTEQ"), у которого не было истории торгов. А настоящая акция основного режима торгов Московской Биржи (classCode: "TQBR") лежала на 14-й строчке JSON! Мой старый код читал только первые 3 строки. Я написал интеллектуальный двухпроходной фильтр, который сначала пылесосит JSON до самого конца, вытаскивает акцию TQBR, а свободные места забивает фьючерсами (SPBFUT).
Полный рефакторинг, чистый монолитный код без технического долга и «костылей». Терминал работает как швейцарские часы:
* Автоматически распознает тип инструмента (акция или фьючерс).
* За секунду выкачивает сотни живых свечей с Мосбиржи, мгновенно считает Стохастик и проценты отклонения от EMA 50/200.
* Избегает любых IndexOutOfBoundsException, даже если биржа только открылась.
* Все готово к передавче текстового слепка локальной нейросети в LM Studio для генерации торгового плана роботом-аналитиком.
#разработка #новичок #T_InvestAPI #Trading_boost_camp #трейдинг #теханализ #алготрейдинг