Поделиться

Торговый бот: что это, как работает и как проверить до запуска

Обложка статьи «Торговый бот: что это, как работает и как проверить до запуска»: цепочка от графика через алерт и сервер к бирже с отмеченным обрывом связи
Что вы узнаете
  • Разберётесь, из каких блоков собран торговый робот
  • Проследите путь сигнала от свечи до заявки на бирже
  • Узнаете, какие права давать API-ключу, а какие не давать никогда
  • Получите порядок запуска из семи шагов и правила аварийной остановки
Применить за 30 мин
Новичкам
25просмотров

Что такое торговый бот и что он делает вместо трейдера

Торговый бот - это исполнитель. Он круглосуточно смотрит на поток данных, сравнивает его с условиями, которые в него заложили, и при совпадении отправляет ордер на биржу. В справке MetaTrader слова «советник» и «торговый робот» используются как синонимы, и это честно отражает суть: программа советует не вам, а бирже, причём в форме заявки.

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

Отсюда простое следствие, которое экономит месяцы. Если торговых правил на бумаге нет, автоматизировать нечего: бот превратит расплывчатое «войти на отскоке» в конкретный код, и этот код напишет либо программист, либо вы, но додумывать он будет за вас. Начинают с шаблона торгового плана, а не с выбора платформы.

Чем бот отличается от индикатора, алерта и готовых сигналов?

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

Что этоКто принимает решениеКто отправляет заявкуЧто ломается чаще всего
Индикаторчеловекчеловексигнал видно на незакрытой свече, после закрытия он исчезает
Алерт (уведомление)человекчеловекуведомление не пришло или алерт остановился по лимиту
Стратегия в Pine Scriptкод на историиникто, это симуляциярезультат симуляции путают с результатом реальной торговли
Торговый боткодкодразрыв связи, отказ биржи, дубль заявки
Копитрейдингчужой трейдерплощадкавы не знаете правил и не можете их проверить

Разница между индикатором и стратегией видна прямо в языке платформы: в Pine Script объявление indicator() рисует на графике, а strategy() вызывает симулятор сделок. Подробнее это разобрано в материале про то, чем устроен язык Pine Script.

Если робот живёт в MetaTrader, у него своя экосистема и своя процедура проверки - она собрана отдельно, как проверить советника в MetaTrader. Дальше речь про связку «график плюс биржа»: именно в ней теряются деньги новичков.

Из каких блоков состоит торговый робот?

  • Ошибка верхнего слоя не леч…

    Данные - Журнал

  1. Данные

    Котировки, таймфрейм, время закрытия бара

  2. Правила

    Условия входа и выхода без двусмысленности

  3. Риск-модуль

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

  4. Исполнение

    Формирование и отправка заявки в API биржи

  5. Журнал

    Что отправлено, что ответила биржа, что исполнено

Учебная схема показывает порядок подчинения: нижний слой не может исправить ошибку верхнего. Читается сверху вниз.

Источник схемы: авторская раскладка по документации TradingView, MQL5 и Binance; слои означают зоны ответственности, а не модули конкретной программы.

Слой данных решает, на чём считает робот. Одна и та же логика на закрытых свечах и на текущей даёт разные сделки, а на нестандартных графиках вроде Heikin Ashi симуляция вообще идёт по синтетическим ценам, которые не равны рыночным.

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

Слой исполнения и журнал новички обычно не проектируют вовсе. А ведь именно журнал отвечает на вопрос «почему сегодня минус»: в нём видно, отправилась ли заявка, что ответила биржа и по какой цене прошло исполнение.

Как сигнал доходит от графика до биржи?

Индикатор сам по себе не разговаривает с биржей. Его алерт умеет отправить HTTP-запрос на ваш адрес, а превратить этот запрос в ордер должен отдельный сервис. Это и есть та часть, которую продавцы «бота под ключ» показывают реже всего.

  1. 1

    Свеча закрылась

    Условие считается на завершённом баре

  2. 2

    Сработал алерт

    Частота срабатывания задана в настройках

  3. 3

    Ушёл вебхук

    HTTP POST на ваш адрес, тело в формате JSON

  4. 4

    Принял коннектор

    Свой сервер разбирает тело и проверяет подпись

  5. 5

    Заявка в API

    Объём, тип ордера и клиентский идентификатор

  6. 6

    Ответ биржи

    Принято, отклонено или ограничено лимитом

Схема показывает, где именно теряются сигналы, если бот молчит или торгует не то.

Источник схемы: авторская последовательность по справке TradingView о вебхуках и документации Binance по торговым ручкам.

У вебхуков TradingView есть жёсткие технические рамки, и почти все они всплывают в первый же день. Сервер обязан ответить быстрее трёх секунд, иначе запрос отменяется. Работают только порты 80 и 443. Вебхук-алерты разрешены лишь при включённой двухфакторной аутентификации, а IPv6 не поддерживается совсем.

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

Само уведомление при этом остаётся уведомлением. Как проверять сигнал до сделки, разобрано отдельно, и автоматизация этой проверки не отменяет: она просто переносит её в код.

Что ломается на каждом звене цепочки?

Ниже симптомы, которые видит владелец, и причина, которую стоит проверять первой.

  • Сигнал был на графике, а после закрытия свечи пропал. Вероятная причина: расчёт по незакрытому бару. Лечится частотой срабатывания «только на закрытии бара»; отдельно разобрано в материале про индикаторы без перерисовки.
  • Бот замолчал среди дня. Вероятная причина: алерт остановился автоматически, потому что сработал чаще 15 раз за 3 минуты. Второй вариант - у стандартного алерта истёк двухмесячный срок жизни.
  • Заявка ушла дважды. Вероятная причина: сеть моргнула, ответа не было, код повторил отправку без клиентского идентификатора ордера.
  • Биржа отвечает отказом с непонятным кодом. Вероятная причина: объём не попадает в шаг лота или сумма ордера меньше минимальной. Обе величины биржа публикует в справочнике инструментов.
  • Внезапно перестали проходить все запросы. Вероятная причина: превышен лимит частоты. Binance считает лимиты по IP-адресу и после кода 429 ждёт отката, а на упрямых отвечает баном от двух минут до трёх суток. Bybit считает лимиты на аккаунт и отдаёт остаток в заголовках ответа.
  • Позиция открыта, а стопа нет. Вероятная причина: стоп отправляется отдельной заявкой и не прошёл. Тип заявки и риск исполнения разобраны в статье про то, как выставить стоп-лосс.

С дублями есть тонкость, на которой легко успокоиться раньше времени. Binance принимает клиентский идентификатор ордера и отклоняет повтор с тем же значением, пока предыдущий ордер не исполнен. После исполнения тот же идентификатор пройдёт снова. Bybit требует уникальности своего идентификатора, но защиты от повторной отправки в документации не обещает. Биржа страхует частично, полный журнал отправленных заявок держите у себя.

Как проверить стратегию на истории и не обмануть себя?

Бэктест в TradingView делает брокер-эмулятор. Он исполняет ордера стратегии по доступным данным графика и не знает движения внутри бара: если открытие ближе к максимуму, эмулятор считает, что цена шла открытие, максимум, минимум, закрытие. В MetaTrader та же развилка называется режимом моделирования, и их пять: от «каждый тик на реальных тиках» до «только цены открытия».

Порядок проверки, который экономит деньги:

  1. Зафиксируйте версию правил и параметров. Дальше меняйте по одной настройке, иначе не поймёте, что именно улучшило результат.
  2. Отрежьте последнюю треть истории и не смотрите в неё. Это ваша отложенная выборка.
  3. Настройте стратегию только на основном отрезке.
  4. Включите комиссию и проскальзывание. Стратегия, которая живёт без издержек и умирает с ними, не стратегия.
  5. Заморозьте версию и один раз прогоните отложенный отрезок. Один раз, без подгонки.
  6. Запустите форвард-тест на демо или на бумажном счёте минимум на несколько недель.
  7. Сравните список сделок демо со списком из истории. Расхождение в числе сигналов - повод искать перерисовку, а не радоваться.

Записывайте количество перебранных вариантов. Это не бюрократия: без числа попыток отчёт о доходности нельзя оценить, о чём прямо пишут авторы работы о переобучении бэктестов.

Какие риски не видны в красивом отчёте бэктеста?

Первое и главное - подгонка. В статье «Pseudo-Mathematics and Financial Charlatanism» в Notices of the AMS показано, что на двухлетнем отрезке истории достаточно перебрать всего семь независимых конфигураций стратегии, чтобы ожидаемый максимальный коэффициент Шарпа на обучающей выборке стал равен 1 при нулевом коэффициенте вне выборки. Семь. Не семьсот.

Рядом стоит заглядывание в будущее. В Pine Script это классический вызов данных старшего таймфрейма с включённым режимом опережения и без сдвига на бар назад: документация прямо называет такой результат данными из будущего на исторических барах.

Третье - издержки. Комиссия, спред и проскальзывание съедают кромку тем сильнее, чем чаще торгует бот. CFTC советует отдельно посчитать и стоимость подписки на сам сервис: она вычитается из вашей доходности, а не из его рекламы.

И последнее: рынок меняет режим. Автоматизированный инструмент опирается на допущения, и SEC формулирует это без обиняков: допущения могут оказаться неверными или неприменимыми к вашей ситуации. Алгоритм, настроенный на спокойный боковик, встретит первый сильный тренд как аварию.

Какие права давать API-ключу?

Биржи разделяют права ключа по флагам. У Binance это отдельные разрешения на чтение, на торговлю спотом и маржой, на фьючерсы, на переводы и на вывод средств, а типы доступа в API прямо разделены на публичные данные, торговлю и приватную информацию счёта. Документация даже советует держать разные ключи под разные задачи.

Права API-ключа для торгового бота
Подойдёт, если
  • Чтение данных счёта и статуса ордеров
  • Размещение и отмена заявок на нужном рынке
  • Привязка ключа к белому списку IP-адресов
  • Отдельный ключ под каждый сервис и каждую задачу
Не подойдёт, если
  • Право на вывод средств
  • Право на внутренние переводы между счетами
  • Передача логина и пароля от торгового счёта
  • Один общий ключ на бота, скрипт и стороннюю аналитику

Источник схемы: авторская раскладка по описанию прав ключа и типов доступа в документации Binance; список отражает принцип наименьших прав, а не настройки конкретной биржи.

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

FINRA отдельно помечает как красный флаг ситуацию, когда сервис запрашивает имя пользователя и пароль от брокерского счёта. Логин и пароль не передают никому и ни при каких обещаниях.

Как запустить бота по шагам и не потерять депозит

  1. Шаг 1

    Правила на бумаге

    Вход, выход, стоп и дневной лимит записаны словами

  2. Шаг 2

    Тест на истории

    С комиссией, проскальзыванием и отложенной выборкой

  3. Шаг 3

    Форвард на демо

    Несколько недель без правок параметров

  4. Шаг 4

    Права и ключи

    Без вывода средств, с белым списком адресов

  5. Шаг 5

    Аварийная остановка

    Ручной рубильник и дневной лимит убытка

  6. Шаг 6

    Мониторинг

    Тревога на молчание бота и на превышение лимита

  7. Шаг 7

    Минимальный объём

    Боевой запуск на сумме, которую не жалко

Шаги нельзя менять местами: каждый следующий проверяет то, что предыдущий мог скрыть.

Источник схемы: авторский протокол запуска по рекомендациям FINRA, CFTC и SEC о проверке автоматизированных инструментов.

Пятый и шестой шаг важнее остальных. FINRA формулирует опасность авто-трейдинга так: из-за самой его природы вы можете понести значительные убытки ещё до того, как узнаете, что от вашего имени вообще совершались сделки. Значит, нужны две независимые тревоги: «бот молчит дольше положенного» и «дневной убыток превысил лимит», плюс физическая возможность выключить всё одной командой.

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

Как отличить рабочего бота от развода «под ключ»?

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

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

Продавец бота: что проверяемо и что нет
Подойдёт, если
  • Правила входа и выхода описаны словами
  • Отчёт указывает число перебранных конфигураций
  • Указаны комиссии, проскальзывание и период теста
  • Есть демо-режим и доступ без прав на вывод средств
Не подойдёт, если
  • Обещана доходность в процентах за месяц
  • Названы безрисковость и дружелюбность к новичку
  • Ссылка на искусственный интеллект вместо описания правил
  • Запрос логина и пароля от торгового счёта

Источник схемы: авторская сводка признаков по предупреждениям FINRA и CFTC об авто-трейдинге; это ориентиры проверки, а не юридическая квалификация.

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

Когда бот не нужен: что автоматизация не чинит

Робота часто покупают как лекарство от собственных импульсивных решений. Механизм срабатывает наполовину: рука больше не жмёт кнопку в неудачный момент, зато появляется новая кнопка - «поправить параметры после серии убытков». Это та же импульсивность, только с интерфейсом разработчика. Правила, которые помогают против такого поведения, собраны в материале про психологию трейдинга.

Автоматизация плохо окупается ещё в трёх случаях. Когда сделок мало и решение занимает минуты, а не секунды. Когда правила пока меняются от недели к неделе, то есть стратегии по сути ещё нет. И когда рынок или инструмент неликвиден: проскальзывание съест преимущество быстрее, чем бот его наберёт.

Подготовка к боту окупается и без бота. Записанные правила, посчитанный риск и честный журнал улучшают ручную торговлю независимо от того, дойдёт ли дело до кода. Смежные материалы собраны в рубрике о стратегиях.

Риски и ограничения

  • Бот не гарантирует прибыль. Совпадение условий - повод отправить заявку по вашим правилам, а не признак верного решения.
  • Рынок волатилен, торговля связана с риском потери капитала. Автоматическое исполнение увеличивает скорость, с которой этот риск реализуется.
  • Прошлые результаты не гарантируют будущих. Отчёт бэктеста описывает выбранный период и выбранные параметры, а не поведение рынка впереди.
  • Технические отказы - самостоятельный класс риска: разрыв связи, недоставленный вебхук, лимит запросов, дубль заявки, остановленный алерт.
  • Доступ к счёту через API - это доверие стороннему коду. Урезанные права снижают ущерб, но не убирают его.
  • Материал описывает общий принцип. Конкретные лимиты, права ключей и режимы тестирования у каждой площадки свои, их сверяют в её документации.

Дисклеймер. Материал носит образовательный характер и не является индивидуальной инвестиционной рекомендацией. Рынок волатилен, торговля связана с риском потери капитала. Прошлые результаты не гарантируют будущих.

Источники

Частые вопросы

Может ли индикатор сам открывать и закрывать сделки?

Нет. Индикатор рисует на графике и умеет отправить уведомление, но не формирует торговую заявку. Чтобы появилась сделка, между индикатором и биржей должен стоять отдельный код: он принимает вебхук, проверяет условия, считает объём и обращается к API площадки. Пока такого звена нет, сигнал остаётся поводом открыть график и принять решение вручную.

Чем бот отличается от копитрейдинга?

Бот исполняет ваши правила, копитрейдинг повторяет чужие сделки. В первом случае вы знаете логику целиком и можете её проверить на истории, во втором логика вам недоступна, а результат зависит от решений другого человека. Риск тоже разный: бот ломается технически, копитрейдинг зависит от чужой дисциплины и от того, совпадает ли размер вашего счёта с размером счёта автора.

Можно ли подключить индикатор напрямую к бирже?

Напрямую нет. Алерт индикатора умеет отправить HTTP-запрос на ваш адрес, но биржа такого запроса не понимает: ей нужен подписанный вызов API с объёмом, типом ордера и идентификатором. Поэтому в цепочке всегда стоит промежуточный сервис, который принимает вебхук и превращает его в заявку. Именно этот сервис отвечает за проверку дублей и за поведение при обрыве связи.

Что будет, если вебхук придёт дважды?

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

Гарантирует ли бэктест будущую прибыль?

Нет. Тест на истории показывает, как заданные условия отработали на выбранном периоде с выбранными параметрами. Результат впереди зависит от рынка, издержек, качества исполнения и того, соблюдаются ли правила. При переборе вариантов красивый отчёт получается почти неизбежно: на двухлетнем отрезке хватает семи независимых конфигураций, чтобы коэффициент Шарпа на обучающей выборке стал равен единице при нуле вне выборки.

Нужно ли уметь программировать, чтобы запустить бота?

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

Материал был полезен?

Обсуждение

Элина

Небольшое дополнение: на неликвидных инструментах картина заметно хуже, там движение может нарисовать один крупный участник. Проверять стоит на чём-то с нормальным оборотом.

Саша

а насколько это устаревает со временем?

Макс

Да, на тонком рынке любой теханализ работает хуже - там цена отражает не баланс спроса и предложения, а одну чужую заявку. Спасибо, что назвали.

Оставить комментарий

Профильный эксперт
Макс
Аналитик рынка

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

График TradingView с сигналами Buy и Sell индикатора Midas
Midas multi-индикатор for TradingViewОдин из самых продвинутых индикаторов для трейдинга
  • Сигналы без перерисовки
  • Интерактивный теханализ
  • 7 стратегий на выбор
Midas multi-индикатор for TradingViewСигнал, стоп и 3 цели — прямо на графике
  • Сигнал фиксируется по закрытию свечи
  • Стоп и 3 цели строятся автоматически
  • План сделки виден до входа