MetaTrader 5 build 4730: ampliación del soporte de OpenBLAS y optimización general del funcionamiento

En esta versión, MQL5 ahora ofrece soporte a varias funciones nuevas de la biblioteca OpenBLAS, así como a las funciones TransposeConjugate y CompareEqual. Estas proporcionarán aún más oportunidades para trabajar con matrices y vectores. Además, hemos solucionado la compatibilidad del paquete de integración con Python. Ahora funciona con cualquier versión de Python hasta la versión 3.13

6 diciembre 2024

Terminal

  1. Terminal: Modificado el cálculo del coste de las posiciones, órdenes y transacciones. Ahora se muestra en la divisa de depósito de la cuenta y no en la divisa básica del instrumento comercial:

    El coste de las posiciones, órdenes y transacciones ahora se muestra en la divisa de depósito de la cuenta

  2. Terminal: Añadido un campo para introducir la fecha de nacimiento al abrir cuentas demo.



    Añadido el campo para introducir la fecha de nacimiento al abrir cuentas demo


  3. Terminal: Corregida la escala de los indicadores mostrados en la subventana del gráfico. Para algunos osciladores, los valores de escala mínimo y máximo podían seleccionarse incorrectamente.
  4. Terminal: Optimizado y acelerado el análisis de los datos de ticks y la historia de precios, lo que aumentará la velocidad de apertura de los gráficos.
  5. Terminal: Corregida la edición del color del texto en la ventana de creación de correo interno
  6. Terminal: Actualizadas las traducciones de la interfaz de usuario.

MQL5

  1. Añadidos nuevos métodos OpenBLAS:

    • EigenSolver2 — cálculo de valores propios y vectores propios generalizados para un par de matrices cuadradas ordinarias (función lapack GGEV).
    • EigenSolverX — cálculo de valores propios y vectores propios de una matriz cuadrada regular en el modo de Experto (Expert mode), es decir, con la posibilidad de influir en el algoritmo de cálculo y la posibilidad de obtener los datos de cálculo asociados (función lapack GEEVX).
    • EigenSolver2X — cálculo de valores propios generalizados y vectores propios para un par de matrices cuadradas ordinarias en el modo de Experto (Expert mode), es decir, con la posibilidad de influir en el algoritmo de cálculo y la posibilidad de obtener los datos de cálculo asociados (función lapack GGEVX).
    • EigenSolverShur — cálculo de valores propios, matriz triangular superior en forma de Schur y matriz de vectores de Schur (función lapack GEES).
    • EigenSolver2Shur — cálculo para un par de matrices cuadradas ordinarias de valores propios generalizados, vectores propios generalizados, formas de Schur generalizadas y vectores de Schur izquierdo y derecho (función lapack GGES).
    • EigenSolver2Blocked — cálculo de valores propios generalizados y vectores propios para un par de matrices cuadradas ordinarias utilizando el algoritmo de bloques (función lapack GGEV3).
    • EigenSolver2ShurBlocked — cálculo para un par de matrices cuadradas ordinarias de valores propios generalizados, vectores propios generalizados, formas de Schur generalizadas y vectores de Schur izquierdo y derecho utilizando el algoritmo de bloques (función lapack GGES3).
    • EigenSymmetricRobust — cálculo de valores propios y vectores propios de una matriz simétrica o hermitiana (conjugada compleja) utilizando el algoritmo MRRR de representaciones múltiples relativamente robustas (funciones lapack SYEVR, HEEVR).
    • EigenSymmetricBisect — cálculo de valores propios y vectores propios de una matriz simétrica o hermitiana (conjugada compleja) utilizando el algoritmo de bisección (funciones lapack SYEVX, HEEVX).

  2. Añadidos nuevos métodos para matrices complejas:

    • TransposeConjugate — para crear una matriz conjugada-transpuesta.
      matrix<complex<T>> matrix<complex<T>>::TransposeConjugate(void) const;
      El método retorna una nueva matriz conjugada-transpuesta en la que los elementos de la matriz original se transponen y reducen a sus valores conjugados complejos.

      Si ocurre un error, se retornará una matriz vacía; para obtener el código de error, use la función GetLastError;

    • CompareEqual — comparación absoluta de dos matrices.
      int matrix<T>::CompareEqual(const matrix<T>& mat) const
      Valores de retorno:

      • -1 — si el elemento de la matriz A es menor que el elemento correspondiente de la matriz B.
      • 0 — si todos los elementos de las matrices A y B son idénticos.
      • 1 — si el elemento de la matriz A es mayor que el elemento correspondiente de la matriz B.

      El método también puede retornar errores si el estado de los datos de entrada es incorrecto. Para obtener el código de error, utilice la función GetLastError.

  3. Añadido soporte para Python hasta la versión 3.13 para el paquete de integración correspondiente. Para actualizar el paquete, ejecute el comando:

    pip install --upgrade MetaTrader5

  4. Corregida la omisión del primer evento Timer. El error se producía si el temporizador estaba activado dentro del manejador OnTimer.

MetaEditor

  • Corregido el cálculo de valores para las variables de entrada cuando se trabaja con el depurador. En algunos casos, se mostraba el mensaje unknown identifier en lugar del valor.

Tester

  • Corregida la búsqueda de los tipos de cambio cruzado necesarios para la conversión de divisas al realizar pruebas en instrumentos bursátiles.

Terminal web

  1. Añadido soporte para el modo de ejecución «Por pedido» para órdenes de gran volumen.
  2. Añadido soporte para una descripción extendida del motivo por el que el bróker ha rechazado una solicitud.
  3. Corregido el formulario de apertura de cuenta. Ahora el conjunto de datos solicitados coincidirá con la configuración del bróker.
  4. Corregida la detección del país al registrar una cuenta demo.
  5. Corregida la alineación de la ventana de diálogo con la advertencia sobre la habilitación del trading con un solo clic.