VIZANIXРазработка торгового ПО
ЭссеЭссе8 мин чтения

Как «думает» торговый бот — и почему правильный ответ: никак

У бота нет интуиции, нет памяти о вчерашнем страхе и нет способности заметить то, смотреть на что вы ему не велели. Понимание этого и есть способ написать хорошего бота.

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

МАТЕРИАЛ
8 минвремя чтения
РАЗДЕЛ
Эссе
ОПУБЛИКОВАНО
2026-08-28
ГЛАВ
6
ЧИТАТЬ ДАЛЬШЕ
3
ЯЗЫК
написано на русском
Инженерный разбор, а не пересказ документации.
STATEEVENT LOOPNO INTUITIONEXPLICIT

«Что бот думает об этом рынке?» — вопрос, который нам задают часто, и честный ответ в том, что он не думает ничего. Он вычисляет. Это различие не педантизм: оно определяет, чего от бота разумно ожидать.

Один цикл, никакой преемственности

Сведите торгового бота к сути — и получите цикл: приходит событие, обновляется состояние, вычисляется функция, результат сравнивается с порогами, действие выпускается или нет. Потом всё повторяется с нуля.

Ничего не переносится, кроме того, что вы явно сохранили. Если бот должен знать, что этот инструмент сегодня трижды выбивал стоп, этот факт обязан существовать счётчиком в объекте состояния. Он не вспомнит. Осадка не остаётся.

python
def on_event(event, state):
    state.update(event)                      # всё, что бот знает, живёт здесь
    features = compute(state)                # только из состояния, ничего неявного
    signal = strategy.evaluate(features)     # число, сравниваемое с порогом
    if signal is None:
        return log_skip(reason(features))    # почему ничего не случилось — тоже вывод
    return risk.evaluate(signal, state)      # и он всё ещё может сказать нет

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

Нет контекста и негде его взять

Человек, смотрящий на график, приносит с собой всё: что у биржи утром был сбой, что анонсировали листинг, что эта фигура последнее время не отрабатывает, что рынок ощущается тонким. Ничего из этого нет в ценовом ряду, и всё это влияет на решение.

Бот видит те числа, которые вы в него завели. Если у биржи был сбой, бот видит дыру в свечах и считает её большим движением. Если ликвидность обвалилась, он видит ту же форму бара при десятикратно меньшей глубине и считает объём как обычно — если только вы не дали ему признак ликвидности и не сказали, что с ним делать.

И это по большей части достоинство

Отсутствие интуиции — это заодно отсутствие всего, что интуиция тащит за собой. Бот не привязывается к позиции. Ему не нужно оказаться правым. Он ничего не чувствует по поводу убытка двадцатиминутной давности и не «отыгрывается». К тысячному сигналу он применяет то же правило, что и к первому.

В этом всё ценностное предложение автоматизации, и оно куплено ценой потери контекста выше. Это обмен, а не апгрейд.

Где модель меняет картину, а где нет

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

Модель способна найти взаимодействия, которые вы бы руками не написали. Она не видит за пределами своих входов и ломается специфическим образом, который стоит усвоить: уверенно. Бот на правилах в незнакомом режиме обычно ничего не делает, потому что ни одно условие не совпало. Модель экстраполирует и возвращает число, выглядящее ровно так же, как числа, которые она возвращает, когда права.

Дисциплина, которую это навязывает

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

  • «Входить на сильном движении» превращается в: сколько баров, какой минимальный процент у каждого, какое отношение тела к размаху, что делать при доджи.
  • «Избегать мёртвых монет» превращается в: какая доля стоячих баров за какой период дисквалифицирует инструмент.
  • «Не переторговывать» превращается в: потолок одновременных позиций, лимит сделок в сутки, чёрный список по серии убытков.
  • «Резать убытки» превращается в: уровень стопа, посчитанный как, двигаемый когда и при каких условиях — никогда.

Наша разворотная стратегия записывает конкретную причину отказа: серия коротка, доджи в цепочке, не прошёл фильтр расширения, RSI не экстремален, импульс вне коридора. Этого списка не существовало, пока кому-то не пришлось сделать правила достаточно явными для машины. Большая часть улучшения происходит именно в момент записи.

Чего ожидать, сказано прямо

Торговый бот — это исполнитель правил с идеальным постоянством, неограниченным вниманием, без суждения и без контекста за пределами входных данных. Он сделает ровно то, что вы указали, — в том числе в ситуациях, о которых вы не подумали, где «ровно то, что вы указали» и есть проблема.

Поэтому интересная работа — не в торговой логике. Она в границах: правилах риска, лимитах, kill switch и мониторинге, который сообщит, что машина уверенно делает глупость.

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

Блог

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

Эссе · 9 мин

Грядущая сингулярность, вид с торгового стола

Рынки — единственное место, где большое число автоматических агентов уже конкурирует друг с другом на реальные деньги. То, что там произошло, стоит больше большинства прогнозов.

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

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

Бриф

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

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

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

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

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