VIZANIXРазработка торгового ПО
Зачем и когдаТЗ7 мин чтения

Как написать техническое задание на торгового бота

Хорошее ТЗ не длинное. Оно точно отвечает на фиксированный набор вопросов, и его написание улучшит вашу стратегию раньше, чем кто-либо напишет строчку кода.

Инженеры Vizanix · об авторе

МАТЕРИАЛ
7 минвремя чтения
РАЗДЕЛ
Зачем и когда
ОПУБЛИКОВАНО
2026-08-30
ГЛАВ
5
ЧИТАТЬ ДАЛЬШЕ
3
ЯЗЫК
написано на русском
Инженерный разбор, а не пересказ документации.
SPECRULESEDGE CASESACCEPTANCE

Главный источник затрат и разочарования в проекте бота — неточное ТЗ. Хорошая новость в том, что достаточного хватает на две-три страницы, а само его написание — самая ценная неоплачиваемая работа, которую вы можете сделать.

На какие вопросы ТЗ обязано отвечать

Универсум. Какие инструменты и как определяется список? Фиксированный перечень или правило — топ N по обороту, выше порога ликвидности, без свежих листингов? Как часто пересчитывается?

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

Объём. Как считается количество? От расстояния до стопа, от эквити, от фиксированного номинала? Каков максимум? Что делать, когда посчитанный объём ниже минимума биржи — пропустить или округлить вверх? (Правильный ответ — пропустить.)

Механика входа. По рынку или лимиткой? Если лимиткой — с каким смещением и сколько она живёт? Что при частичном исполнении? Что если не исполнится вовсе?

Выходы. Уровень стопа и как он считается. Цели — одна или несколько и какая доля на каждую. Трейлинг и от какой точки. Выход по времени? Что имеет приоритет, когда два условия выхода срабатывают одновременно?

Лимиты риска. Максимум одновременных позиций. Максимум экспозиции всего и по группам. Дневной лимит убытка — только реализованный или с нереализованным? Стоп по просадке. Что происходит при достижении лимита: прекратить входы или закрыть всё?

Эксплуатация. О чём вас должны уведомлять? Что можно менять без передеплоя? Кто может запускать и останавливать? Что бот делает при перезапуске, если позиция уже открыта?

Краевые случаи, которые упускают

Этот список существует потому, что каждый пункт стоил кому-то настоящих денег:

  • На момент старта бота уже есть открытая позиция. Принять её, закрыть или отказаться стартовать?
  • Биржа отклонила стоп после того, как вход исполнился. Повторить, закрыть позицию или алерт?
  • Сигнал на выход срабатывает, пока входной ордер ещё висит.
  • Инструмент делистят или останавливают торги, пока вы его держите.
  • Фандинг рассчитывается посреди позиции — засчитывается ли он в дневной лимит убытка?
  • Две стратегии хотят противоположные позиции по одному символу.
  • Сигнал срабатывает во время пропуска данных, которого вы ещё не заметили.
  • Эквити изменилось между сигналом и ордером настолько, что объём теперь неверен.

Напишите и критерии приёмки

Как обе стороны узнают, что бот корректен? Не «он зарабатывает» — это не программный критерий. Проверяемые утверждения:

  1. На такой исторической последовательности баров бот выдаёт ровно такие сигналы.
  2. При принудительном частичном исполнении остаток снимается, а брекет соответствует исполненному объёму.
  3. При принудительном обрыве связи с открытой позицией бот сверяется до постановки чего-либо нового.
  4. При пробитии дневного лимита убытка новых входов не происходит до следующей сессии.
  5. Kill switch закрывает все позиции за N секунд.

Это же становится списком учений на testnet. И это то, что делает спор разрешимым, что выгодно обеим сторонам.

Чего не надо туда класть

  • Выбор реализации. Какой язык, какая библиотека, какая база. Скажите, что система должна делать; как — пусть решает разработчик, если у вас нет реального ограничения.
  • Ожидаемую доходность. Это не программное требование, и по нему нельзя принять работу. См. почему никто честный не гарантирует прибыль.
  • Мечтательные функции. «А потом, может быть, машинное обучение.» Либо это в объёме, либо нет; наполовину описанные будущие функции искажают архитектуру и цену.

Короткий путь, если застряли

Запишите, что вы делаете руками, по порядку, как будто инструктируете кого-то делать это за вас, пока вы месяц в отъезде. Потом пройдитесь и отметьте каждое место, где написали слово вроде «сильный», «хороший», «обычно» или «если выглядит правильно».

Каждая такая отметка — это решение, которое вы принимали не замечая. Превращение их в числа и есть техническое задание, и это же та часть, которая улучшает вашу торговлю независимо от того, построите вы бота или нет.

Статья описывает инженерную практику. Это не инвестиционная рекомендация. Vizanix разрабатывает программное обеспечение и не обещает торговую доходность.

Блог

Читать дальше

Решение · 5 мин

Когда не надо автоматизировать

Мы отказываемся или переопределяем объём в заметной части обращений. Вот список условий, при которых автоматизация — неверный следующий шаг, изложенный так, чтобы вы могли проверить себя до оплаты кому бы то ни было.

Хотите такое у себя?

Мы пишем о том, что строим. Если нужно построить — напишите, разбор бесплатный.

Бриф

Получить оценку проекта

Четыре вопроса и контакт. Предоплата для разговора не нужна — если задача не наша, скажем сразу.

01Что вам нужно
02Биржа
03Рынок
04Стратегия
05Контакты

Проще написать напрямую? Telegram @vx_ceo

Обсудить систему