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

MetaQuotes | 1 октября, 2014

Клиентский терминал MetaTrader идеально подходит для автоматизации торговых стратегий. Для разработчиков торговых роботов в нем есть всё мощный язык программирования MQL4/MQL5 на основе C++, удобная среда разработки MetaEditor, многопоточный тестер стратегий с поддержкой распределенных вычислений в MQL5 Cloud Network. В этой статье вы узнаете, как перенести свой клиентский терминал со всеми разработками в виртуальную среду.


Как обеспечить надежную круглосуточную работу терминала?

Трейдеру может понадобиться запущенный 24 часа в сутки терминал в трех случаях:

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

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

Что такое виртуальный терминал

Виртуальный терминал был разработан специально для работы в сети Virtual Hosting Cloud, которая предлагает любому желающему трейдеру взять в аренду готовый виртуальный сервер с уже развернутой торговой средой в несколько кликов мышки прямо из клиентского терминала.


Выделение виртуального сервера

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


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


Вы можете использовать 1440 бесплатных минут, которые выдаются каждому зарегистрированному пользователю MQL5.com или выбрать один из предложенных тарифных планов. На последнем этапе вам необходимо выбрать режим миграции данных, который зависит от цели:

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

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

Поздравляем, вы получили свой собственный виртуальный сервер с готовым для торговли терминалом MetaTrader!


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

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

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

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

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

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

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

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

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

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

Вызовы DLL полностью запрещены в виртуальном терминале. При первой попытке вызвать функцию из DLL запущенная программа будет остановлена с критической ошибкой.

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

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

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

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

Передача файлов

Если советнику или индикатору для работы требуется определенный файл, то передать его на виртуальный терминал можно с помощью указания свойства в #property:

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

При выполнении миграции эти директивы будут опознаны терминалом, и указанные файлы будут отправлены. При этом размер файла не должен превышать 64 MB.

Пример кода для передачи на виртуальный терминал файлов трех типов:

    #property tester_file "trade_patterns.csv"    // Файл данных, с которым будет работать советник. Обязательно указывать, если требуется на хостинге
    #property tester_indicator "smoothed_ma.ex5"  // Файл с пользовательским индикатором, если имя индикатора вычисляется
    #property tester_library - "alglib.ex5"       // Библиотека функций, которые вызываются в советнике. Указывать не требуется

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

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


Крайне рекомендуется в настройке Уведомления указать свой MetaQuotes ID и разрешить отправлять сообщения о совершенных торговых операциях. Таким образом вы всегда будете в курсе того, что происходит на вашем торговом счете, даже не открывая терминал.

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

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

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

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

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

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

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


Как происходит миграция

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

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

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


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

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


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


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


Сами логи виртуального терминала обновляются при каждом их запросе и сохраняются в папках вида <каталог данных терминала>/logs/hosting.<hosting_ID>.terminal и <каталог данных терминала>/logs/hosting.<hosting_ID>.experts.


Работа с виртуальным терминалом

Контроль состояния арендованного виртуального сервера легко осуществляется также из клиентского терминала. В контекстном меню необходимо вызвать команду "Подробности".


В открывшемся диалоговом окне доступны для просмотра данные мониторинга виртуального сервера:

На главной закладке Details представлены данные о самом виртуальном сервере и об активном окружении терминала на нем:

  1. название сервера и номер вашей аренды;
  2. дата начала аренды, MQL5.com аккаунт и состояние счета на нем;
  3. используемый тарифный план и оставшееся время аренды;
  4. статус  - запущен или остановлен.

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


Запуск и остановка виртуального терминала также производятся из контекстного меню на иконке арендованного сервера. Там же можно отменить аренду. При досрочной отмене уплаченные деньги не возвращаются.



Виртуальный хостинг ‒  наилучшее решение для автотрейдинга!

Преимущества сервиса виртуального хостинга очевидны:

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

Виртуальный хостинг позволяет вам больше не думать о таких проблемах - просто выделите себе виртуальный сервер и используйте бесплатные 1440 минут для тестирования его возможностей!


Смотрите также: