Поделиться

Советник Форекс: что это и как проверить робота в MetaTrader

Обложка статьи «Советник Форекс: что это и как проверить робота в MetaTrader»: четыре карточки проверки R0-R3: реальные тики, задержка, издержки и forward
Что вы узнаете
  • Отделите Expert Advisor от индикатора и обычного сигнала
  • Проверите код, разрешения и журнал до первого запуска
  • Соберете паспорт из четырех прогонов R0-R3 по заранее зафиксированному протоколу
  • Поймете, когда переходить на демо, а когда остановиться
Средний уровень
19просмотров

Что такое советник Форекс и Expert Advisor

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

Само слово «советник» иногда вводит в заблуждение. Программа может не только подсказывать, но и открывать, изменять или закрывать позиции. Поэтому до запуска нужно знать, какие операции заложены в коде и какие разрешения ему выданы.

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

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

Полезно держать эти роли раздельно. Если вам нужен анализ графика, начните с обзора индикаторов для трейдинга. Если задача - автоматическое исполнение в MetaTrader, проверять нужно именно EA и его торговые разрешения.

Как советник получает данные и открывает сделки в MetaTrader

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

  1. 1

    Данные графика

    Символ, таймфрейм и тики

  2. 2

    Логика EA

    Код и входные параметры

  3. 3

    Разрешения

    AutoTrading и Allow Auto Trading

  4. 4

    Торговый запрос

    Объём, тип и цена ордера

  5. 5

    Ответ сервера

    Исполнение или сообщение об операции

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

Если сделки нет, сначала откройте вкладки Experts и Journal в Toolbox. Там ищут сообщения EA и платформы об операции. Код ответа сервера виден только тогда, когда робот или платформа записали его в журнал; если кода нет, нужен полный лог или диагностика разработчика EA. Это надёжнее, чем несколько раз включать и выключать робота наугад.

Что проверить в коде, настройках и разрешениях до запуска

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

Доступ к DLL позволяет программе обращаться к внешним библиотекам, а WebRequest - к указанным веб-адресам. Эти функции могут быть нужны конкретному продукту, но включать их «на всякий случай» нельзя. В официальной справке MetaTrader прямо рекомендуется разрешать DLL только доверенным приложениям.

Предстартовая проверка советника
Подойдёт, если
  • Версия EA и набор параметров сохранены
  • Назначение DLL и WebRequest понятно и документировано
  • AutoTrading включается только после теста
  • Experts и Journal доступны для диагностики
Не подойдёт, если
  • Источник файла нельзя установить
  • Советник требует лишние разрешения без объяснения
  • Настройки меняются между прогонами без новой версии
  • Продавец обещает обязательную доходность

Как провести базовый тест на реальных тиках и с издержками

Советник Форекс сначала проверяют в режиме Every tick based on real ticks: он ближе всего к реальной тиковой последовательности из доступной истории брокера. Но у режима есть два ограничения. Данные относятся к конкретному источнику, а если минутный бар есть, но реальных тиков для него нет, тестер генерирует тики в режиме Every tick. Поэтому в паспорте теста укажите брокера, символ, диапазон дат, номер сборки (build) MetaTrader и режим моделирования.

Такой прогон - базовый бэктест для сравнения, а не финальный вердикт о советнике.

Спред, комиссия и спецификация символа влияют на результат. Комиссию можно менять в Advanced Testing Settings. Для управляемого стресс-теста спреда нужен заранее описанный воспроизводимый метод с подготовленными Bid и Ask данными пользовательского символа. Не используйте режим расчёта прибыли в пунктах для вывода о денежных издержках: в нём комиссии и свопы не учитываются.

В отчёте сравнивайте не одну итоговую прибыль. Запишите число сделок, чистую прибыль (Net Profit), максимальную относительную просадку по средствам счёта (equity), Profit Factor, Recovery Factor и коэффициент Sharpe. Net Profit складывается из валовой прибыли (Gross Profit) и валового убытка (Gross Loss). Profit Factor показывает отношение валовой прибыли к модулю валового убытка. Recovery Factor делит чистую прибыль на максимальную просадку баланса в деньгах. Коэффициент Sharpe рассчитывается как отношение доходности за вычетом безрисковой ставки к стандартному отклонению доходности; в тестере MetaTrader безрисковая ставка принята равной нулю. Более высокое значение означает большую доходность относительно её вариативности, но само по себе не доказывает устойчивость. Универсального проходного значения MetaQuotes не задаёт.

Как отделить оптимизацию от форвард-проверки

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

В MetaTrader можно отделить forward-период. Настройка 1/3 оставляет последнюю треть выбранного периода для последующей проверки, а первые две трети - для оптимизации. Это один из встроенных вариантов, не универсально лучший разрез. Если рынок или частота сделок требуют другого периода, решение фиксируют до просмотра результата.

  1. Шаг 1

    Выбрать период

    История, символ и издержки записаны

  2. Шаг 2

    Отделить forward

    Последний отрезок не участвует в настройке

  3. Шаг 3

    Настроить параметры

    Работа только на основном периоде

  4. Шаг 4

    Заморозить версию

    Файл робота, сборка платформы и входные параметры получают хэш

  5. Шаг 5

    Открыть forward

    Один прогон без повторной подгонки

Forward-отрезок открывают после заморозки версии EA и параметров.

Как проверить советника на спред, проскальзывание и задержку

Режим Random Delay добавляет случайную задержку только к торговым запросам EA. По справке MetaTrader диапазон 0-8 секунд выбирается с вероятностью 90%, а 9-18 секунд - с вероятностью 10%. Этот синтетический стресс проверяет зависимость логики от быстрого исполнения и не воспроизводит условия конкретного брокера.

Отдельный прогон R2 меняет комиссию через Advanced Testing Settings. Стресс спреда добавляйте только при наличии пользовательского символа с подготовленными Bid и Ask данными и записанным способом их изменения; иначе не называйте R2 контролируемым тестом спреда. Один «правильный» множитель для всех брокеров не существует.

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

  • Исторические и гипотетические результаты не полностью учитывают ликвидность, проскальзывание и способность выдерживать убыток в реальном времени.
  • Данные и спецификация символа одного брокера могут отличаться от условий другого.
  • Оптимизация по многим параметрам повышает риск подгонки.
  • Положительный Net Profit не отменяет equity-просадку и риск серии убытков.
  • Автоматизация не умеет предсказывать будущее; обещание обязательной или необычно высокой доходности - красный флаг.

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

Пример: четыре прогона одного советника по авторскому протоколу R0-R3

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

ПрогонЧто меняетсяЧто остаётся неизменным
R0Реальные тики и базовая комиссияEA, входные параметры, символ, таймфрейм, основной диапазон дат
R1Random DelayВсё из R0, кроме задержки
R2Стресс комиссии; спред только по воспроизводимому методуВсё из R0, кроме заранее указанной издержки
R3Forward 1/3Замороженная версия и параметры; заранее отделённая последняя треть дат
  1. R0

    Базовый прогон

    Real ticks и базовая комиссия

  2. R1

    Задержка

    Та же версия с Random Delay

  3. R2

    Издержки

    Комиссия и воспроизводимый стресс спреда

  4. R3

    Forward 1/3

    Заранее отделённая последняя треть

Четыре отчёта сравниваются по заранее зафиксированному протоколу.

В таблицу результата для каждого R0-R3 внесите номер сборки MetaTrader, версию и хэш EA, файл входных параметров (inputs), символ, таймфрейм, даты, режим тиков, издержки, число сделок, Net Profit, максимальную относительную equity-просадку, Profit Factor, Recovery Factor и Sharpe. Дополнительно можно посчитать удержание Net Profit относительно R0 и множитель equity-просадки относительно R0. Эти отношения помогают увидеть изменение, но не создают универсального порога «прошёл/не прошёл».

Почему рейтинг лучших советников не доказывает качество

Запрос «лучшие советники Форекс» часто ведёт к витринам продавцов и подборкам с результатами. Даже если EA стоит в верхней строке, подлинный отчёт относится только к конкретной версии, периоду, символу и настройкам. Без этих данных сравнение нельзя повторить.

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

Как безопасно перейти от тестера к демо-счёту

EA на демо запускают у того же брокера, на том же символе, со спецификацией и входными параметрами из паспорта. Сверьте часовой пояс, торговые сессии, минимальный объём и тип исполнения. После запуска проверьте Experts и Journal, фактическое время запросов, цену исполнения и причины отказов.

В сравнительный журнал можно добавить внешний сигнал, но не смешивать роли. Например, индикатор точек входа TradingView создаёт наблюдаемую метку, а EA в MetaTrader исполняет только явно запрограммированное правило. Midas даёт сигнал для сравнительного журнала и не открывает сделки автоматически.

Риск на сделку и правила остановки задаются отдельно от робота. Базовый порядок описан в материалах о риск-менеджменте и риске на сделку.

Когда советник нужно отключить или не покупать

Заранее запишите критерии остановки. Технический стоп нужен при повторяющихся ошибках запросов, неожиданном изменении объёма, доступе к неизвестным DLL или невозможности сверить версию. Исследовательский стоп нужен, если отчёты нельзя воспроизвести или устойчивость существует только в одном подобранном варианте.

Продолжать проверку или остановиться
Подойдёт, если
  • Версия и входные параметры воспроизводятся
  • R0-R3 собраны без смены правил
  • Издержки и ошибки видны в отчёте
  • Демо совпадает с техническим паспортом
Не подойдёт, если
  • Источник и разрешения непрозрачны
  • Прибыль обещают как обязательный исход
  • Результат держится только на одном прогоне
  • Журнал показывает необъяснённые торговые ошибки

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

Источники

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

Как сохранить настройки теста для повторного прогона?

В Strategy Tester откройте меню управления настройками и сохраните набор в INI-файл. Текущие параметры также можно скопировать через Ctrl+C, хранить как текст и загрузить обратно через Ctrl+V. В имени или соседнем паспорте зафиксируйте версию и хэш EA, символ, таймфрейм, диапазон дат и режим тиков: один файл входных параметров не описывает весь эксперимент.

Почему первый тест на реальных тиках идёт дольше?

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

Можно ли продолжить прерванную оптимизацию?

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

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

Обсуждение

Владимир

Отличный разбор))

Маша

Хорошо, что есть примеры, а не только теория

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

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

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

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