Практика торговли
Перезапуск торгового робота: чек-лист восстановления VPS

VPS снова доступен, платформа открылась, котировки обновляются. Это хорошие признаки, но они ещё не доказывают, что торговый робот готов продолжать работу. Пока приложение было отключено, состояние позиции могло измениться. Заявка могла дойти до брокера, а ответ — не вернуться. На другой машине уже может работать вторая копия.
Полезный чек-лист рассматривает перезапуск как сверку состояния. Сначала нужно установить, что существует на счёте сейчас, затем — что программа вправе сделать дальше. Ниже приведена общая эксплуатационная схема, а не утверждение, что каждый робот автоматически реализует все перечисленные функции. Поведение конкретной версии и подключения необходимо проверить.
Новые сделки разрешаются после проверки состояния. Неизвестный результат заявки возвращает процесс к сверке со счётом.
Выясните, что именно остановилось
Различайте потерю доступа к удалённому рабочему столу, закрытие приложения, перезагрузку операционной системы, разрыв связи с брокером и остановку потока данных. Это разные ситуации. Если пропал только удалённый доступ, торговый процесс мог продолжить работу. Запуск второй копии из-за того, что первая не видна, способен создать новую проблему.
Зафиксируйте последнее известное нормальное состояние, время обнаружения сбоя, затронутый счёт и сообщения журнала. Отметьте, была ли стратегия активна, ожидала, завершала работу или уже была отключена. Последующий запуск не должен незаметно отменять намеренную остановку.
Для советников MetaTrader MetaQuotes описывает инициализацию не только после перезапуска компьютера. Среди причин деинициализации есть изменения параметров, графиков, шаблонов и счёта. У внешнего торгового приложения жизненный цикл может отличаться; правила советника нельзя автоматически переносить на него.
Отделите новые входы от сопровождения открытых позиций
Команда «остановить робота» слишком неоднозначна для инструкции восстановления. Она запрещает новые входы, прекращает всё сопровождение, закрывает позиции или ждёт предусмотренного выхода? Заранее изучите конкретную команду продукта и её последствия. Если программа умеет отдельно приостанавливать новые входы, это позволяет проводить проверку, сохраняя нужное сопровождение.
Не отключайте управление всеми позициями только потому, что в чек-листе написано «пауза». Если функции не разделяются, нужен согласованный с поддержкой порядок действий для существующего риска. Также важно различать команды на стороне брокера и действия, выполняемые локально.
Справка MetaTrader различает серверные Stop Loss и Take Profit и локальную работу трейлинг-стопа в платформе. Уже установленная серверная команда и её будущая программная корректировка — разные вещи. Проверьте реальную защиту каждой позиции; ни один стоп-механизм не гарантирует заданную цену исполнения при любых рыночных условиях.
Шаг 1. Проверьте счёт раньше стратегии
Подтвердите брокера или биржу, точный сервер, идентификатор счёта, статус демо или реального счёта, валюту и режим учёта. Сохранённый пароль и успешный вход ещё не доказывают, что выбран нужный счёт. Если на VPS несколько терминалов или рабочих пространств, подпишите их так, чтобы оператору не приходилось угадывать.
Убедитесь, что нужные рыночные данные актуальны, а подключение имеет разрешения на предполагаемые действия. Зелёный сетевой индикатор не равен праву размещать и сопровождать заявки. Также проверьте торговую сессию и доступность инструмента. Правильный счёт при закрытом рынке — не то же самое, что неисправное соединение.
Шаг 2. Сверьте позиции, заявки и недавние события
Соберите три списка: открытые сейчас позиции, ещё не исполненные заявки и исполнения либо отмены вокруг момента сбоя. Сравните их с последним сохранённым состоянием программы. Объём позиции и объём отложенной заявки — разные показатели. Пустой список позиций не доказывает, что позднее нечему исполниться.
Учитывайте режим счёта: для неттинга и хеджинга требуется разная логика проверки, см. сравнение режимов MT5. Разработчикам нужны свежие сведения: MetaQuotes отмечает, что PositionSelect копирует данные позиции, поэтому прежний результат может устареть. Оператору также следует обновлять состояние счёта, а не полагаться на скриншот до переподключения.
Определите принадлежность позиций стратегиям по идентификаторам, доступным данному подключению. Нельзя считать, что все сделки на счёте принадлежат именно перезапускаемому роботу. Там могут находиться ручные сделки и позиции другой программы. Правила принадлежности должны быть известны до включения автоматического восстановления.
Сложная ситуация: ответ на заявку потерян
Условный сценарий: в 10:00:00 робот отправляет покупку; в 10:00:01 связь обрывается; в 10:00:05 интерфейс показывает тайм-аут. Сам тайм-аут не сообщает, принял ли брокер заявку, отклонил её или уже исполнил.
Немедленная повторная отправка может удвоить позицию. Сначала используйте идентификатор заявки или клиентского запроса, если он доступен, затем сопоставьте заявки сервера, историю исполнений и текущие позиции. Если результат остаётся неизвестным, удерживайте новые входы на паузе и действуйте по согласованному порядку обращения в поддержку. Не превращайте «неизвестно» в «отказ» только ради завершения перезапуска.
Даже принятие запроса не всегда означает завершённую сделку. Документация MQL5 OrderSend прямо разделяет приём на обработку и исполнение. Статья об отклонениях заявок робота помогает отличить определённый отказ от неопределённого результата, требующего сверки.
Шаг 3. Проверьте настройки и вторые копии
Сопоставьте установленную версию, файл конфигурации, символы, объём и привязку к счёту с ожидаемой записью. Программа может успешно открыться со старым пресетом или значением по умолчанию. Сохраняйте названия и даты конфигураций, чтобы проверка не зависела от узнавания внешнего вида окна.
Ищите вторую работающую копию на VPS, другом компьютере или в ранее настроенном автозапуске. Должно быть понятно, какой процесс управляет счётом или стратегией. Не проверяйте это, разрешая торговать сразу обоим. Ожидаемая схема управления должна быть известна до разрешения новых заявок.
Восстановление зависит и от подключения. Сессия терминала и прямой API могут предоставлять разные идентификаторы и способы восстановления связи. Сравнение cTrader FIX API и Open API объясняет, почему выбранное подключение нужно записывать в конфигурацию.
Шаг 4. Продолжайте работу под наблюдением
Возобновляйте работу после согласования состояния счёта и настроек. Проверяйте режим продукта, а не только наличие открытого окна. Проследите следующее разрешённое действие и его отражение на счёте. Если стратегия ждёт сигнал, отсутствие сделок не обязательно означает поломку и необходимость ещё одного перезапуска.
Запишите время восстановления, ответственного, выполненные проверки и оставшиеся ограничения. Затем сравните первые записи после запуска с обычной последовательностью. Это даст материал для следующего инцидента и поможет отличить повторяющуюся причину от отдельного рыночного обстоятельства.
Проведите учебную проверку восстановления
Испытания с намеренным прерыванием работы проводите только в изолированной демосреде или другой согласованной тестовой конфигурации. Не отключайте реальный счёт клиента ради проверки этой инструкции. Для каждого сценария заранее определите ожидаемый результат и используйте минимальный достаточный пример.
Сценарий | Что наблюдать | Признак успешной проверки |
|---|---|---|
Перезапуск без позиций | Загрузка нужного счёта и параметров | Нет необъяснимой заявки при старте |
Есть открытая позиция | Программа распознаёт существующую сделку | Нет повторного открытия, сопровождение соответствует правилам |
Во время сбоя есть отложенная заявка | Она могла остаться или исполниться | Состояние сервера сверено до повторной отправки |
Частичное исполнение | Исполненный и оставшийся объёмы различаются | Используются фактические объёмы |
Попытка запуска второй копии | Обнаруживается конфликт управления | Новые заявки отправляет только нужный процесс |
В таблице перечислены критерии, которые нужно проверить, а не автоматические возможности NH PRO или любого другого продукта. Не закрывайте неудачный тест, пока поведение не объяснено. Скриншот открытой программы слабее истории счёта, которая показывает ожидаемый результат.
Видео NH PRO: разберитесь в состояниях стратегии
В русском видео NH PRO, часть 2 с 35:31, команда разбирает состояния стратегии и команды завершения. Этот фрагмент помогает понять интерфейс перед применением актуальной инструкции для установленной версии. Он показывает управление программой, но не является полным испытанием восстановления после сетевого сбоя.
Держите руководство по настройке NH PRO рядом с записью счёта и конфигурации. Для серверной части пригодится материал о VPS. Сервер помогает поддерживать доступность программы, но доступность и правильное торговое состояние остаются разными проверками.
Подготовьте передачу действий заранее
При запуске NH PRO согласуйте, кто может приостанавливать новые входы, кто проверяет существующий риск и кто разрешает продолжение при неизвестном результате запроса. Храните контакты поддержки, ссылки на конфигурации и нужные журналы доступно, но без паролей счёта в общих заметках. Цель — понятное документированное восстановление, а не повторные перезапуски до появления зелёного индикатора.
Видео по теме
Открыть связанное видео на YouTube
Больше статей





