English 中文 Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Подготовка торгового счета к миграции на виртуальный хостинг

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

MetaTrader 5Примеры | 1 октября 2014, 10:59
62 778 299
MetaQuotes
MetaQuotes

Клиентский терминал 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:

  • #property tester_file "имя_файла_c_данными"- для отправки файла из папки <каталог_данных>\MQL5\Files или <каталог_данных>\MQL4\Files
  • #property tester_indicator "имя_индикатора" - для отправки пользовательского индикатора из папки <каталог_данных>\MQL5\Indicators или <каталог_данных>\MQL4\Indicators
  • #property tester_library - "имя_библиотеки" - для отправки библиотеки из папки <каталог_данных>\MQL5\Libraries или <каталог_данных>\MQL4\Libraries

Отметим, что вызываемые библиотеки распознаются и отправляются на хостинг автоматически при миграции, даже если они не указаны. Поэтому, специально их указывать не требуется. Также не обязательно указывать индикаторы, которые в коде явно вызываются по имени с помощью функции 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.


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

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


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

  • график загрузки центрального процессора в %;
  • график использования оперативной памяти в Mb;
  • график использования жесткого диска в Mb.

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

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

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

  • дата и режим последней миграции;
  • информация о миграции подписки на Сигнал и отключение копирования сделок на клиентском терминале (если есть подписка);
  • количество открытых графиков, количество запущенных на них советников/индикаторов, количество перенесенных EX4/EX5-библиотек и созданных файлов.


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



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

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

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

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

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


Смотрите также:
Последние комментарии | Перейти к обсуждению на форуме трейдеров (299)
piperus
piperus | 26 мая 2021 в 23:21
Vladimir Karputov:

По логам видно, что синхронизировать нечего - нет ни экспертов, ни пользовательских индикаторов.

23:28:41.548    Custom indicator Market\Entry Points Pro GBPJPY,M30: loaded successfully
23:32:40.241    Custom indicator Market\Entry Points Pro EURGBP,M30: loaded successfully

23:33:14.066    Custom indicator Market\Entry Points Pro NZDUSD,M30: loaded successfully


вот такой индикатор я накладываю на графики. он отсылает уведомления

Vladimir Karputov
Vladimir Karputov | 26 мая 2021 в 23:31
piperus:

23:28:41.548    Custom indicator Market\Entry Points Pro GBPJPY,M30: loaded successfully
23:32:40.241    Custom indicator Market\Entry Points Pro EURGBP,M30: loaded successfully

23:33:14.066    Custom indicator Market\Entry Points Pro NZDUSD,M30: loaded successfully


вот такой индикатор я накладываю на графики. он отсылает уведомления

Мигрировать нечего - это видно по логам.

Вопрос: перед миграцией сколько всего графиков открыто в терминале? Кроме индикатора из Маркета, на графиках есть ещё что-то?

piperus
piperus | 26 мая 2021 в 23:38
Vladimir Karputov:

Мигрировать нечего - это видно по логам.

Вопрос: перед миграцией сколько всего графиков открыто в терминале? Кроме индикатора из Маркета, на графиках есть ещё что-то?

в данный момент 5 графиков, но пытался мигрировать и с 1 графиком.

кроме индикатора из Маркета на графиках ничего нет.

списывался с разработчиком индикатора, так как на домашнем терминале индикатор отправляет уведомления исправно, разработчик ответил что не работает миграция

Anton
Anton | 11 июн. 2021 в 14:23
piperus:

23:28:41.548    Custom indicator Market\Entry Points Pro GBPJPY,M30: loaded successfully
23:32:40.241    Custom indicator Market\Entry Points Pro EURGBP,M30: loaded successfully

23:33:14.066    Custom indicator Market\Entry Points Pro NZDUSD,M30: loaded successfully


вот такой индикатор я накладываю на графики. он отсылает уведомления

Мигрируются чарты с экспертами. Если очень надо именно только индикатор мигрировать, то придется какой-то "пустой" эксперт на чарт набросить.

Хотя бы такой:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }
Rashid Umarov
Rashid Umarov | 11 июн. 2021 в 14:43
piperus:

в данный момент 5 графиков, но пытался мигрировать и с 1 графиком.

кроме индикатора из Маркета на графиках ничего нет.

списывался с разработчиком индикатора, так как на домашнем терминале индикатор отправляет уведомления исправно, разработчик ответил что не работает миграция

Разработчик , да и пользователь, должны посмотреть справку, если что-то не работает. А там сказано https://www.metatrader5.com/ru/terminal/help/virtual_hosting/virtual_hosting_migration

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

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

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

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



Рецепты MQL5 - обработка пользовательских событий графика Рецепты MQL5 - обработка пользовательских событий графика
В данной статье рассматриваются аспекты проектирования и разработки системы пользовательских событий графика в среде MQL5. Предлагается пример подхода для классификации событий. Приводится программный код событийного класса и класса-обработчика пользовательских событий.
Случайные леса предсказывают тренды Случайные леса предсказывают тренды
В статье описано использование пакета Rattle для автоматического поиска паттернов, способных предсказывать "лонги" и "шорты" для валютных пар рынка Форекс. Статья будет полезна как новичкам, так и опытным трейдерам.
Работа с СУБД MySQL из MQL5 (MQL4) Работа с СУБД MySQL из MQL5 (MQL4)
Статья посвящена разработке интерфейса между MQL и СУБД MySQL. В ней рассматриваются существующие на данный момент практические решения и предлагается более удобный вариант исполнения библиотеки для работы с СУБД. В статье дано подробное описание функций, структуры интерфейса, приведены примеры и описаны некоторые тонкости при работе с MySQL. В плане программного решения, к статье прикреплены архивы с динамическими библиотеками, документацией и примерами-скриптами для языков MQL4 и MQL5.
Рецепты MQL5 - обработка типичных событий графика Рецепты MQL5 - обработка типичных событий графика
В данной статье рассматриваются типичные события графика и приводятся примеры их обработки. Рассмотрены события мыши, нажатия клавиатуры, создания/изменения свойств/удаления графического объекта, клик мыши на графике и графическом объекте, перемещение графического объекта при помощи мыши, окончание редактирования текста в поле ввода, а также события изменения графика. Для каждого события приведены примеры программ на MQL5.