Ayuda de MetaEditor

Perfilado del código

Perfilado del código

El perfilado supone la recopilación de las características del programa durante su ejecución. Al realizar el perfilado, se miden el tiempo de ejecución y el número de llamadas de funciones y líneas individuales en el código del programa. Con esta herramienta, el programador puede encontrar las secciones más lentas del código y optimizarlas.

El perfilado se puede realizar de forma común en la plataforma comercial, y también usando los datos históricos con la ayuda del simulador de estrategias. En el primer caso, el programa se iniciará en un gráfico que se actualiza en tiempo real. Usted podrá verificar cómo se comporta el programa en condiciones de uso reales. En el segundo caso, el programa se iniciará en el simulador de estrategias en el modo visual. La ventaja de este método es que no necesita esperar la recepción de datos reales desde el servidor comercial o la aparición de ciertas condiciones comerciales.

Muchos programas, en especial los indicadores, ejecutan ciertos cálculos solo con la llegada de un nuevo tick (OnTick, OnCalculate). De esta forma, para valorar la productividad, debemos esperar la llegada de nuevos ticks en tiempo real. Mediante el uso de perfilado con datos históricos, usted podrá establecer la carga correcta y verificar el funcionamiento de los programas, incluso los fines de semana, cuando los mercados están cerrados.

Inicio de perfilado

Abra el archivo del código fuente del programa (MQ4 o MQ5). En el menú "Depuración" o en la barra de herramientas "Estándar" haga clic en "Comenzar el perfilado con datos reales Comenzar el perfilado con datos reales" o "Comenzar el perfilado con datos históricos Comenzar el perfilado con datos históricos".

A continuación, se compila automáticamente una versión especial del programa para el proceso de perfilado. Dependiendo del tipo de perfilado elegido, el programa se iniciará en un gráfico regular en la plataforma comercial o en el simulador de estrategias (en el modo visual).

Ejecutar el perfilado en el gráfico en la plataforma comercial

Por defecto, la aplicación se inicia en el gráfico EURUSD H1. Para iniciarla con otro símbolo y periodo, indique estos en la pestaña "Depuración" en los ajustes del MetaEditor.

Después de iniciarlo, trabaje un poco de tiempo con la aplicación, aprovechando al máximo todas sus funciones. Es necesario para que el perfilador pueda medir el tiempo de ejecución de las funciones y líneas del programa.

A continuación, detenga el perfilado: elimine el programa del gráfico o haga clic en "Finalizar perfilado Finalizar perfilado" en el menú "Depurar" o en la barra de herramientas "Estándar".

Para que los resultados de perfilado obtenidos sean más precisos, se recomienda eliminar manualmente el programa del gráfico, en lugar de usar el comando "Finalizar perfilado Finalizar el perfilado".

Ver resultados de perfilado

Tras la finalización del proceso de perfilado, sus resultados se abren en la pestaña "Perfilador" de la ventana "Caja de herramientas". Los resultados se pueden ver en dos modos: por función y por línea. Para alternar entre ellos, use el menú contextual.

Modo "Funciones por llamadas"

Resultados de perfilado

En este modo, los resultados del perfilado se presentan por funciones:

  • Funciones – nombre de la función o nombre del método de clase.
  • Línea – línea en la que se realiza la llamada a la función. Si la función es llamada desde varios lugares del programa, su icono se marcará con el signo Abrir. Si pulsa sobre él, aparecerá información sobre cada una de las llamadas.
  • Cantidad – número de llamadas a la función durante el funcionamiento del programa.
  • Tiempo – tiempo de ejecución de la función en microsegundos, y también en tanto por ciento respecto al tiempo de ejecución de todas las funciones. El tiempo de ejecución de una función constituye la suma de los tiempos de ejecución de todas las funciones llamadas dentro de ella.
  • Gráfico – gráfico según el tiempo de ejecución de una función.

Los siguientes iconos indican en el tipo de las funciones:

  • Función personalizada –  función personalizada.
  • Función de sistema – función de sistema.
  • Función de manejo de eventos – función de manejo de eventos (On*);
  • Método de clase – método de clase.

Aparte de estos tipos de funciones, en el perfilador se muestran:

  • Función de sistema @global_initializations – información sobre la inicialización de todas las variables globales.
  • Función de sistema @global_deinitializations – información sobre la desinicialización de todas las variables globales.

Para ver una función dentro del archivo, haga doble clic izquierdo sobre ella.

No todas las funciones se muestran en el perfilador. Solo aparecerán las que hayan sido llamadas durante el funcionamiento del programa.

Modo "Funciones por filas"

Resultados de perfilado

En este modo, la información sobre el tiempo de trabajo del programa está representada por líneas. Las líneas están agrupadas según las funciones del programa.

  • Funciones – nombre de la función.
  • Línea – número de la línea para la que se muestra la información. Para ver la información sobre el tiempo de ejecución de cada línea de la función, pinche en el icono Abrir.
  • Cantidad – cuántas veces ha sido ejecutado el código en la línea especificada.
  • Tiempo – tiempo de ejecución del código en la línea especificada en microsegundos o en tanto por ciento. Los valores porcentuales para cada línea se muestran respecto a la duración de ejecución de la función. Los valores porcentuales para las funciones se muestran respecto al tiempo de ejecución del programa completo.
  • Gráfico – gráfico según el tiempo de ejecución.

Para ver una línea dentro del archivo, haga doble clic izquierdo sobre ella.

Menú contextual

Los siguientes comandos están disponibles en el menú contextual:

  • Abrir – ir a una línea o función dentro del archivo del código fuente. Puede realizar la misma acción haciendo doble clic o pulsando la tecla Enter.
  • Maximizar todas – maximizar todas las funciones minimizadas.
  • Minimizar todas –  minimizar todas las funciones maximizadas.
  • Funciones por líneas – ir al modo de representación de resultados del perfilado por líneas.
  • Funciones por llamadas – ir al modo de representación de resultados del perfilado por llamadas.
  • Exportar – exportar los resultados del perfilado en el formato Open XML (MS Office Excel), HTML (Internet Explorer) o CSV (archivo de texto).
  • Autoajustar – habilitar/deshabilitar el modo de ajuste automático de los campos. La misma acción se realiza con la tecla "A".
  • Cuadrícula – mostrar/ocultar la cuadrícula que divide los campos. La misma acción se realiza con la tecla "G".