MetaTrader 5 Trading Terminal build 965: Умный поиск, OTP и перевод денег между счетами

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

27 июня 2014

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

  1. Полностью обновлен встроенный поиск. Новый поиск - интеллектуальная и высокопроизводительная система. Результаты запросов теперь удобно структурируются по категориям.

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



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



    Для улучшения восприятия теперь в результатах поиска отображается не только текст, но и аватары статей, книг и программ. Используйте верхнюю панель для просмотра результатов поиска по продуктам в MetaTrader AppStore, библиотеке исходных кодов, сигналам, форуму MQL5.community и документации. Если в каком-либо из разделов результаты отсутствуют, он подсвечивается серым цветом.

  2. Добавлена возможность OTP-аутентификации. Использование OTP (one-time password, одноразовый пароль) - это дополнительный уровень безопасности при работе с торговыми счетами. При каждом подключении к счету пользователю требуется ввести уникальный одноразовый пароль.

    В качестве генератора одноразовых паролей выступает мобильный терминал MetaTrader 5 для iPhone. Позже будет добавлена возможность использовать также мобильный терминал для Android.

    Включение OTP
    Чтобы начать использовать одноразовые пароли, необходимо связать свой торговый счет с генератором паролей, в качестве которого выступает мобильный терминал MetaTrader 5 для iPhone.
    Возможность использования OTP также должна быть включена на торговом сервере.
    Зайдите в раздел "Настройки" мобильного терминала и выберите пункт OTP. При первом открытии данного раздела для дополнительной безопасности требуется установить пароль из четырех цифр. Пароль потребуется вводить каждый раз для доступа к генератору паролей.



    В открывшемся окне выберите пункт "Привязать к счету".



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

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



    Аналогичным образом вы можете привязать неограниченное количество торговых счетов к генератору.

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

    Дополнительные команды:

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

    Использование OTP в десктопном терминале
    После привязки к генератору, при попытке подключения через десктопный терминал при помощи торгового счета будет дополнительно запрашиваться одноразовый пароль:




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



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

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

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

    • Перевод может быть осуществлен только в пределах одного торгового сервера и только при совпадении типа счетов. С реального счета можно перевести только на реальный, с демо-счета - только на демо.
    • Счета, между которыми осуществляется перевод, должны иметь одинаковую валюту депозита.
  4. Добавлена возможность смены пароля у любого торгового счета в окне "Навигатор". Раньше изменить пароль можно было только для счета, который в настоящий момент подключен.

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




  5. Добавлена возможность установки уровней SL и TP на чарте c помощью перетаcкивания (drag'n'drop) торгового уровня соответствующей позиции. Наведите курсор мыши на уровень позиции на графике. Нажмите левую кнопку мыши и, удерживая ее, переместите уровень вверх или вниз.



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

  6.  Изменено расположение команд в меню "Окно". Теперь команда "Мозаикой" отображается первой, для нее добавлено сочетание горячих клавиш Alt+R. Данная команда также добавлена на стандартную панель инструментов.




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



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

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

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



    В контекстном меню счета также были произведены следующие изменения:
    • Перенесен на первое место пункт "Открыть счет".
    • Добавлен функционал "Изменить пароль".
    • Добавился пункт "Выделить виртуальный сервер".

  9. Исправлено отображение графических объектов типа "Label" и "Bitmap Label" с точкой привязки, расположенной в одном из нижних углов графика.

Язык MQL5

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

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

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




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

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

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

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

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

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

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




  3. Добавлены новые свойства клиентского терминала, доступные через функции 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.

  4. Добавлены функции работы с крипто-алгоритмами: CryptEncode() и CryptDecode(). Функции позволяют шифровать и расшифровывать данные, например, при пересылке данных по сети при помощи функции WebRequest(). Они также позволяют рассчитывать контрольные суммы и производить архивацию данных.

    Сигнатуры функций:
    int CryptEncode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);
    int CryptDecode(ENUM_CRYPT_METHOD method,const uchar &data[],const uchar &key[],uchar &result[]);
    Для работы с функциями также добавлено новое перечисление ENUM_CRYPT_METHOD:
    CRYPT_BASE64,      // шифрование BASE64 (перекодировка)
    CRYPT_AES128,      // шифрование AES с ключом 128 бит
    CRYPT_AES256,      // шифрование AES с ключом 256 бит
    CRYPT_DES,         // шифрование DES (длина ключа 56 бит - 7 байт)
    CRYPT_HASH_SHA1,   // расчет HASH SHA1
    CRYPT_HASH_SHA256, // расчет HASH SHA256
    CRYPT_HASH_MD5,    // расчет HASH MD5
    CRYPT_ARCH_ZIP,    // ZIP архивирование

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




  6. Добавлена возможность отладки шаблонных функций.
  7. Добавлено определение пользовательских индикаторов, исполняемых слишком медленно. Если индикатор работает медленно, в журнал выводится запись "indicator is too slow".
  8. Исправлено значение, возвращаемое функцией IsStopped(). Функция служит для определения принудительной остановки MQL5-программ в пользовательских индикаторах. Ранее эта функция всегда возвращала FALSE.
  9. Исправлены проверки входных параметров MQL5-программ по типу данных. В частности, для параметра типа uchar можно было указать значение более 255.
  10. Исправлена ошибка в функции StringConcatenate().
  11. Исправлена функция FileSize() для файлов, открытых на запись. Раньше функция возвращала размер файла без учета последних операций записи.
  12. Проведена ревизия файловых операций, в результате которой достигнуто ускорение в работе с файлами.

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

  1. Исправлено копирование значений SL и TP у торговых позиций при различном числе знаков после запятой в цене по торговому инструменту у источника сигнала и подписчика.
  2. Исправлена ошибка при копировании торговых позиций у подписчиков сигнала с некорректными настройками торговых инструментов на стороне торгового сервера.
  3. Исправлено закрытие торговых позиций, открытых торговым сигналам, при падении значения Equity торгового счета ниже значения, указанного в параметрах копирования сигнала. В некоторых случаях закрытие позиций могло привести к зависанию терминала.

MetaEditor

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

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

Обновлена документация.

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