Как «думает» торговый бот — и почему правильный ответ: никак
У бота нет интуиции, нет памяти о вчерашнем страхе и нет способности заметить то, смотреть на что вы ему не велели. Понимание этого и есть способ написать хорошего бота.
Инженеры Vizanix · об авторе
- РАЗДЕЛ
- Эссе
- ОПУБЛИКОВАНО
- 2026-08-28
- ГЛАВ
- 6
- ЧИТАТЬ ДАЛЬШЕ
- 3
- ЯЗЫК
- написано на русском
«Что бот думает об этом рынке?» — вопрос, который нам задают часто, и честный ответ в том, что он не думает ничего. Он вычисляет. Это различие не педантизм: оно определяет, чего от бота разумно ожидать.
Один цикл, никакой преемственности
Сведите торгового бота к сути — и получите цикл: приходит событие, обновляется состояние, вычисляется функция, результат сравнивается с порогами, действие выпускается или нет. Потом всё повторяется с нуля.
Ничего не переносится, кроме того, что вы явно сохранили. Если бот должен знать, что этот инструмент сегодня трижды выбивал стоп, этот факт обязан существовать счётчиком в объекте состояния. Он не вспомнит. Осадка не остаётся.
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 разрабатывает программное обеспечение и не обещает торговую доходность.