MetaTrader 5 Build 3520: 2FA/TOTP-Authentifizierung mit dem Google Authenticator

Die 2FA/TOTP-Authentifizierung schützt ein Handelskonto vor unbefugtem Zugriff, selbst wenn dessen Login und Passwort bekannt werden

25 November 2022

Terminal

  1. 2FA/TOTP-Authentifizierung mit Google Authenticator und ähnlichen Anwendungen hinzugefügt.

    Die 2FA/TOTP-Authentifizierung schützt ein Handelskonto vor unbefugtem Zugriff, selbst wenn dessen Login und Passwort bekannt werden. Die Authentifizierung mit dem One-Time-Password-Algorithmus (TOTP) kann mit verschiedenen mobilen Anwendungen umgesetzt werden. Die bekanntesten davon sind Google Authenticator, Microsoft Authenticator, LastPass Authenticator und Authy. Jetzt können Sie sich mit Ihrem Konto im MetaTrader 5-Client-Terminal verbinden, indem Sie Einmalpasswörter verwenden, die von solchen Authenticator-Apps generiert werden.

    Um die Zwei-Faktor-Authentifizierung zu aktivieren, verbinden Sie sich mit Ihrem Konto und führen Sie den Befehl "2FA/TOTP aktivieren" im Kontextmenü Ihres Kontos aus. Starten Sie die Authenticator-App auf Ihrem Mobilgerät, klicken Sie auf "+", um Ihr Handelskonto hinzuzufügen, und scannen Sie den QR-Code vom Terminal. Geben Sie den generierten Code in das Feld "Einmaliges Passwort" ein und klicken Sie auf "2FA aktivieren". Für Ihr Konto wird auf dem Handelsserver des Brokers ein Geheimcode registriert.


    Unterstützung für 2FA/TOTP-Authentifizierung mit Google Authenticator und ähnlichen Apps wurde hinzugefügt.

    Der gespeicherte Geheimcode wird in der Authenticator-App verwendet, um jedes Mal, wenn Sie sich mit Ihrem Konto verbinden, ein Einmalpasswort, One-time password oder OTP, zu generieren. Jedes Passwort ist 30 Sekunden lang gültig. Danach wird ein Neues erstellt.



    Für die Verbindung mit dem Konto ist ein zusätzliches Einmalpasswort, ein One-Time Password oder OTP, von der Authenticator-App erforderlich

    Wenn Sie sich entscheiden, den gespeicherten Geheimcode aus der Authenticator-App zu entfernen, sollten Sie zunächst die 2FA/TOTP-Authentifizierung über den entsprechenden Befehl im Kontextmenü des Kontos deaktivieren. Wenn die neue 2FA/TOTP-Authentifizierungsmethode auf Ihrem Konto nicht verfügbar ist, wenden Sie sich bitte an Ihren Broker.

MQL5

  1. Die Funktion CopyTicks für nutzerdefinierte Handelsinstrumente wurde korrigiert. Bei der Arbeit mit nutzerdefinierten Symbolen konnten unter bestimmten Bedingungen die Anfangsticks der vorherigen Sitzung anstelle der angeforderten Daten zurückgegeben werden.

  2. MQL5: Es wurden neue Enumerationswerte hinzugefügt, um den letzten OpenCL-Fehlercode und die Textbeschreibung zu erhalten.
    1. Der Wert CL_LAST_ERROR (Zahl: 4094) wurde der Enumeration ENUM_OPENCL_PROPERTY_INTEGER hinzugefügt

      Beim Abrufen des letzten OpenCL-Fehlers über CLGetInfoInteger wurde der Parameter handle ignoriert. Fehlerbeschreibungen: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS.
      Bei einem unbekannten Fehlercode wird die Zeichenfolge "unknown OpenCL error N" zurückgegeben, wobei N der Fehlercode ist.

      Beispiel:
      //--- the first handle parameter is ignored when obtaining the last error code
      int code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);

    2. Der Wert CL_ERROR_DESCRIPTION (4093) wurde der Enumeration ENUM_OPENCL_PROPERTY_STRING hinzugefügt.
      Eine textuelle Fehlerbeschreibung kann mit CLGetInfoString abgerufen werden. Fehlerbeschreibungen: https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS.

      Wenn CL_ERROR_DESCRIPTION verwendet wird, sollte ein Fehlercode als Parameter handle in CLGetInfoString übergeben werden. Wenn CL_LAST_ERROR anstelle des Fehlercodes übergeben wird, gibt die Funktion die letzte Fehlerbeschreibung zurück.

      Beispiel:
      //--- get the code of the last OpenCL error
      int    code = (int)CLGetInfoInteger(0,CL_LAST_ERROR);
      string desc; // to get the text description of the error
      
      //--- use the error code to get the text description of the error
      if(!CLGetInfoString(code,CL_ERROR_DESCRIPTION,desc))
         desc = "cannot get OpenCL error description, " + (string)GetLastError();
      Print(desc);
      
      
      //--- to get the description of the last OpenCL error without receiving the code, pass CL_LAST_ERROR  
      if(!CLGetInfoString(CL_LAST_ERROR,CL_ERROR_DESCRIPTION, desc))
         desc = "cannot get OpenCL error description, " + (string)GetLastError();
      Print(desc);
      Der interne Name der Enumeration wird als Fehlerbeschreibung übergeben. Die Erklärung dazu finden Sie unter https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_SUCCESS. Der Wert CL_INVALID_KERNEL_ARGS bedeutet beispielsweise "Wird zurückgegeben, wenn der Kernel in die Prozess-Enqueue gestellt wird und einige Kernel-Argumente nicht gesetzt oder ungültig sind."

  3. Die Funktion der Methode matrix::MatMul wurde korrigiert. Bei der Arbeit mit großen Matrizen konnte das Terminal bei bestimmten Größen abstürzen.

Behoben wurde ein Fehler in den Absturzprotokollen.