Ajuda para o MetaEditorDesenvolvimento de programasCompilar

Compilar

A compilação é um processo que consiste em traduzir o código fonte MQL4/MQL5 do programa para linguagem de máquina nativa. Seu resultado é a criação do arquivo executável do programa (* EX4 ou *.EX5), que pode ser inicializado na plataforma de negociação.

Compilação consiste em várias etapas:

  • Análise lexical
  • Análise sintática
  • Análise semântica
  • Geração de código
  • Otimização de código
  • Você pode compilar qualquer arquivo (*.MQ4, *.MQ5 ou *.MQH), mas o arquivo executável (*.EX4 ou *.EX5) pode ser obtido apenas como resultado da compilação do arquivo básico MQ4/MQ5 do programa ou projeto.
  • O arquivo executável é criado em seu próprio formato privado, ocultando o algoritmo original do programa.
  • Arquivos executáveis ​​EX4/EX5 compilados podem ser distribuídos sem os arquivos de origem MQ4, MQ5 e MQH. Sem eles, a depuração não é possível. Também não é recomendado distribuir arquivos executáveis ​​EX4/EX5 recebidos durante o processo de depuração.

Para obter o arquivo executável do programa, abra o arquivo de origem básico ou projeto através do "Navegador" e clique em "Compilar Compilar "no menu "Arquivo" ou "F7". O protocolo do processo de compilação será exibido na aba "Erros" na janela "Caixa de Ferramentas". Se a compilação correu sem erros, você pode executar o programa recebido na plataforma de negociação.

Compilando o programa e exibindo os resultados na guia "Erros"

Se erros ou avisos ocorrerem durante o processo de compilação, sua descrição será mostrada na guia "Erros".

Erros de compilação são indicados por ícones Mensagem de erro, tanto na guia "Erros" quanto no próprio código ao acessá-los. Se ocorrerem, não será criado o arquivo executável do programa (*EX4 ou *.EX5). A fim de ir para a linha onde ocorreu o erro, clique duas vezes no erro ou pressione "Ir para linha Ir para linha" no menu de contexto. O número da linha e da coluna em que o erro foi encontrado é exibido nas colunas correspondentes.

Avisos indicados por um ícone Aviso de código executável, mostram os locais de possíveis erros. Ou seja, o compilador presta atenção a locais do código fonte que poderiam ser mal interpretados (por exemplo, alteração implícita do tipo de valor). Ir para essa linha no código pode ser exatamente o mesmo que no caso de erros.

Várias mensagens informativas são marcadas com o íconeMensagem informativa Por exemplo, mensagens sobre arquivos de inclusão que o programa acessou ao compilar.

Modo de compilação #

Há dois modos de compilação no editor: com optimização máxima do código e sem optimização.

A falta de optimização reduz significativamente o tempo necessário para criar um executável. Utilize esse modo quando estiver em uma fase ativa de desenvolvimento e precisar de verificar rapidamente o código escrito. Já, ao compilar o programa, mude para o modo de optimização máxima para melhor desempenho.

Para alternar entre modos, utilize o menu de construção ou o menu de comandos de compilação na barra de ferramentas:

Controle o modo de compilação

O parâmetro "Optimização máxima" nas definições do projeto desempenha a mesma função.

  • Uma descrição completa dos erros de compilação é fornecida no manual de referência da linguagem MQL4/MQL5.
  • Se houver avisos, o arquivo executável será criado. No entanto, não se recomenda ignorá-los. Avisos indicam possíveis erros no código.
  • Ao compilar, o arquivo executável (*.EX4 ou *.EX5) é criado no mesmo diretório que o arquivo de origem básico do programa (*.MQ4 ou *.MQ5) ou projeto.
  • O arquivo executável metaeditor.exe pode ser usado como compilador externo num IDE de terceiros.

Compilação para processadores com arquitetura diferente #

Os processadores modernos têm um conjunto de instruções avançadas que aceleram significativamente os cálculos matemáticos: AVX, AVX2, AVX512, FMA3. Essas instruções são compatíveis com o compilador MQL5, o que permite gerar códigos mais eficientes e mais rápidos. Seu uso é opcional:

  • Se estiver criando um programa para uso pessoal e tiver certeza de que ele será executado em um processador compatível com a arquitetura necessária, poderá compilá-lo usando instruções avançadas. Com isso, o desempenho será aprimorado.
  • Se você criar um programa para uso/venda pública, compile-o com o conjunto de instruções básicas no modo X64 Regular. Dessa forma, será possível garantir que o aplicativo seja o mais compatível possível com o equipamento dos usuários.

Para saber quais instruções seu processador suporta, use o utilitário gratuito CPU-Z.. Após a instalação, abra a seção "CPU" e verifique o campo "Instructions":

Verifique quais instruções seu processador suporta com ajuda do CPU-Z

Use o menu de compilação para selecionar a arquitetura do processador. Em seguida, clique em "Compilar". Você também pode definir a nas configurações do MetaEditor e nas configurações de cada projeto.

Selecione a arquitetura do processador com a qual o programa será compilado

Caso o aplicativo seja compilado com base em uma arquitetura que não seja compatível com o processador do usuário, será exibida a seguinte mensagem no log da plataforma quando você tentar executá-lo:

your CPU architecture does not allow to run the file '<file-name>.ex5': AVX512 required, you have AVX2 only

Restrições:

  • Os programas compilados para processadores AVX512 ainda não são compatíveis com MQL5 Cloud Network e VPS embutido.
  • No Mercado é possível fazer download apenas de arquivos compilados para o X64 Regular. Isso é feito para garantir a compatibilidade máxima dos aplicativos com o hardware dos usuários.