Справка по MetaTrader 4

Миграция

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

Подготовка к миграции

Перед запуском виртуального терминала необходимо подготовить для него активное окружение графики, запущенные индикаторы и советники, параметры копирования сделок по подписке и настройки терминала.

Посмотреть видео: Подготовка роботов и сигналов к миграции

Посмотреть видео: Подготовка роботов и сигналов к миграции

Как правильно подготовить торговое окружение, чтобы ваши роботы и сигналы исполнялись на виртуальной машине 24 часа в сутки?

Графики и Обзор рынка

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

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

В настройках терминала в закладке "Графики" укажите значение параметра  "Макс. баров в окне". Некоторые пользовательские индикаторы написаны неэкономным образом и делают расчеты на всей доступной в графике истории. В этом случае чем меньше будет указано значение, тем лучше. Но предварительно убедитесь, что индикатор работает корректно с данными настройками перезагрузите терминал после изменения этого параметра.

Виртуальный терминал спроектирован таким образом, что автоматически закачивает всю доступную историю с торгового сервера, но при этом на графике будет доступно не более 500 000 баров.

Индикаторы и советники

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

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

  • Вызовы DLL полностью запрещены в виртуальном терминале. При первой попытке вызвать функцию из DLL запущенная программа будет остановлена с критической ошибкой.
  • В синхронизации платформы с виртуальным сервером не участвуют графики без экспертов, даже если на них запущены пользовательские индикаторы. Для миграции отдельно работающего пользовательского индикатора запустите на его графике "пустого" эксперта, не выполняющего никаких действий. Его можно легко сгенерировать через Мастер MQL4 в MetaEditor, выбрав пункт "Советник: шаблон". Это гарантирует, что миграция пользовательских индикаторов производится осознанно.

Все внешние параметры индикаторов и советников должны быть заданы правильно, проверьте их еще раз перед тем, как запускать синхронизацию.

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

Настройки разделов Почта, FTP и Сигналы

Если советник должен отправлять почту, выкладывать данные по FTP или копировать сделки по подписке, то необходимо прописать все нужные настройки. Обязательно укажите правильные логин и пароль вашего аккаунта в MQL5.community в закладке "Сообщество". Это необходимо для копирования сигналов.

Разрешение на торговлю и копирование сигналов

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

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

Независимо от того, разрешена или запрещена автоматическая торговля на вашем клиентском терминале или в свойствах конкретного запущенного советника, любой советник при переносе на виртуальный терминал получит полное разрешение на торговлю.

Укажите требуемые параметры копирования сделок в разделе "Сигналы". Если на торговом счете есть действующая подписка и разрешено копирование сделок, то в момент проведения миграции в клиентском терминале разрешение на копирование сигнала будет сброшено. Это сделано для защиты от ситуации, когда два терминала открыты с одним и тем же счетом и копируют одновременно одни и те же сделки. При повторной миграции при уже работающем сигнале на виртуальном терминале включение копирования сигналов на локальном терминале не требуется.

Копирование сделок автоматически включится на виртуальном терминале при выполнении миграции. Сообщение об отмене копирования на клиентском терминале также будет продублировано в журнал.

Настройка запросов WebRequest

Если ваша программа, предназначенная для работы в виртуальном терминале, использует функцию WebRequest для отправки HTTP-запросов, то необходимо в разделе "Советники" поставить разрешение и перечислить все доверенные URL.

Процесс миграции

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

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

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

Запуск миграции

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

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

При выполнении миграции вся информация записывается в лог клиентского терминала.

Журналирование процесса миграции

После выполнения синхронизации откройте журнал виртуального терминала для просмотра выполненных на нем действий.

Запрос журнала с виртуального терминала

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

Просмотр записей журнала

Сами логи виртуального терминала обновляются при каждом их запросе и сохраняются в папку [каталог данных терминала]\logs\hosting.*.terminal\.

Особенности миграции

Процесс миграции обладает рядом особенностей:

  • Автоматическая торговля в Виртуальном терминале всегда разрешена, даже если она была запрещена настройками терминала или в настройках запущенного эксперта.
  • Скрипты при миграции не переносятся, даже если они были запущены в бесконечном цикле на графике в момент синхронизации.
  • Графики с нестандартными таймфреймами и символами не переносятся.