Справка по MetaTrader 5Алгоритмический трейдинг, торговые роботыMetaTester и удаленные агенты

MetaTester и удаленные агенты

Тестирование и оптимизация советников проводится с помощью так называемых агентов — специальных сервисов, которые устанавливаются на компьютере и осуществляют вычисления. Существуют локальные и внешние (удаленные) агенты.

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

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

  • Удаленные агенты могут быть включены в глобальную сеть облачных вычислений MQL5 Cloud Network.
  • Удаленные агенты можно использовать только в 64-битных системах.

Удаленные агенты устанавливаются как отдельные сервисы в операционной системе при помощи специального приложения "metatester.exe", расположенного в папке установки торговой платформы.

Для экономии трафика и дискового пространства, а также из соображений безопасности на удаленных агентах:

  • в журнал не выводятся сообщения советников (функция Print()), а также сообщения о торговых операциях;
  • запрещен вызов DLL.

Структура каталогов и файлов #

Для хранения служебной информации "MetaTester" создает каталог "Tester" в той директории, где находится само приложение. Он содержит следующие папки и файлы:

Папки и файлы

Описание

Подпапки

Описание

Agent-IP-address-port

Данные папки создаются для каждого агента. В названии папки указывается IP-адрес и номер порта, на которых работает агент.

logs

В данной папке хранятся записи журнала работы агента.

bases

В данной папке хранятся исторические данные, используемые агентом.

Manager

Данный каталог содержит записи журнала компонента MetaTester.

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

Работа с MetaTester #

Чтобы предоставить вычислительные мощности компьютера торговой платформе по любой сети — локальной или интернет, установите удаленные агенты. Для установки и управления агентами используется специальная утилита "MetaTester". Она входит в стандартную комплектацию торговой платформы. Запустите файл "metatester.exe" из каталога установки платформы.

  • Агенты тестирования могут быть установлены на любом компьютере отдельно от торговой платформы. Для этого скопируйте на него файл "metatester64.exe" и запустите его. Установка служебных файлов и каталогов агентов происходит в папку, где расположено само приложение "MetaTester". Файл "metatester64.exe" одновременно является и установочным, и исполняемым файлом, необходимым для работы агентов и управления ими.
  • Агенты можно устанавливать и использовать только в 64-битных системах.

Окно приложения "MetaTester" состоит из нескольких вкладок:

Обзор #

Обзор

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

  • Локальная статистика
    В локальном режиме агенты используются как службы, установленные на компьютере, подключение к которым осуществляется по заданному адресу и паролю.
  • Статистика по MQL5 Cloud Network
    В данном режиме работы агенты работают в составе специализированной сети MQL5 Cloud Network.

В случае, если пользователь не подключен к сети MQL5 Cloud Network, на данной вкладке появляется опция "Join MQL5 Cloud Network", с помощью которой можно разрешить использование своих агентов в данной сети. Она аналогична опции "Allow public use of agents" на соответствующей вкладке.

Службы #

Службы

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

  • Agents — количество агентов, которое необходимо установить. Рекомендуется устанавливать столько агентов, сколько логических ядер у процессора компьютера.
  • Password — пароль для подключения к агентам. Данный пароль необходимо указывать при добавлении агентов в тестере стратегий.
  • TCP Ports — диапазон портов (или один порт при установке одного агента), на которых будут работать агенты. Номер порта также указывается при подключении к агентам из тестера стратегий.

Для установки агентов нажмите Add. Агенты устанавливаются на IP-адресе, указанном в верхней части вкладки. Используйте этот адрес для подключения к ним.

Для установки и управления агентами пользователь должен обладать администраторскими правами в системе.

Ниже отображается список уже установленных агентов:

  • Служба — название службы, под которой запущен агент в операционной системе, данное название присваивается автоматически.
  • Порт — номер порта, на котором работает агент.
  • Проходов — количество проходов тестирования, выполненных агентом.
  • Входящий/исходящий трафик — объем входящего и исходящего трафика агента.
  • Облако — состояние подключения к сети. Данный параметр позволяет легко удостовериться, что агенты могут получать задания из сети облачных вычислений.
  • Состояние — текущее состояние агента: запущен, остановлен.

Контекстное меню

Управлять установленными агентами можно при помощи команд контекстного меню:

  • Запустить Запустить — запустить выбранного агента.
  • Остановить Остановить — остановить процесс выбранного агента. При этом в системе будет остановлена соответствующая служба, и подключение к агенту станет невозможным.
  • Перезапустить Перезапустить — остановить, а затем вновь запустить выбранного агента.
  • Обновить Обновить — обновить список установленных агентов.
  • Экспортировать Экспортировать — экспортировать настройки агентов в файл *.mt5. Данные настройки могут быть импортированы в торговую платформу для подключения к установленным агентам.
  • Удалить Удалить — удалить выбранного агента.

При закрытии окна MetaTester запущенные агенты не останавливаются. Для остановки агента выполните соответствующую команду в его контекстном меню.

MQL5 Cloud Network #

MQL5 Cloud Network — специальная система, призванная объединить удаленные агенты в единую сеть облачных вычислений. Ее ключевыми достоинствами являются:

  • Возможность предоставления собственных и использования сторонних вычислительных мощностей как на бесплатной, так и на коммерческой основе.
  • Отсутствие необходимости сложной сетевой настройки доступа к агентам — MetaTester и сеть MQL5 Cloud Network самостоятельно организуют доступ и распределяют поступающие задачи между агентами.
  • Удобное управление агентами через профиль пользователя на MQL5.community.

MQL5 Cloud Network

На вкладке присутствует опция для управления участием в распределенной вычислительной сети MQL5 Cloud Network: Продавать мощности своих агентов через аккаунт MQL5.community.

При включении данной опции пользователь разрешает использовать свои удаленные агенты через MQL5 Cloud Network. Каждая служба агента будет доступна в сети в соответствии с заданным расписанием.

При подключении к сети MQL5 Cloud Network агент остается доступным для обычных удаленных подключений через IP-адрес и пароль.

Чтобы предоставлять вычислительные мощности агентов за деньги, укажите ваш аккаунт MQL5.community в соответствующем поле. Денежные средства за использование агентов другими пользователями будут начисляться на указанный счет через внутреннюю платежную систему MQL5.community.

Если у вас нет аккаунта, можно его создать, нажав кнопку "Register a new MQL5.community account...".

  • Необходимо аккуратно указывать действующий аккаунт, иначе службы агентов будут предоставляться другим пользователям бесплатно.
  • Просмотреть доступность агентов в сети, а также управлять ими можно на вкладке "Агенты" в профиле пользователя MQL5.community.

Расписание #

Расписание

При помощи данной вкладки можно установить расписание, в соответствии с которым удаленным агенты будут доступны в сети MQL5 Cloud Network.

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

Данное расписание не влияет на доступность агентов для обычного удаленного подключения через IP-адрес и пароль.

Консольные команды #

Для работы с удаленными агентами через командную строку используются консольные команды файла "metatester.exe":

  • /install /address:адрес:порт /password:пароль — установить агента на указанном IP-адресе и порт с указанным паролем. Например, metatester.exe /install /address:192.168.0.1:1950 /password:gj1sfj;
  • /uninstall /address:адрес:порт — удалить агента, установленного на указанном IP-адресе и порту;
  • /start /address:адрес:порт — запустить службу агента, установленного на указанном IP-адресе и порту;
  • /stop /address:адрес:порт — остановить службу агента, установленного на указанном IP-адресе и порту;
  • /restart /address:адрес:порт — перезапустить службу агента, установленного на указанном IP-адресе и порту;
  • /help — показать помощь по консольным командам.

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

  • sc stop "имя агента" (данное действие необходимо выполнить, если агент запущен);
  • sc delete "имя агента".

Например, чтобы удалить остановленного агента с именем "MetaTester-1", достаточно выполнить следующую команду:

sc delete "MetaTester-1"