Где выполняется защитное действие
В MetaTrader 5 принятые сервером уровни Stop Loss и Take Profit связаны с позицией и обрабатываются на стороне брокера. Их работа не требует постоянного функционирования пользовательского терминала. Но это относится к действительно установленным уровням, а не к линии, которую советник только нарисовал на графике. Если программа держит условие внутри собственной логики и отправляет команду лишь при достижении цены, её способность действовать зависит от работающей среды и связи. Поэтому первый вопрос к техническому описанию: что хранится на сервере, а что вычисляется и отправляется самим советником?
Подвижный уровень требует работающего механизма
Встроенный Trailing Stop в MetaTrader 5 выполняется в торговой платформе. Он переносит Stop Loss при выполнении своих условий. Если платформа выключена, дальнейшего сопровождения этим механизмом не происходит. Уже установленный серверный Stop Loss при этом остаётся отдельным действующим уровнем. Нельзя переносить это описание на каждый сторонний робот без проверки его реализации. Название функции может совпадать, а поведение отличаться. В журнале следует различать решение программы изменить уровень, отправку запроса и подтверждённое изменение позиции. Первая запись не гарантирует последнюю.
Расчёт потери остаётся оценкой
Денежный результат зависит не только от расстояния на графике, но и от объёма позиции, характеристик инструмента и условий исполнения. В MQL5 функция OrderCalcProfit позволяет предварительно оценить результат по заданным параметрам в валюте счёта. Это вычисление не является обещанием фактической цены закрытия. Обычный стоп не следует воспринимать как безусловную гарантию точной суммы потери. При быстром движении цены и недостаточной ликвидности исполнение может отличаться от предполагаемого. Дополнительно учитывают применимые комиссии и другие издержки. Конкретные правила обработки приказов проверяют у брокера и для выбранного инструмента.
Проверяйте отказы, а не только удачный график
Историческое тестирование помогает увидеть поведение программы на заданных данных и условиях. В тестере MetaTrader 5 можно моделировать задержку исполнения запросов советника. Результат в режиме без задержек описывает более идеальные условия и сам по себе не подтверждает надёжность работы при проблемах связи. Для технического разбора полезны сценарии отказа запроса, перезапуска программы и отсутствия подтверждения. После неопределённого исхода сначала устанавливают фактическое состояние, чтобы не отправить лишнее действие. Удобная панель и прибыльный отдельный тест не заменяют проверки границ, журналирования и поведения в неблагоприятных условиях.
Попробуйте на практике
Составьте бумажную проверку вымышленного советника, который должен сопровождать уже существующую учебную позицию. Реальные заявки не нужны.
- Нарисуйте три участника: советник, терминал и сервер. Покажите, где хранится условие закрытия в двух возможных вариантах реализации.
- Запишите цепочку изменения уровня: решение, запрос, ответ, проверка состояния. Отдельно обозначьте неизвестный исход.
- Добавьте сценарий отключения терминала и укажите, какие действия прекратятся, а какой ранее принятый уровень останется на сервере.
- Придумайте отказ изменения уровня и опишите, какую информацию должен сохранить журнал, не повторяя запрос вслепую.
- Составьте итоговые вопросы к реализации: область управляемых позиций, реакция на перезапуск, учёт издержек и ограничения расчётного риска.
Как проверить результат. В схеме разделены серверный уровень и работающая логика советника. Отправленный запрос не назван выполненным, а расчёт потери не представлен гарантией фактического результата.
Частые вопросы
Если на графике появилась линия стопа, защита уже установлена?
Не обязательно. Линия может быть элементом интерфейса программы. Нужно проверить подтверждённое состояние позиции и выяснить, является ли уровень серверным или условным.
Успешный тест означает, что робот безопасен для реального счёта?
Нет. Тест ограничен данными, настройками и моделируемыми условиями. Он не отменяет рыночный риск, ошибки программы, различия исполнения и необходимость отдельной технической проверки.
Самостоятельный разбор темы. Содержание конкретной обучающей программы здесь не представлено.