MetaTrader 5 build 2815: Acceso a la profundidad de mercado desde Python, mejoras en el depurador y el perfilador

¿Qué novedades tiene MetaTrader 5?

26 febrero 2021

Terminal

  1. Añadida la posibilidad de obtener los datos de la profundidad de mercado a través de Python API.
    Las tres nuevas funciones permiten obtener de forma fácil y rápida los datos para los cálculos estadísticos y el aprendizaje automático utilizando una gran cantidad de bibliotecas Python listas para usar.
    • market_book_add — realiza la suscripción del terminal MetaTrader 5 para recibir eventos sobre los cambios en la profundidad de mercado del símbolo indicado.
    • market_book_get — retorna desde BookInfo la tupla que contiene las entradas de la profundidad de mercado del símbolo indicado.
    • market_book_release — cancela la suscripción del terminal MetaTrader 5 para recibir eventos sobre los cambios en la profundidad de mercado del símbolo indicado.

  2. La longitud máxima de los mensajes Push ha aumentado de 256 a 1024 caracteres. Ahora, usted podrá enviar mucha más información a los dispositivos móviles desde sus programas MQL5.
  3. Añadida la versión preliminar del "Administrador de tareas" llamada con la tecla F2.
    El administrador de tareas es un sistema que monitorea los recursos utilizados por la plataforma. En él podrá ver cuánta memoria consumen los gráficos, cuántos recursos del procesador usan los asesores, etcétera. Si algo está ralentizando la velocidad de su plataforma, podrá detectar y solucionar fácilmente el problema.



  4. Mejorado el servicio "Suscripciones". Se ha añadido una indicación especial para los instrumentos comerciales cuyos datos se transmiten con retraso:
    • Los símbolos en la "Observación de mercado" están marcados con un icono en forma de reloj; el valor de retraso se muestra con una pista emergente
    • En los gráficos se muestra una notificación sobre el retraso de los datos



  5. Corregida la representación de la lista de suscripciones cuando no existe conexión a la cuenta comercial.
  6. Corregido el funcionamiento de los enlaces en los emails y noticias. Ahora se abren en el navegador por defecto. Antes se utilizaba para ello Internet Explorer.
  7. Corregidas las conexiones desde WebRequest a los hosts con direcciones IPv6 y protección de Cloudflare.
  8. Mejorada la funcionalidad y la respuesta del servicio VPS.
  9. Mejorado el funcionamiento de la plataforma con Wine y MacOS/Crossover, incluida la versión de macOS Big Sur con procesador M1.

MQL5

  1. Corregido el error de la función ArrayPrint. Antes, en algunos casos, la función podía no mostrar la matriz.
  2. Optimizadas las operaciones de archivo ejecutadas con la ayuda de las funciones File*. Ahora, la lectura y el guardado de archivos se realiza sustancialmente más rápido.
  3. Eliminada la restricción que requería especificar el tamaño de las dimensiones segunda, tercera y cuarta de una matriz dinámica al utilizar esta como parámetro de función. Esto aumentará las posibilidades de reutilización y la flexibilidad de su código.
    void func(int &arr[ ][ ][ ][ ])
      {
      }
  4.  Corregido el error de funcionamiento en la función ArrayBsearch. Al realizar la búsqueda binaria de un valor en una matriz clasificada, la función podía retornar incorrectamente el índice del elemento encontrado.

MetaEditor

  1. Continúan los trabajos de actualización global del depurador.

    • Al mostrar las matrices en la ventana de observación, se tiene en cuenta la clasificación especificada por la función ArraySetAsSeries.
    • Añadido el soporte de variables estáticas locales.
    • Corregida la representación del valor del elemento de matriz especificado.
    • Corregido el procesamiento de los campos static de las clases.
    • Multitud de correcciones para una depuración más precisa y fiable.

  2. Añadida la opción "Activar optimización al realizar perfilado"
    Para aumentar el volumen de detalle del informe de perfilado, podrá desactivar el modo de optimización de código. Sin optimización, la velocidad del código puede disminuir varias veces, pero a cambio podrá ver una cobertura de código más amplia. Tenga en cuenta que al usar el código, los cuellos de botella resultarán imprecisos.
    Para utilizar un modo de perfilado más suave, desactive la opción "Usar inlining al realizar el perfilado".



    Asimismo, existe la posibilidad de gestionar la optimiazación del código los ajustes de los proyectos.
    • Si la optimización está desactivada en el proyecto, la nueva opción se ignorará; la optimización siempre está desactivada para el perfilado (incluido el inlining).
    • Si la optimización está activada en el proyecto, la nueva opción se considerará al compilar para el perfilado.

  3. Añadido el registro al realizar la depuración y el perfilado. Durante inicio, en el registro se muestra la configuración del entorno, mientras que al interrumpirse el proceso, se muestran estadísticas sobre los datos recopilados.
    MQL5 profiler    starting 'ExpertMACD.ex5' on history with parameters:
    MQL5 profiler       symbol: 'EURUSD'
    MQL5 profiler       period: 'H1'
    MQL5 profiler       date from: '2021.01.01'
    MQL5 profiler       date to: '2021.02.22'
    MQL5 profiler       ticks mode: 'every tick'
    MQL5 profiler       execution delay: 0 ms
    MQL5 profiler       deposit: 10000
    MQL5 profiler       currency: 'USD'
    MQL5 profiler       leverage: 1:100
    MQL5 profiler       profit in pips: NO
    MQL5 profiler    profile data received (4640 bytes)
    MQL5 profiler    758 total measurements, 0/0 errors, 470 kb of stack memory analyzed
    MQL5 profiler    7782 total function frames found (1929 mql5 code, 342 built-in, 1403 other, 4108 system)

Tester

  1. Corregida la especificación de las horas no comerciales en los ajustes de simulación ampliados.

Documentación actualizada.