Что такое торговый бот и что он делает вместо трейдера
Торговый бот - это исполнитель. Он круглосуточно смотрит на поток данных, сравнивает его с условиями, которые в него заложили, и при совпадении отправляет ордер на биржу. В справке MetaTrader слова «советник» и «торговый робот» используются как синонимы, и это честно отражает суть: программа советует не вам, а бирже, причём в форме заявки.
Автоматизация снимает три вещи: усталость, необходимость сидеть у графика и задержку между решением и кликом. Она не снимает ни одной из тех, ради которых обычно покупают робота. Качество правил, выбор инструмента, размер позиции и готовность выключить систему в плохой день остаются человеческими задачами.
Отсюда простое следствие, которое экономит месяцы. Если торговых правил на бумаге нет, автоматизировать нечего: бот превратит расплывчатое «войти на отскоке» в конкретный код, и этот код напишет либо программист, либо вы, но додумывать он будет за вас. Начинают с шаблона торгового плана, а не с выбора платформы.
Чем бот отличается от индикатора, алерта и готовых сигналов?
Новичок часто считает, что стрелка на графике и торговый автомат - звенья одной цепи. Технически между ними лежит несколько отдельных систем, и каждая может работать без остальных.
| Что это | Кто принимает решение | Кто отправляет заявку | Что ломается чаще всего |
|---|---|---|---|
| Индикатор | человек | человек | сигнал видно на незакрытой свече, после закрытия он исчезает |
| Алерт (уведомление) | человек | человек | уведомление не пришло или алерт остановился по лимиту |
| Стратегия в Pine Script | код на истории | никто, это симуляция | результат симуляции путают с результатом реальной торговли |
| Торговый бот | код | код | разрыв связи, отказ биржи, дубль заявки |
| Копитрейдинг | чужой трейдер | площадка | вы не знаете правил и не можете их проверить |
Разница между индикатором и стратегией видна прямо в языке платформы: в Pine Script объявление indicator() рисует на графике, а strategy() вызывает симулятор сделок. Подробнее это разобрано в материале про то, чем устроен язык Pine Script.
Если робот живёт в MetaTrader, у него своя экосистема и своя процедура проверки - она собрана отдельно, как проверить советника в MetaTrader. Дальше речь про связку «график плюс биржа»: именно в ней теряются деньги новичков.
Из каких блоков состоит торговый робот?
- 1
Данные
Котировки, таймфрейм, время закрытия бара
- 2
Правила
Условия входа и выхода без двусмысленности
- 3
Риск-модуль
Размер позиции, стоп, дневной лимит
- 4
Исполнение
Формирование и отправка заявки в API биржи
- 5
Журнал
Что отправлено, что ответила биржа, что исполнено
Источник схемы: авторская раскладка по документации TradingView, MQL5 и Binance; слои означают зоны ответственности, а не модули конкретной программы.
Слой данных решает, на чём считает робот. Одна и та же логика на закрытых свечах и на текущей даёт разные сделки, а на нестандартных графиках вроде Heikin Ashi симуляция вообще идёт по синтетическим ценам, которые не равны рыночным.
Слой правил - то, что вы написали. Слой риска - то, что вы забыли написать: размер позиции считается от допустимой потери и расстояния до стоп-лосса, и формула размера позиции не появляется в коде сама.
Слой исполнения и журнал новички обычно не проектируют вовсе. А ведь именно журнал отвечает на вопрос «почему сегодня минус»: в нём видно, отправилась ли заявка, что ответила биржа и по какой цене прошло исполнение.
Как сигнал доходит от графика до биржи?
Индикатор сам по себе не разговаривает с биржей. Его алерт умеет отправить HTTP-запрос на ваш адрес, а превратить этот запрос в ордер должен отдельный сервис. Это и есть та часть, которую продавцы «бота под ключ» показывают реже всего.
- 1
Свеча закрылась
Условие считается на завершённом баре
- 2
Сработал алерт
Частота срабатывания задана в настройках
- 3
Ушёл вебхук
HTTP POST на ваш адрес, тело в формате JSON
- 4
Принял коннектор
Свой сервер проверяет доступ и разбирает тело
- 5
Заявка в API
Объём, тип ордера и клиентский идентификатор
- 6
Ответ биржи
Принято, отклонено или ограничено лимитом
Источник схемы: авторская последовательность по справке TradingView о вебхуках и документации Binance по торговым ручкам.
У вебхуков TradingView есть жёсткие технические рамки, и почти все они всплывают в первый же день. Сервер обязан ответить быстрее трёх секунд, иначе запрос отменяется. Работают только порты 80 и 443. Вебхук-алерты разрешены лишь при включённой двухфакторной аутентификации, а IPv6 не поддерживается совсем.
Платформа честно признаёт и другое: вебхуки иногда не доходят, и статус доставки надо смотреть в журнале алертов. Значит, бот обязан уметь пережить пропущенный сигнал, а не считать, что получил все.
Само уведомление при этом остаётся уведомлением. Как проверять сигнал до сделки, разобрано отдельно, и автоматизация этой проверки не отменяет: она просто переносит её в код.
Что ломается на каждом звене цепочки?
Ниже симптомы, которые видит владелец, и причина, которую стоит проверять первой.
- Сигнал был на графике, а после закрытия свечи пропал. Вероятная причина: расчёт по незакрытому бару. Лечится частотой срабатывания «только на закрытии бара»; отдельно разобрано в материале про индикаторы без перерисовки.
- Бот замолчал среди дня. Вероятная причина: алерт остановился автоматически, потому что сработал чаще 15 раз за 3 минуты. Второй вариант - истёк срок жизни алерта. В справке TradingView указан предел в два месяца, но для Premium и Ultimate доступен бессрочный вариант; проверьте срок именно своего уведомления.
- Заявка ушла дважды. Вероятная причина: сеть моргнула, ответа не было, код повторил отправку без клиентского идентификатора ордера.
- Биржа отвечает отказом с непонятным кодом. Вероятная причина: объём не попадает в шаг лота или сумма ордера меньше минимальной. Обе величины биржа публикует в справочнике инструментов.
- Внезапно перестали проходить все запросы. Вероятная причина: превышен лимит частоты. Binance считает лимиты по IP-адресу и после кода 429 ждёт отката, а на упрямых отвечает баном от двух минут до трёх суток. У Bybit есть и общий лимит по IP, и отдельные лимиты API по аккаунту; остаток последних приходит в заголовках ответа.
- Позиция открыта, а стопа нет. Вероятная причина: стоп отправляется отдельной заявкой и не прошёл. Тип заявки и риск исполнения разобраны в статье про то, как выставить стоп-лосс.
С дублями есть тонкость, на которой легко успокоиться раньше времени. Binance принимает клиентский идентификатор ордера и отклоняет повтор с тем же значением, пока предыдущий ордер не исполнен. После исполнения тот же идентификатор пройдёт снова. Bybit требует уникальности своего идентификатора, но защиты от повторной отправки в документации не обещает. Биржа страхует частично, полный журнал отправленных заявок держите у себя.
Как понять, что заявка исполнена, а не только принята?
В документации Bybit это разделено прямо: ответ на создание ордера подтверждает приём запроса, а обработка идёт асинхронно. Окончательный статус предлагают проверять через WebSocket - поток событий биржи. Если коннектор написал «успех», а в истории сделок пусто, цепочка ещё не проверена.
| Что видно в журнале | Что проверить до следующего действия |
|---|---|
| Запрос принят, есть номер ордера | Появился ли ордер на бирже и каков его текущий статус |
| Исполнена часть объёма | Сколько куплено или продано, сколько осталось в заявке и защищён ли фактический объём |
| Ордер исполнен | Совпадают ли объём, цена и комиссия с биржевой историей сделок |
| Ответ потерян или пришёл таймаут | Что произошло с исходным ордером; повторная отправка пока не разрешена |
Одна заявка может исполниться несколькими частями. В учебном примере бот запросил 10 единиц, а биржа исполнила 3: уже есть позиция на 3 единицы и ещё 7 в остатке заявки. Это не ошибка связи и не полное исполнение. У Bybit для такой сверки есть отдельный поток исполнений: в нём передаются номер ордера, объём и цена каждой сделки, комиссия и неисполненный остаток.
У Binance ошибка -1007 TIMEOUT означает неизвестный результат, а не доказанный отказ. Документация советует проверить событие в потоке данных счёта, а если его нет - запросить статус через API. Ответы 5xx тоже нельзя автоматически считать неисполнением. Новая заявка с новым номером в этот момент может удвоить позицию.
До запуска проверьте на демо три ситуации: частичное исполнение, потерянный ответ после отправки и перезапуск коннектора с повторным сигналом. Ожидаемый результат запишите заранее: бот восстанавливает состояние исходного ордера, сохраняет связь с сигналом и не открывает лишнюю сделку. Если состояние восстановить не удалось, новые заявки по этому сигналу остаются на паузе, а владелец получает сообщение об ошибке. Это проверка исполнения; прибыльность стратегии она не подтверждает.
Как проверить стратегию на истории и не обмануть себя?
Бэктест в TradingView делает брокер-эмулятор. По умолчанию он исполняет ордера стратегии по доступным данным графика и достраивает движение внутри бара: если открытие ближе к максимуму, эмулятор считает, что цена шла открытие, максимум, минимум, закрытие. Режим Bar Magnifier уточняет исполнение по данным младшего таймфрейма, когда они доступны. В MetaTrader 5 для рыночного теста есть четыре режима: реальные тики, моделируемые тики, минутные OHLC и только цены открытия. Пятый пункт списка - математические расчёты без котировок; проверкой торгового исполнения он не служит.
Порядок проверки, который экономит деньги:
- Зафиксируйте версию правил и параметров. Дальше меняйте по одной настройке, иначе не поймёте, что именно улучшило результат.
- Отрежьте последнюю треть истории и не смотрите в неё. Это ваша отложенная выборка.
- Настройте стратегию только на основном отрезке.
- Включите комиссию и проскальзывание. Стратегия, которая живёт без издержек и умирает с ними, не стратегия.
- Заморозьте версию и один раз прогоните отложенный отрезок. Один раз, без подгонки.
- Запустите форвард-тест на демо или на бумажном счёте минимум на несколько недель.
- Сравните список сделок демо со списком из истории. Расхождение в числе сигналов - повод искать перерисовку, а не радоваться.
Записывайте количество перебранных вариантов. Это не бюрократия: без числа попыток отчёт о доходности нельзя оценить, о чём прямо пишут авторы работы о переобучении бэктестов.
Какие риски не видны в красивом отчёте бэктеста?
Первое и главное - подгонка. В статье «Pseudo-Mathematics and Financial Charlatanism» в Notices of the AMS приведён модельный пример: на двухлетнем отрезке истории достаточно перебрать всего семь независимых конфигураций стратегии, чтобы ожидаемый максимальный коэффициент Шарпа на обучающей выборке стал равен 1 при нулевом коэффициенте вне выборки. Семь. Не семьсот.
Рядом стоит заглядывание в будущее. В Pine Script это классический вызов данных старшего таймфрейма с включённым режимом опережения и без сдвига на бар назад: документация прямо называет такой результат данными из будущего на исторических барах.
Третье - издержки. Комиссия, спред и проскальзывание съедают кромку тем сильнее, чем чаще торгует бот. CFTC советует отдельно посчитать и стоимость подписки на сам сервис: она вычитается из вашей доходности, а не из его рекламы.
И последнее: рынок меняет режим. Автоматизированный инструмент опирается на допущения, и SEC формулирует это без обиняков: допущения могут оказаться неверными или неприменимыми к вашей ситуации. Алгоритм, настроенный на спокойный боковик, встретит первый сильный тренд как аварию.
Какие права давать API-ключу?
Биржи разделяют права ключа по флагам. У Binance это отдельные разрешения на чтение, на торговлю спотом и маржой, на фьючерсы, на переводы и на вывод средств, а типы доступа в API прямо разделены на публичные данные, торговлю и приватную информацию счёта. Документация даже советует держать разные ключи под разные задачи.
Подойдёт, если
- Чтение данных счёта и статуса ордеров
- Размещение и отмена заявок на нужном рынке
- Привязка ключа к белому списку IP-адресов
- Отдельный ключ под каждый сервис и каждую задачу
Не подойдёт, если
- Право на вывод средств
- Право на внутренние переводы между счетами
- Передача логина и пароля от торгового счёта
- Один общий ключ на бота, скрипт и стороннюю аналитику
Источник схемы: авторская раскладка по описанию прав ключа и типов доступа в документации Binance; список отражает принцип наименьших прав, а не настройки конкретной биржи.
Ключ «только торговля» при этом не спасает сам по себе, и вот почему. Имея одно лишь право торговать, чужой код может двигать цену на неликвидном инструменте и торговать против вас: деньги уйдут со счёта без единой операции вывода. Поэтому к урезанным правам добавляют белый список адресов, отдельный ключ на каждый сервис и лимит объёма.
FINRA отдельно помечает как красный флаг ситуацию, когда сервис запрашивает имя пользователя и пароль от брокерского счёта. Логин и пароль не передают никому и ни при каких обещаниях.
Как запустить бота по шагам и не потерять депозит
Шаг 1
Правила на бумаге
Вход, выход, стоп и дневной лимит записаны словами
Шаг 2
Тест на истории
С комиссией, проскальзыванием и отложенной выборкой
Шаг 3
Форвард на демо
Несколько недель без правок параметров
Шаг 4
Права и ключи
Без вывода средств, с белым списком адресов
Шаг 5
Аварийная остановка
Ручной рубильник и дневной лимит убытка
Шаг 6
Мониторинг
Тревога на молчание бота и на превышение лимита
Шаг 7
Минимальный объём
Боевой запуск на сумме, которую не жалко
Источник схемы: авторский протокол запуска по рекомендациям FINRA, CFTC и SEC о проверке автоматизированных инструментов.
Пятый и шестой шаг важнее остальных. FINRA формулирует опасность авто-трейдинга так: из-за самой его природы вы можете понести значительные убытки ещё до того, как узнаете, что от вашего имени вообще совершались сделки. Значит, нужны две независимые тревоги: «бот молчит дольше положенного» и «дневной убыток превысил лимит», плюс физическая возможность выключить всё одной командой.
Наблюдаемый результат седьмого шага специально скромный: одна маленькая сделка, прошедшая полный цикл, с записью в журнале и совпадающей ценой исполнения. Этого достаточно, чтобы считать цепочку рабочей. Прибыль на этом этапе ничего не доказывает.
Как отличить рабочего бота от развода «под ключ»?
FINRA в 2025 году выпустила отдельное предупреждение о незарегистрированных конторах, продающих авто-трейдинг, и перечислила их приёмы почти списком. Сервис называют дружелюбным для новичка и безрисковым, обещают стабильную доходность выше десяти процентов в месяц, ссылаются на искусственный интеллект, показывают расплывчатые данные о прошлой доходности и заявляют о партнёрстве с известными брокерами, используя их логотипы без разрешения.
CFTC добавляет к этому обещание выигрыша в каждой сделке и доходности в десятки тысяч процентов. И даёт четыре понятных проверки: изучить биографию компании и людей, посмотреть возраст регистрации домена, получить второе мнение и посчитать, что останется после комиссий, спредов и стоимости подписки.
Подойдёт, если
- Правила входа и выхода описаны словами
- Отчёт указывает число перебранных конфигураций
- Указаны комиссии, проскальзывание и период теста
- Есть демо-режим и доступ без прав на вывод средств
Не подойдёт, если
- Обещана доходность в процентах за месяц
- Названы безрисковость и дружелюбность к новичку
- Ссылка на искусственный интеллект вместо описания правил
- Запрос логина и пароля от торгового счёта
Источник схемы: авторская сводка признаков по предупреждениям FINRA и CFTC об авто-трейдинге; это ориентиры проверки, а не юридическая квалификация.
Простое правило: то, что нельзя проверить, считается отсутствующим. Отчёт без числа попыток, доходность без периода и издержек, «наш алгоритм на нейросети» без описания правил - всё это не данные.
Когда бот не нужен: что автоматизация не чинит
Робота часто покупают как лекарство от собственных импульсивных решений. Механизм срабатывает наполовину: рука больше не жмёт кнопку в неудачный момент, зато появляется новая кнопка - «поправить параметры после серии убытков». Это та же импульсивность, только с интерфейсом разработчика. Правила, которые помогают против такого поведения, собраны в материале про психологию трейдинга.
Автоматизация плохо окупается ещё в трёх случаях. Когда сделок мало и решение занимает минуты, а не секунды. Когда правила пока меняются от недели к неделе, то есть стратегии по сути ещё нет. И когда рынок или инструмент неликвиден: проскальзывание съест преимущество быстрее, чем бот его наберёт.
Подготовка к боту окупается и без бота. Записанные правила, посчитанный риск и честный журнал улучшают ручную торговлю независимо от того, дойдёт ли дело до кода. Смежные материалы собраны в рубрике о стратегиях.
Риски и ограничения
- Бот не гарантирует прибыль. Совпадение условий - повод отправить заявку по вашим правилам, а не признак верного решения.
- Рынок волатилен, торговля связана с риском потери капитала. Автоматическое исполнение увеличивает скорость, с которой этот риск реализуется.
- Прошлые результаты не гарантируют будущих. Отчёт бэктеста описывает выбранный период и выбранные параметры, а не поведение рынка впереди.
- Технические отказы - самостоятельный класс риска: разрыв связи, недоставленный вебхук, лимит запросов, дубль заявки, остановленный алерт.
- Доступ к счёту через API - это доверие стороннему коду. Урезанные права снижают ущерб, но не убирают его.
- Материал описывает общий принцип. Конкретные лимиты, права ключей и режимы тестирования у каждой площадки свои, их сверяют в её документации.
Дисклеймер. Материал носит образовательный характер и не является индивидуальной инвестиционной рекомендацией. Рынок волатилен, торговля связана с риском потери капитала. Прошлые результаты не гарантируют будущих.
Источники
- Стратегии в Pine Script и брокер-эмулятор - как симулируются сделки и почему движение внутри бара достраивается по эвристике.
- Режим Bar Magnifier в TradingView - уточнение исполнения по данным младшего таймфрейма.
- Перерисовка в документации Pine Script - три причины расхождения истории и реального времени, опасность режима опережения.
- Алерты в Pine Script - частоты срабатывания и способ избежать сигналов по незакрытому бару.
- Вебхуки в справке TradingView - таймаут три секунды, порты 80 и 443, обязательная двухфакторная аутентификация.
- Почему алерт остановился - лимит 15 срабатываний за 3 минуты.
- Об алертах в справке TradingView - срок жизни уведомления и условия его продления.
- Тестирование в справке MetaTrader 5 - режимы рыночного теста и отдельный режим математических расчётов.
- FINRA о рисках авто-трейдинга у незарегистрированных компаний - приёмы продавцов и риск убытков до того, как владелец узнает о сделках.
- CFTC об ИИ и торговых ботах - обещания мошенников и четыре шага проверки продавца.
- SEC и FINRA об автоматизированных инвестиционных инструментах - ограничения инструмента и допущения, заложенные в алгоритм.
- Общая информация REST API Binance - типы доступа, лимиты по IP, коды 429 и 418, неизвестный результат при таймауте и 5xx.
- Торговые ручки Binance - поведение клиентского идентификатора ордера.
- Фильтры инструментов Binance - шаг лота и минимальная сумма заявки.
- Права API-ключа Binance - список отдельных разрешений, включая вывод средств.
- Создание ордера в Bybit V5 - приём запроса и асинхронное подтверждение статуса.
- Поток исполнений Bybit V5 - частичные исполнения, их объём, цена, комиссия и остаток.
- Лимиты запросов Bybit V5 - ограничения по IP и аккаунту, заголовки с остатком лимита.
- Bailey, Borwein, Lopez de Prado, Zhu. Pseudo-Mathematics and Financial Charlatanism, Notices of the AMS, 2014 - семь конфигураций и риск переобучения бэктеста.
Частые вопросы
Может ли индикатор сам открывать и закрывать сделки?
Нет. Индикатор рисует на графике и умеет отправить уведомление, но не формирует торговую заявку. Чтобы появилась сделка, между индикатором и биржей должен стоять отдельный код: он принимает вебхук, проверяет условия, считает объём и обращается к API площадки. Пока такого звена нет, сигнал остаётся поводом открыть график и принять решение вручную.
Чем бот отличается от копитрейдинга?
Бот исполняет ваши правила, копитрейдинг повторяет чужие сделки. В первом случае вы знаете логику целиком и можете её проверить на истории, во втором логика вам недоступна, а результат зависит от решений другого человека. Риск тоже разный: бот ломается технически, копитрейдинг зависит от чужой дисциплины и от того, совпадает ли размер вашего счёта с размером счёта автора.
Можно ли подключить индикатор напрямую к бирже?
Напрямую нет. Алерт индикатора умеет отправить HTTP-запрос на ваш адрес, но биржа такого запроса не понимает: ей нужен подписанный вызов API с объёмом, типом ордера и идентификатором. Поэтому в цепочке всегда стоит промежуточный сервис, который принимает вебхук и превращает его в заявку. Именно этот сервис отвечает за проверку дублей и за поведение при обрыве связи.
Что будет, если вебхук придёт дважды?
Без защиты появятся две позиции вместо одной, и обнаружится это обычно на стопе: закрывается половина объёма, вторая остаётся висеть. Идентификаторы ордера на стороне биржи страхуют лишь частично, поэтому защиту делают у себя: заявка получает собственный ключ перед отправкой, коннектор сохраняет связь сигнала с ордером и после перезапуска, а повтор проверяет по этому журналу. Срок хранения должен покрывать жизнь заявки и возможные повторы доставки; нескольких минут может не хватить. Проверяется это специально, отправкой одного и того же сигнала дважды на демо-счёте.
Гарантирует ли бэктест будущую прибыль?
Нет. Тест на истории показывает, как заданные условия отработали на выбранном периоде с выбранными параметрами. Результат впереди зависит от рынка, издержек, качества исполнения и того, соблюдаются ли правила. Перебор вариантов повышает риск подгонки. В модельном примере исследователей для двухлетнего теста хватает семи независимых конфигураций, чтобы ожидаемый лучший коэффициент Шарпа на обучающей выборке достиг единицы при ожидаемом нуле вне выборки. Это пример при допущениях модели, а не универсальный порог для любого бота.
Нужно ли уметь программировать, чтобы запустить бота?
Для готовых конструкторов и встроенных ботов бирж - нет, там правила задают в интерфейсе. Для собственной логики со своим вебхуком минимальный уровень нужен: понять формат тела запроса, права ключа и обработку ошибок биржи. Без этого проверить чужой код тоже не выйдет, а проверять придётся: ответственность за заявки остаётся на владельце счёта, кто бы ни писал программу.





