MetaTrader 4 Trading Terminal build 670: виртуальный хостинг, web-запросы и работа с сигналами из MQL-программ

Что нового в MetaTrader 4?

4 июля 2014

Торговый терминал

  1. Подготовительные работы по реализации Cloud Hosting.

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

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

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


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


    После нажатия кнопки "Далее" мастер откроет окно авторизации в MQL5.community. Здесь необходимо ввести логин и пароль от уже имеющегося аккаунта или создать новый. Если существующие логин и пароль уже указаны в настройках терминала, этап авторизации в MQL5.community пропускается.


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


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

    Мастер автоматически просканирует все точки доступа и в следующем окне предоставит вам список наиболее подходящих серверов.


    Для каждого сервера в таблице отображается следующая информация:

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

    Выбрав подходящий вам сервер, нажмите "Далее". В следующем окне на выбор будут предложены доступные тарифы.


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

    Регистрация аренды завершена.


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

    • Просмотреть детальную информацию о сервере.
    • Синхронизировать окружение терминала MetaTrader 4.
    • Просмотреть журнал MetaTrader 4 на сервере.
    • Запустить/Остановить сервер.
    • Отменить аренду сервера.


  2. Переработан Мастер открытия нового счета. Теперь он имеет вид, аналогичный терминалу MetaTrader 5.


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


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

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


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



    В окне необходимо заполнить все обязательные поля, поставить отметку "Я согласен получать новости по почте" и нажать "Далее".

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


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


  3. Переработано контекстное меню навигатора.

    • Пункт "Логин" был переименован в "Подключиться к торговому счету" и добавлен в контекстное меню разделов "Счета" и "<Название сервера>".
    • Авторизоваться в MQL5.community стало возможным не только через настройки терминала, но и с помощью контекстных меню раздела "Счета" и его подразделов.
    • В контекстном меню счета также были произведены следующие изменения:
      • Перенесен на первое место пункт "Открыть счет".
      • Добавлен функционал "Изменить пароль".
      • Добавился пункт "Выделить виртуальный сервер".
    • Появилась возможность обновлять список скомпилированных программ и сами программы прямо из контекстного меню с помощью пункта "Обновить". Необходимость в перезапуске терминала отпала.




  4. В окне "Навигатор" объединены категории "Индикаторы" и "Пользовательские Индикаторы" в одну категорию "Индикаторы".



    Все пользовательские индикаторы, примеры, а также индикаторы, приобретенные в MetaTrader AppStore, теперь показываются вместе со встроенными техническими индикаторами. Технические индикаторы теперь разделены на четыре категории: Трендовые, Осцилляторы, Объемы, Билла Вильямса. Встроенные индикаторы всегда показываются первыми.

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

    Наилучшими ценами в стакане являются текущие цены Bid и Ask по инструменту. Следующий уровень откладывается как ближайший уровень, на котором можно выставить ордера Buy Limit и Sell Limit с учетом уровня стопов для инструмента. Дальнейшие уровни откладываются в соответствии с шагом цены инструмента.




    В колонке "Торговля" расположены кнопки для выставления отложенных ордеров одним кликом. Ордер выставляется по цене, в строке которой нажата кнопка.

    • При нажатии кнопки с синей стрелкой в области цен Bid будет выставлен ордер Buy Limit по выбранной цене, при нажатии в области цен Ask - ордер Buy Stop.
    • При нажатии кнопки с красной стрелкой в области цен Ask будет выставлен ордер Sell Limit по выбранной цене, при нажатии в области цен Bid - ордер Sell Stop.

    Отложенные ордера, а также уровни стоп-лосс и тейк-профит позиций могут быть быстро изменены простым перетаскиванием мышью. Если перетащить лимитный ордер через границу цен Bid и Ask, он изменится на стоп-ордер (Buy Limit заменяется на Buy Stop, а Sell Limit заменяется на Sell Stop). Аналогичное правило действует при перетаскивании Stop-ордеров.


    Чтобы быстро удалить уровень, наведите курсор на его строку, зажмите клавишу Shift и кликните на кнопке с изображением крестика.

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

  6. Исправлено отображение шрифтов в строке поиска терминала при работе через сеанс удаленного подключения к рабочему столу.
  7. Изменено расположение окон графиков при расположении "Мозаикой".

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

    • Команда "Мозаикой" стала доступна в виде кнопки на панели инструментов "Графики".
    • Среди способов расположения окон графиков в меню "Окно" пункт "Мозаикой" вынесен на первое место.
    • Добавлен быстрый вызов команды "Мозаика" с помощью сочетания клавиш "Alt+R".



  8. Исправлена проверка разрешения на торговлю при перемещении торговых уровней на графике с помощью drag'n'drop.
  9. Добавлена возможность закрытия окна графика путем нажатия средней кнопкой мыши на его вкладке.
  10. Исправлена ошибка применения шаблонов к графикам. В некоторых случаях неправильно устанавливались параметры индикаторов из шаблона.
  11. Исправлено отображение графических объектов типа "Label" и "Bitmap Label" с точкой привязки, расположенной в одном из нижних углов графика.
  12. Исправлено построение графика изменения баланса в отчете, формируемом по торговой истории.
  13. Исправлено сохранение шаблонов в случаях, когда шаблон именовался на японском или любом другом иероглифическом языке.
  14. Добавлен вывод записей о срабатывании стоп лосс, тейк профит и отложенных ордеров в журнал терминала. Вывод записей осуществляется только для активного торгового счета, и только если терминал был подключен в момент срабатывания.

Язык MQL4

  1. Добавлена функция WebRequest для работы с HTTP-запросами, благодаря которой MQL4-программы теперь могут взаимодействовать с различными сайтами и веб-службами.

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

    Функция WebRequest() получает и отправляет информацию с веб-сайтов с помощью GET и POST-запросов. Чтобы разрешить MQL4-программе осуществлять такие запросы, необходимо включить опцию "Разрешить WebRequest для следующих URL" в настройках терминала и явным образом вручную прописать URL-адреса доверенных сайтов.



    По соображениям безопасности данная опция по умолчанию отключена.

  2. Добавлены функции доступа к базе сигналов и управление подпиской на сигналы из MQL4-программ.

    Теперь вы можете непосредственно из MQL4-программы получить список сигналов, проанализировать их качество на основе собственных критериев, выбрать лучший и автоматически на него подписаться. Фактически, появился новый класс торговых роботов, которые периодически перебирают доступные сигналы и при необходимости подписываются на лучший в данный момент сигнал.

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

    • SignalBase*() — функции доступа к базе сигналов.
    • SignalInfo*() — функции получения настроек сигнала.
    • SignalSubscribe() и SignalUnsubscribe() — функции управления подпиской.

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



  3. Исправлена ошибка отображения графических объектов типа OBJ_LABEL и OBJ_TEXT при изменении их текста из MQL4-программы.
  4. Приведены в порядок значения макроопределений причин деинициализации MQL4-программ. Теперь они полностью соответствуют аналогичным значениям в MQL5.
  5. Исправлены ошибки при изменении размера диалога свойств MQL4-программ.
  6. Исправлена ошибка в функции StringConcatenate.
  7. Добавлено определение пользовательских индикаторов, исполняемых слишком медленно. Если индикатор работает медленно, в журнал выводится запись "indicator is too slow".
  8. Исправлена функция FileSize для файлов, открытых на запись. Раньше функция возвращала размер файла без учета последних операций записи.
  9. Добавлены новые свойства клиентского терминала, доступные через функции TerminalInfo*:
    • TERMINAL_MQID - признак того, что в настройках терминала указан MetaQuotes ID.
    • TERMINAL_COMMUNITY_ACCOUNT - признак того, что в настройках указан аккаунт MQL5.community.
    • TERMINAL_COMMUNITY_CONNECTION - признак наличия соединения с сайтом MQL5.community.
    • TERMINAL_COMMUNITY_BALANCE - значение баланса на аккаунте MQL5.community.
    • TERMINAL_NOTIFICATIONS_ENABLED - признак разрешенности посылки уведомлений через MetaQuotes ID.

Торговые сигналы

  1. Добавлено отображение описания сигнала с учетом языка интерфейса.
  2. Исправлена работа сигналов при нехватке памяти во время копирования сигнала.

MetaEditor

  1. Добавлена возможность отладки шаблонных функций.
  2. Оптимизирована работа с большими файлами исходного текста (десятки мегабайт). При этом увеличилась скорость работы и снизилось потребление памяти.
  3. Исправлена навигация по исходному коду с использованием комбинации клавиш "Ctrl + -" и "Ctrl + Shift + -".

Исправления по сообщениям на форуме и крешлогам.

Обновление доступно через систему LiveUpdate.