Ajuda para o MetaEditor

Criação de perfil de código

Criação de perfil de código

A criação de perfil é a coleção das características do programa durante sua execução. Ao criar o perfil, são medidos o tempo de execução e o número de chamadas de funções e linhas individuais no código do programa. Com essa ferramenta, o programador pode encontrar as seções mais lentas do código e otimizá-las.

O processo de criação de perfil pode ser realizado num gráfico habitual - na plataforma de negociação -, bem como nos dados do histórico usando o testador de estratégias. No primeiro caso, o programa será executado no gráfico, que, por sua vez, é atualizado em tempo real. Você poderá verificar como o programa irá se comportar em condições de uso do mundo real. No segundo caso, o programa será executado no testador de estratégias no modo visual. A vantagem deste método é que você não precisa esperar a entrada de dados reais a partir do servidor de negociação ou a ocorrência de certas condições de negociação.

Muitos programas, especialmente os indicadores, realizam cálculos apenas quando chega um novo tick (OnTick, OnCalculate). Assim, para avaliar o desempenho, é necessário aguardar a entrada de novos ticks em tempo real. Usando a criação de perfis em dados históricos, você pode imediatamente fornecer a carga correta e verificar o trabalho dos programas mesmo nos fins de semana, quando os mercados estão fechados.

Iniciar criação de perfil

Abra o arquivo do código fonte do programa (MQ4 ou MQ5). No menu "Depurar" ou na barra de ferramentas "Padrão" clique "Iniciar criação de perfis em dados reaisI niciar a criação de perfil sobre dados reais" ou "Iniciar criação de perfil em dados históricos. Iniciar a criação de perfil sobre dados históricos".

Depois disso, será compilada automaticamente uma versão especial do programa para a criação de perfis. Dependendo do tipo de criação de perfil selecionado, o programa será executado num gráfico convencional na plataforma de negociação ou no testador de estratégias (no modo visual).

Execução da criação de perfil no gráfico na plataforma de negociação

Por padrão, o aplicativo é iniciado no gráfico EURUSD H1. Para executar num símbolo e período diferentes, especifique-os na aba "Depurar" nas opções do MetaEditor.

Após a execução, experimente algum tempo com o aplicativo, aproveitando ao máximo todas as suas funções. Isso é necessário para que o criador de perfil possa medir o tempo de execução de todas as funções e linhas do programa.

Em seguida, interrompa a criação de perfil: remova o programa do gráfico ou clique em "Encerrar criação de perfil Concluir a criação de perfil" do menu "Depurar" ou na barra de ferramentas "Padrão".

Recomenda-se remover manualmente o programa a partir do gráfico em vez de usar o comando, para obter resultados mais precisos de criação de perfis "Encerrar criação de perfil Concluir a criação de perfil".

Exibindo resultados de criação de perfil

Após a conclusão da criação de perfil, seus resultados serão abertos na guia "Criador de perfil" da janela "Caixa de Ferramentas". Os resultados podem ser visualizados em dois modos: por funções e por linhas. Para alternar entre eles, use o menu de contexto.

Modo "Funções por chamada"

Resultados da criação de perfil

Neste modo, os resultados da criação de perfil são apresentados por funções:

  • Funções – nome da função ou método da classe.
  • Linha – linha na qual a função é chamada. Se a função for chamada em vários lugares no programa, seu ícone será marcado com um símbolo Expandir. Ao clicar nele, serão abertas informações sobre cada chamada.
  • Número – número de chamadas de função durante o funcionamento do programa.
  • Tempo – tempo de execução da função em microssegundos, assim como em porcentagem em relação ao tempo de execução de todas as funções. O tempo de execução da função é a soma do tempo de execução de todas as funções que são chamadas dentro dela.
  • gráfico – gráfico sobre o tempo de execução de funções.

Os ícones indicam o tipo de funções:

  • Função personalizada – função definida pelo usuário.
  • Função de sistema – função de sistema.
  • Função de processamento de eventos – função de processamento de eventos (On*).
  • Método de classe – método de classe.

Além desses tipos de funções, o criador de perfil exibe:

  • Função de sistema @global_initializations – informações sobre a inicialização de todas as variáveis ​​globais.
  • Função de sistema @global_deinitializations – informações sobre a desinicialização de todas as variáveis ​​globais.

Para visualizar a função no arquivo, clique duas vezes nele.

O criador de perfil não exibe todas as funções, mas sim apenas aquelas que foram chamadas durante o funcionamento do programa.

Modo "Funções por linhas"

Resultados da criação de perfil

Neste modo, as informações sobre o tempo de trabalho do programa são representadas por linhas. As linhas são agrupadas de acordo com as funções do programa.

  • Funções – nome da função.
  • Linha – número da linha para a qual a informação é exibida. Para exibir informações sobre o tempo de execução de cada linha de função, clique em Expandir.
  • Quantidade – vezes que o código foi executado na linha especificada
  • Tempo – tempo de execução do código na linha especificada em microssegundos e porcentagens. As porcentagens de cada linha são exibidas em relação ao tempo de execução da função. As porcentagens das funções são exibidas em relação ao tempo de execução de todo o programa.
  • Gráfico – gráfico para o tempo de execução.

Para ver a linha no arquivo, clique duas vezes nele com o botão esquerdo do mouse.

Menu contextual

Os seguintes comandos estão disponíveis no menu de contexto:

  • Abrir – vai para a linha ou função no arquivo do código fonte. A mesma ação pode ser executada com um duplo clique ou Enter.
  • Expandir tudo – expande todas as funções minimizadas.
  • Recolher tudo – recolhe todas as funções implementadas.
  • Funções por linhas – muda para o modo de visualização de resultados de criação de perfil por linhas.
  • Funções por chamadas – muda para o modo de visualização de resultados de criação de perfil por chamadas.
  • Exportar – exporta os resultados de criação de perfil no formato Open XML (MS Office Excel), HTML (Internet Explorer) ou CSV (arquivo de texto).
  • Autodimensionar – ativa/desativa a configuração automática do tamanho do campo. A mesma ação é executada com a tecla "A".
  • Grade – ativa/desativa a grade que separa os campos. A mesma ação é executada com a tecla "G".