Биржа
T‑Invest передаёт цены, стакан и сделки.
Робот не «покупает по любому сигналу». Он постоянно слушает биржевые данные, отбирает достойные ситуации, проверяет риск и только потом передаёт заявку брокеру.
Каждый следующий блок получает уже проверенный результат предыдущего. Заявка не может «перепрыгнуть» риск-контроль.
T‑Invest передаёт цены, стакан и сделки.
Поток одновременно подписан на все 34 бумаги.
Решает, что проверить первым: позиции, резкие движения, остальные.
До 4 процессов считают признаки и ищут торговую ситуацию.
Стратегия формирует намерение: купить, продать, закрыть или ничего не делать.
Проверяются лимиты, свежесть, капитал и допустимое количество.
Один координатор посылает заявку брокеру и обрабатывает ответ.
Принимает, отклоняет или частично/полностью исполняет заявку.
Подтверждённое исполнение меняет позицию, бюджеты и P&L.
Робот сверяет свою картину с реальным счётом T‑Invest.
Сохраняются сигнал, причина отказа, риск-решение и исполнение.
Dashboard, API, heartbeat, SLA, ошибки и MAX-уведомления.
Получение и сверка.
Планирование и анализ.
Сигнал и выбор маршрута.
Лимиты и блокировки.
Заявка и учёт сделки.
«Приоритет» не означает, что остальные забыты. Поток биржи принимается для всех, а дорогой анализ в первую очередь получают самые важные сейчас бумаги.
Самый высокий приоритет
За уже вложенными деньгами нужно следить чаще: выход, stop, Campaign, изменение риска.
Быстрая полоса
Бумаги со свежим сигналом, резким движением или повышенным интересом проверяются ускоренно.
Все 34 инструмента
Каждое изменение в потоке может поднять бумагу в быструю полосу. Никакого ручного «избранного» нет.
Не тормозят рыночный цикл
Свечи, позиции, деньги, операции и reconciliation обновляются отдельно от главного анализа.
no_price, устаревшая свеча, плохой стакан, нет перевеса. Робот записывает причину и ждёт.
Проверяется режим рынка, маршрут стратегии, сила сигнала, спрэд, ликвидность и ожидаемая экономика после комиссий.
Может быть long или short, если маршрут, риск и лимиты это разрешают.
Сигнал недостаточен для действия — позиция или пустой инструмент просто наблюдаются.
Закрытие, reduce-only, защитный выход или ступень Campaign. Размер не может превысить реальную позицию.
Каждые ворота могут сказать «нет». Даже очень сильный сигнал не отменяет жёсткие лимиты.
Анализировать бумаги можно одновременно. Изменять один брокерский счёт безопаснее по очереди: так две нити не купят одни и те же деньги.
Что хотим сделать и почему.
Последнее авторитетное «можно».
Деньги/объём временно занимаются под эту заявку.
Проверка непосредственно перед RPC.
Один account-scoped writer обращается к T‑Invest.
Ответ брокера связан с intent и correlation ID.
Подтверждённое количество вносится в позицию, Campaign ledger, бюджеты и атрибуцию.
Резерв снимается, причина фиксируется. Робот не придумывает исполнение.
Самый опасный случай: обрыв сети после отправки. Новая заявка запрещается, пока reconciliation не узнает истину у брокера.
Подтверждённый брокером объём и средняя цена.
Цена, P&L, риск, ликвидность, стакан и свежесть.
Может планировать ступени, добор, частичную фиксацию или отскок.
Campaign не имеет обходной дороги: действие проходит те же лимиты.
Если условий нет — hold. Если есть — новое намерение и полная цепочка проверок.
Локальная база робота — это его рабочая копия. Если она расходится с T‑Invest, робот не «исправляет брокера»: он останавливает опасное действие и восстанавлиает локальную картину из брокерских данных.
Реальные позиции, заявки, деньги и исполнения.
Главная истинаНамерения, локальные позиции, Campaign ledger, бюджеты, журналы.
Рабочая проекцияВосстанавливаются незавершённые intent, заявки и Campaign. До сверки новые опасные действия запрещены.
Фоновый broker maintenance проверяет позиции, деньги, операции и reconciliation.
Возникает failure/warning, опасная ветка замораживается, затем локальное состояние чинится по брокеру.
Heartbeat, last_error, SLA, queue drops, latency, открытые заявки и reconciliation видны в API/dashboard.
Приём market stream, кэширование данных, анализ символов, тяжёлые shadow/исследовательские расчёты, чтение API и фоновое обслуживание.
Инструменты: asyncio, background threads, отдельные process workers.
Итоговое изменение одного брокерского счёта: резерв капитала, отправка заявки, обработка fill и изменение портфеля.
Принцип: parallel analysis, single-writer execution.
Стратегия оценивает вероятность и риск, а не знает следующую цену.
Если биржа закрыта или цена несвежая, нормальный результат — no_price и отсутствие заявки.
Хорошая архитектура снижает технический риск, но не создаёт рыночную alpha сама по себе.
Между решением и фактической сделкой всегда есть рыночная задержка, спрэд и доступная ликвидность.
Предложение стратегии. Ещё не заявка.
Формализованное намерение с причиной и уникальным ID.
Фактически исполненная брокером часть заявки.
Сверка позиций и заявок робота с брокером.
Жизненный цикл позиции с ядром, ступенями и отдельным учётом.
SLA — допустимая задержка. p95 — время, в которое укладываются 95% измерений.