MetaTrader 5 build 4260: mejoras generales

Corregido el error al suscribirse a productos gratuitos en el servicio “Suscripciones”

22 marzo 2024

Terminal

  1. Corregido el error al suscribirse a productos gratuitos en el servicio “Suscripciones”. En algunos casos, es posible que el botón correspondiente no esté presente en la ventana de diálogo.
  2. Actualizadas las traducciones de la interfaz de usuario.

MQL5

  1. Ampliado el soporte para eventos de teclado:

    • Añadido el evento CHARTEVENT_KEYUP al manejador OnChartEvent. Dicho evento permite monitorear el momento en que el usuario suelta una tecla en el teclado.
    • Añadido el procesamiento de teclas "muertas" (Dead keys), es decir, las teclas que permiten cambiar el tipo del siguiente carácter introducido. Por ejemplo, en la composición griega, poner énfasis en las vocales ά, έ, ύ, etc., debemos presionar la tecla “;” y luego introducir una letra. Ahora la pulsación de dichas teclas se puede monitorear utilizando la función TranslateKey.
    • Mejoradas las funciones TranslateKey y TerminalInfoInteger. Ahora, al recibir eventos CHARTEVENT_KEYUP o CHARTEVENT_KEYDOWN en OnChartEvent, podremos obtener el estado completo del teclado en el momento en que ha ocurrido el evento. Por ejemplo, si el usuario ha presionado la tecla Z, podrá saber si en ese momento se ha presionado la tecla Ctrl o Shift. Para otros eventos, las funciones operarán como antes: retornarán el estado del teclado en el momento actual.

  2. Actualizada la biblioteca Alglib. Debido a la actualización, se han cambiado los siguientes métodos en las clases CMatrixDouble y CMatrixComplex:
    vector<double/complex> operator[](const int i) const;
    vector<double/complex> operator[](const ulong i) const;
    Ahora, en lugar de ellos, se utilizará un método con un valor de retorno constante:
    const vector<double/complex> operator[](const ulong i) const;
    La corrección realizada nos permitirá detectar el uso incorrecto del resultado: en la nueva versión de Alglib, el código mat[row][col]=x funciona de forma diferente que en la anterior. Antes, esto suponía la escritura en un array, pero ahora supone la escritura en un objeto vectorial temporal <double/complex> que se destruye inmediatamente después de la escritura.

    La adición de const al valor retornado hace que resulte imposible usar mat[row][col]=x. Debido a que mat[row] ahora retorna un vector constante, intentar sobrescribir su elemento con mat[row][col] provocará un error de compilación.

  3. Corregido el error que en algunos casos provocaba un funcionamiento incorrecto de las funciones ChartGet*.

MetaEditor

  1. Añadida la búsqueda en el libro “Redes neuronales en el trading algorítmico en MQL5”. Ahora se combina en una sección con el libro publicado anteriormente "Programación en MQL5 para tráders".



Tester

  1. Corregida la optimización para una gran cantidad de agentes remotos. En algunos casos, el error podría provocar una carga excesiva de la CPU.


Terminal web MetaTrader 5

  1. Corregida la colocación de órdenes límite para instrumentos con ejecución bursátil. Ahora, cuando el precio de la orden colocada cambia en relación con el actual (más alto o más bajo), el tipo de orden propuesta no cambiará de Buy Limit a Sell Limit y viceversa, como ocurre con otros tipos de instrumentos. Así, el usuario, si es necesario, podrá colocar órdenes Buy Limit por encima del mercado y órdenes Sell Limit por debajo del mercado para limitar el precio de la transacción de forma garantizada.
  2. Corregida la visualización de contadores para los símbolos seleccionados en la «Observación de mercado».