MetaTrader 5 build 2650: carga de gráficos en segundo plano y mejoras en el perfilador de código MQL

Añadido el ajuste "Cargar previamente los datos de los gráficos de las posiciones y órdenes abiertas"

9 octubre 2020

Terminal

  1. Añadido el ajuste "Cargar previamente los datos de los gráficos de las posiciones y órdenes abiertas".

    Para ahorrar tráfico, la plataforma comercial descarga la historia de precios de los instrumentos solo en el momento de su solicitud real, por ejemplo, al abrir un gráfico o iniciar la simulación. No obstante, para los instrumentos utilizados más activamente, esto puede no resultar siempre cómodo. Si activa esta nueva opción, los gráficos de los instrumentos de los que usted tiene posiciones abiertas u órdenes pendientes se actualizarán en segundo plano cada vez que inicie la plataforma. Así, al abrir los gráficos, usted no tendrá que esperar a que se carguen los datos, estos siempre estarán disponibles para el análisis.




  2. Corregida la formación de las barras de día despues de los festivos.
  3. Corregida la actualización de los gráficos. En algunos casos, después de descargar adicionalmente los datos de precio actualizados, los gráficos podían no actualizarse.
  4. Optimizada la actualización de la caché de la historia comercial de la cuenta. Esto permitía reducir los retrasos a la hora de obtener los datos con la ayuda de las funciones History*.
  5. Corregida la representación de la columna de comentarios al visualizar la historia comercial en forma de posiciones.
  6. Corregida la representación del botón de prolongación de la suscripción en las "Señales".

MQL5

  1. Continuamos trabajando en la actualización completa del perfilador de código. Como adición a las novedades de la versión 2615:

    Añdidos nuevos parámetros
    Como ya anunciamos en la anterior actualización, para realizar el perfilado, ahora se usa el método "Sampling". El perfilador pausa el funcionamiento de un programa MQL (~1000 veces por segundo) y recopila estadísticas sobre cuántas veces se ha hecho la pausa en ciertos sectores del código. Asimismo, se analizan las pilas de llamadas, para determinar el "aporte" de cada función al tiempo total de funcionamiento del código. Al final del perfilado, usted obtendrá estadísticas sobre el número de veces que se ha ejecutado la pausa y cuántas veces ha resultado cada una de las funciones en la pila de llamadas:

    • Actividad general de la CPU [unidad de medición, %] — número total de "apariciones" de la función en la pila de llamadas.
    • Actividad propia de la CPU [unidad de medición, %] — número de "pausas" ocurridas propiamente dentro de la función indicada. Este contador es el más importante para determinar los cuellos de botella, ya que, según las estadísticas, la pausa sucede con mayor frecuencia en los segmentos del programa que requieren mayor tiempo de funcionamiento por parte del procesador.


    Añadida la posibilidad de desactivación del inlining de funciones al realizar el perfilado
    Al compilar programas MQL, se realiza el inlining (incorporación), a saber, el código de las funciones se ubica directamente en lugar de su llamada, lo que permite conseguir una aceleración sustancial durante el funcionamiento. Sin embargo, esto dificulta el perfilado de funciones. Para obtener un informe de funciones "puras", usted podrá desactivar el inlining al realizar el perfilado en los ajustes MetaEditor:




    Actualizado el diseño del informe
    Hemos rediseñado el informe de perfilado, así como la representación de la información sobre el perfilado en la ventana del código fuente. El diseño es ahora más actual y familiar para los usuarios de Visual Studio.




  2. Corregido el funcionamiento de la función CopyTicksRange. Debido a él, la función no retornaba todos los datos en algunas situaciones.
  3. Añadido el nuevo código de error TRADE_RETCODE_HEDGE_PROHIBITED: la apertura de posiciones o la colocación de órdenes no resulta posible, debido a que no se permite la cobertura de posiciones. El error se retorna como respuesta al intento de realizar una transacción comercial si la cobertura está prohibida para la cuenta y hay en ella una posición u orden en la dirección opuesta del mismo símbolo.
  4. Eliminada la posibilidad de llamar a la función MessageBox al depurar los indicadores. MessageBox no se llama desde los indicadores, dado que interrumpe el funcionamiento del flujo de ejecución durante todo el tiempo de espera de la respuesta del usuario.
  5. Optimizada y significativamente acelerada la adición de instrumentos comerciales a la "Observación de mercado" con la ayuda de la función SymbolSelect.
  6. Corregido el comportamiento de la función ArrayInsert para las matrices de tamaño fijo. Ahora, existe en la documentación: al insertar elementos, el tamaño de la matriz receptora no cambia; en este caso, además, comenzando desde la posición de inserción, los elementos de la matriz receptora se desplazan a la derecha (los últimos elementos count son "descartados"), mientras que en el espacio liberado se realiza el copiado de elementos desde la matriz fuente.

Tester

  1. Corregido el trabajo con los ajustes de usuario de las condiciones comerciales al realizar la simulación. Asimismo, se ha rediseñado la ventana de diálogo de ajustes.

    • Corregido el cobro de comisiones de usuario. Ahora, para activar las comisiones, basta con indicar el nombre del símbolo, y no la ruta completa al mismo.
    • Modificada la ubicación de las pestañas, para un trabajo más cómodo.
    • Renombrada la ventana de diálogo y la opción que incluye los ajustes de usuario, para facilitar su comprensión.
    • Optimizada la anchura de las columnas en los recuadros de ajustes.
    • Al activar la opción "Utilizar ajustes de usuario", los demás ajustes en la ventana de diálogo son ahora desactivados. Antes, los ajustes permanecían disponibles para la edición, y los usuarios podían considerar erróneamente que estos se aplicaban al realizar la simulación.




  2. Corregido el error que surgía en algunos casos al obtener órdenes de la historia comercial según el ticket.

MetaEditor

  1. Añadidos esquemas de color predeterminados para la ventana de edición del código: claro (por defecto), oscuro y azul. Ahora, para trabajar de noche con mayor comodidad, usted no se verá obligado a ajustar manualmente el aspecto externo del editor.

    Aparte de ello, se ha añadido la posibilidad de configurar el color del marco para la ventana de pistas según las funciones.



     
  2. Actualizados por completo los iconos en los paneles de instrumentos para el soporte de monitores HiDPI.

Documentación actualizada.