Новая версия платформы MetaTrader 5 build 3520: добавлена 2FA/TOTP аутентификация с помощью Google Authenticator

 

В пятницу 25 ноября 2022 года будет выпущена обновленная версия платформы MetaTrader 5.

В этом обновлении мы добавили 2FA/TOTP-аутентификацию с помощью Google Authenticator в торговый терминал MetaTrader 5, а также добавили получение информации об ошибках OpenCL.

Новая версия платформы MetaTrader 5 build 3520: добавлена 2FA/TOTP аутентификация с помощью Google Authenticator

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


  1. Terminal: Добавлена поддержка 2FA/TOTP-аутентификации с помощью Google Authenticator и других подобных приложений.

    Использование двухфакторной аутентификации позволяет дополнительно защитить ваш торговый аккаунт от неавторизованного доступа даже в случае утечки логина и постоянного пароля к нему. Существует множество мобильных приложений, которые позволяют проводить двухэтапную аутентификацию с помощью алгоритма Time-based One-time Password Algorithm (TOTP). Среди наиболее известных Google Authenticator, Microsoft Authenticator, LastPass Authenticator и Authy. Теперь в клиентском терминале MetaTrader 5 можно авторизоваться с помощью одноразовых паролей, получаемых из таких Authenticator-приложений.

    Чтобы включить двухэтапную аутентификацию, сначала авторизуйтесь в клиентском терминале MetaTrader 5 обычным способом. Затем правой кнопкой по торговому счету вызовите меню и выполните команду "Разрешить 2FA/TOTP". Запустите Authenticator на мобильном телефоне, нажмите в нем кнопку "+" для добавления вашего торгового счета и отсканируйте QR-код из терминала. Введите полученный код в поле "One-time password" и нажмите кнопку "Enable 2FA" — секрет для вашего счета будет добавлен на торговом сервере брокера.


    Добавлена поддержка 2FA/TOTP-аутентификации с помощью Google Authenticator и других подобных приложений.

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



    Для подключения к торговому счету теперь необходимо ввести дополнительный OTP пароль из приложения Authenticator

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

  2. MQL5: Исправлена работа функции CopyTicks для пользовательских торговых инструментов. В некоторых случаях при работе с кастомными символами вместо запрошенных данных возвращались начальные тики прошлой торговой сессии.

  3. MQL5: Для получения информации о последней ошибке OpenCL в перечисления добавлены новые значения, которые позволяют получить код ошибки и текстовое описание.
    1. В перечисление ENUM_OPENCL_PROPERTY_INTEGER добавлено значение CL_LAST_ERROR (код 4094) 

      Для получения последней ошибки OpenCL через CLGetInfoInteger параметр handle игнорируется, то есть не имеет значения. Описание ошибок: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS.
      Для неизвестного кода ошибки вернётся строка "unknown OpenCL error N", где вместо N будет код ошибки.

      Пример:
      //--- первый параметр handle игнорируется при получении кода последней ошибки
      int code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);

    2. В перечисление ENUM_OPENCL_PROPERTY_STRING добавлено значение CL_ERROR_DESCRIPTION (4093).
      Текстовое описание ошибки OpenCL можно получить с помощью CLGetInfoString. Описание ошибок: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS.

      При использовании CL_ERROR_DESCRIPTION в качестве параметра handle в CLGetInfoString следует передать код ошибки. Если вместо кода ошибки передать CL_LAST_ERROR, то функция вернёт описание последней ошибки.

      Пример:
      //--- получить код последней OpenCL ошибки
      int    code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);
      string desc; // для получения текстового описания ошибки
      
      //--- используем код ошибки для получения текстового описания ошибки
      if(!CLGetInfoString(code,CL_ERROR_DESCRIPTION,desc))
         desc = "cannot get OpenCL error description, " + (string)GetLastError();
      Print(desc);
      
      
      //--- чтобы получить описание последней OpenCL ошибки без предварительного получения кода, нужно передать CL_LAST_ERROR  
      if(!CLGetInfoString(CL_LAST_ERROR,CL_ERROR_DESCRIPTION, desc))
         desc = "cannot get OpenCL error description, " + (string)GetLastError();
      Print(desc);
      Пока в качестве описания ошибки отдаётся имя внутреннего перечисления, расшифровку которого можно посмотреть на странице https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS. Например, если получено значение CL_INVALID_KERNEL_ARGS, описание для него "Returned when enqueuing a kernel when some kernel arguments have not been set or are invalid."

  4. MQL5: Исправлена работа метода matrix::MatMul. При работе с матрицами большого размера на некоторых размерах терминал аварийно завершал работу.
  5. Исправления по крешлогам.

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

 
For 2FA, does broker needs to have support for that as well? Or it doesn't matter, if user sets it up via Authenticator app, then it's fine? Thanks!
 
Wasin Thonkaew #:
For 2FA, does broker needs to have support for that as well? Or it doesn't matter, if user sets it up via Authenticator app, then it's fine? Thanks!

Ответ

MetaQuotes:

Если 2FA/TOTP-аутентификация недоступна на вашем счете, попросите брокера включить эту опцию.
 
Rashid Umarov #:

Ответ

Thank you Rashid. I missed that part (I used translator). Just now I see the english version from metaquotes.
Thanks!

 

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

Было решением торговлю один клик менять не только объем но и символ. 

 
BillionerClub #:

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

Было решением торговлю один клик менять не только объем но и символ. 

В идеале кнопкам на каждом графике дать возможность добавлять свой ex5 файл. Это была бы новая фича

 
Сетевую активность (текущая скорость закачки данных) в Терминале не посмотреть?
 
Если после нескольких мин без торговли кнопки, исчезали бы было бы хорошо! никогда не знаешь из темного экрана попадешь кликом или не попадешь
 

На демо счете MQ в десктопной версии МТ5 2FA/TOTP-аутентификация через Google Authenticator работает нормально - включается, позволяет зайти или отключить ее.

А на счете ДЦ, где по умолчанию была включена аутентификация по ОТР-кодам через мобильное приложение МТ5 на iPhone, я сначала отключил ее, а затем подключил на десктопной версии Метатрейдера 5 аутентификацию через приложение Google Authenticator.

В результате, теперь нигде невозможно подключиться к счету - пишет, что неправильный одноразовый пароль от GA и отключить 2 FA/TOTP тоже нельзя по этой же причине.

В чем может быть причина и как теперь отвязать эту аутентификацию Гугл Аутентификатора от торгового счета? Версия МТ5 из последнего dmg-пакета для macOS на Apple М1.

2022.11.26 17:46:49.611 Terminal        MetaTrader 5 x64 build 3520 started for MetaQuotes Software Corp.
2022.11.26 17:46:49.611 Terminal        Windows 10 build 10240 on Wine 6.0 Darwin 22.1.0, 8 x VirtualApple @ 2.50GHz, 0 / 8 Gb memory, 160 / 228 Gb disk, admin, GMT+6
2022.11.26 17:46:49.611 Terminal        c:\Program Files\MetaTrader 5
2022.11.26 17:47:11.352 Network '2*:    authorization on *Forex-Core failed (Invalid one-time password)
2022.11.26 17:47:30.290 *Forex-Core     '2*': unbinding of one-time password generator failed (Invalid one-time password)

Лог журнала прилагаю. Может быть причина в том, что билд версии сервера ДЦ еще 3300?

 
Andy #:

Лог журнала прилагаю. Может быть причина в том, что билд версии сервера ДЦ еще 3300?

Да, причина в старом сервере брокера.

Чтобы заработала схема авторизации по схеме Google Authenticator в дополнение к нашей штатной на мобильных терминалах MetaTrader, надо обновить торговые серверы.

Для отвязки неподдерживаемой схемы 2FA надо попросить брокера сбросить 2FA на вашем аккаунте или обновить сервер до 3520.

 
Спасибо! Буду их просить обновить сервер.
Причина обращения: