Nuova piattaforma MetaTrader 5 build 3520: Autenticazione 2FA/TOTP tramite Google Authenticator

 

L'aggiornamento della piattaforma MetaTrader 5 verrà rilasciato venerdì 25 novembre 2022.

In questo aggiornamento, abbiamo implementato l'autenticazione 2FA/TOTP nei terminali di trading MetaTrader 5 utilizzando Google Authenticator e abbiamo aggiunto la segnalazione degli errori OpenCL.

Nuova piattaforma MetaTrader 5 build 3520: autenticazione 2FA/TOTP tramite Google Authenticator

Altre correzioni e funzionalità aggiornate migliorano la stabilità operativa complessiva della piattaforma. Tutte le nuove funzionalità sono descritte in dettaglio di seguito.


  1. Terminale: Aggiunta autenticazione 2FA/TOTP utilizzando Google Authenticator e app simili.

    L'autenticazione 2FA/TOTP protegge un conto di trading da accessi non autorizzati anche se il suo login e password vengono trapelati. L’autenticazione tramite Algoritmo TOTP (Time-based One-time Password Algorithm) può essere implementato utilizzando varie app mobili. I più popolari sono Google Authenticator, Microsoft Authenticator, LastPass Authenticator e Authy. Ora puoi connetterti al tuo account nel terminale client MetaTrader 5 utilizzando password monouso generate da queste app di Autenticazione.

    Per abilitare l'opzione di autenticazione a due fattori, connettiti al tuo account ed esegui il comando "Abilita 2FA/TOTP" nel menu contestuale dell'account. Esegui l'app Authenticator sul tuo dispositivo mobile, fai clic su "+" per aggiungere il tuo conto di trading e scansiona il codice QR dal terminale. Inserisci il codice generato nel campo "One-time password" e fai clic su "Abilita 2FA". Un segreto sarà registrato per il tuo account sul server di trading del broker.


    Aggiunto il supporto per l'autenticazione 2FA/TOTP utilizzando Google Authenticator e app simili.

    Il segreto salvato verrà utilizzato nell'app Authenticator per generare un codice OTP ogni volta che ti connetti al tuo account. Ogni password è valida per 30 secondi. Dopodiché ne viene generata una nuova.



    Sarà richiesto un OTP aggiuntivo dall'app Authenticator per la connessione all'account

    Se decidi di rimuovere il segreto archiviato dall'app Authenticator, devi prima disabilitare l'autenticazione 2FA/TOTP utilizzando il comando del menu contestuale dell'account appropriato. Se il nuovo metodo di autenticazione 2FA/TOTP non è disponibile sul tuo account, contatta il tuo broker.

  2. MQL5: Corretto il funzionamento della funzione CopyTicks per gli strumenti di trading personalizzati. Quando si lavora con i simboli personalizzati, i tick iniziali della sessione precedente potrebbero essere restituiti invece dei dati richiesti, in certe condizioni.

  3. MQL5: Aggiunti nuovi valori di enumerazione per ottenere l'ultimo codice di errore OpenCL e la descrizione di testo.
    1. Il valore CL_LAST_ERROR (codice 4094) è stato aggiunto all'enumerazione ENUM_OPENCL_PROPERTY_INTEGER

      Quando si ottiene l'ultimo errore OpenCL tramite CLGetInfoInteger, il parametro handle viene ignorato. Descrizioni degli errori: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API. html#CL_SUCCESS.
      Per un codice di errore sconosciuto, viene restituita la stringa "unknown OpenCL error N", dove N è il codice di errore.

      Esempio:
      //--- il primo parametro handle viene ignorato quando si ottiene l'ultimo codice di errore
      int code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);

    2. Il valore CL_ERROR_DESCRIPTION (4093) è stato aggiunto all'enumerazione ENUM_OPENCL_PROPERTY_STRING .
      È possibile ottenere una descrizione di testo dell’errore utilizzando CLGetInfoString. Descrizioni degli errori: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API. html#CL_SUCCESS.

      Quando si utilizza CL_ERROR_DESCRIPTION, è necessario passare un codice di errore come parametro handle in CLGetInfoString. Se viene passato CL_LAST_ERROR invece del codice di errore, la funzione restituirà l'ultima descrizione dell'errore.

      Esempio:
      //--- ottenere il codice dell'ultimo errore OpenCL
      int    code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);
      string desc; // per ottenere la descrizione testuale dell'errore
      
      //--- utilizzare il codice di errore per ottenere la descrizione di testo dell'errore
      if(!CLGetInfoString(code,CL_ERROR_DESCRIPTION,desc))
         desc = "cannot get OpenCL error description, " + (string)GetLastError();
      Print(desc);
      
      
      //--- per ottenere la descrizione dell'ultimo errore OpenCL senza ricevere il codice, passare CL_LAST_ERROR
      if(!CLGetInfoString(CL_LAST_ERROR,CL_ERROR_DESCRIPTION, desc))
         desc = "cannot get OpenCL error description, " + (string)GetLastError();
      Print(desc);
      Il nome dell'enumerazione interna viene passato come descrizione dell'errore. La sua spiegazione può essere trovata su https://registry.khronos.org/OpenCL/specs/3.0-unified/html /OpenCL_API.html#CL_SUCCESS. Ad esempio, il valore CL_INVALID_KERNEL_ARGS significa "Restituito durante l'accodamento di un kernel quando alcuni argomenti del kernel non sono stati impostati o non sono validi".

  4. MQL5: Risolto il problema con il metodo matrix::MatMul . Quando si lavora con matrici di grandi dimensioni, il terminale potrebbe bloccarsi su determinate dimensioni.
  5. Corretti gli errori segnalati nei registri degli arresti anomali.

L'aggiornamento sarà disponibile attraverso il sistema Live Update.