Ajuda para o MetaEditor

Compilando

A compilação é o processo de traduzir o código fonte de um programa MQL4/MQL5 para a linguagem de máquina. Este processo consiste em várias etapas:

  • Varredura lexical;
  • Análise sintática;
  • Análise semântica;
  • Geração de código;
  • Otimização de código.

Uma compilação bem sucedida resulta na criação de um arquivo executável (*.EX5) de um programa que pode ser iniciado no terminal cliente.

  • Qualquer arquivo (*.MQ5 ou *.MQH) pode ser compilado, mas um arquivo executável (*.EX5) pode ser gerado somente como o resultado da compilação do arquivo MQ5 principal de um programa.
  • Um arquivo executável é criado em seu próprio formato fechado, que esconde o algoritmo fonte de um programa.
  • Arquivos executáveis ​​EX5 compilados podem ser distribuídos sem os arquivos fonte MQ5 ou MQH. A depuração é impossível sem eles. Recomenda-se não distribuir arquivos EX5 obtidos no resultado da depuração.

Para começar a compilação, abra o arquivo fonte através da janela "Navegador" e execute o comando "Compilar Compilar" do menu "Arquivo" ou da barra de ferramentas "Padrão", ou você pode pressionar a tecla "F7".

O relatório do processo de compilação será mostrado na guia "Erros" da janela "Caixa de Ferramentas". Se não houver erros nesta guia, você pode iniciar o programa no terminal cliente. Mensagens de erro e de aviso são marcadas por ícones especiais ao lado de suas descrições:

Erros

Erros de compilação são marcados por ícones Erro, tanto na guia "Erros" quanto no código. Se esses erros ocorrem, o arquivo de programa executável (*.EX5) não será gerado. A fim de ir para a linha com o erro, clique duas vezes com o botão esquerdo do mouse sobre a linha, ou execute o comando "Ir para a linhaIr para a linha" no menu contextual. O número da linha e da coluna, em que um erro foi encontrado, são apresentados nas colunas correspondentes.

A descrição completa dos erros de compilação é dada nos tópicos de ajuda para a linguagem MQL4/MQL5.

O aparecimento de alertas indicados pelo ícone Atenção, aponta para os lugares onde podem ocorrer erros. Ou seja, o compilador aponta para partes do código-fonte, que poderiam ser interpretados incorretamente (por exemplo, a mudança implícita de um tipo de valor). Você pode ir para essas linhas de código do mesmo modo em que se vai para as linhas com erros.

É possível que você não processe os alertas. Mas não é recomendado, pois indicam potenciais locais onde erros podem ocorrer.

Além disso, várias mensagens informativas são mostradas no diário. Elas são marcadas pelo ícone Informações. Elas podem mostrar, por exemplo, arquivos inclusos, em que um programa refere-se durante a compilação.

O arquivo executável (*.EX5) gerado após uma compilação bem sucedida, está localizado no mesmo lugar onde o arquivo principal do código-fonte do programa (*.MQ5) está localizado.

Compilação a partir da linha de comando

O arquivo executável MetaEditor pode ser usado como compilador ao trabalhar com código-fonte em um editor externo. O compilador é executado a partir da linha de comando com o caminho e o nome do arquivo que você quer compilar:

  • metaeditor.exe /compile:"<caminho completo para o arquivo de origem>"
  • metaeditor64.exe /compile:"<caminho completo para o arquivo de origem>"

Exemplo

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts\myscript.mq5"

Compilação em massa de arquivos em um diretório

A compilação pode ser feita em massa, especificando, em vez do caminho para arquivo, o caminho para o diretório. Neste caso, serão compilados todos os arquivos dos códigos-fonte na pasta especificada, as subpastas não são incluídas.

Se já existir uma versão compilada do arquivo de origem, a recompilação não será levada a cabo.

No exemplo abaixo, a compilação será realizada para o diretório \MQL5\Scripts

Exemplo

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts"

Diretório próprio MQL5/MQL4 com arquivos incluídos

Os programas podem usar arquivos adicionais incluídos (*.mqh), localizados fora do diretório de trabalho da plataforma atual. Por exemplo, no diretório \MQL5 de outra cópia da plataforma no mesmo computador. Para compilação correta, especifique o caminho para o diretório usando a chave "/inc".

Exemplo

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts" /inc:"C:\Program Files\TradingPlatform 2\MQL5"

Diário da compilação

Para obter informações sobre o processo de compilação, especifique a chave adicional /log. Neste caso, na pasta onde está localizado o arquivo de origem, será criado o arquivo de diário de compilação <nome do arquivo de origem>.log.

Exemplo

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts\myscript.mq5" /log
Arquivo do diário: C:\Program Files\TradingPlatform\MQL5\Script\myscript.log

Verificação de sintaxe

Para verificar a sintaxe do programa sem compilação, execute o MetaEditor a partir da linha de comando com as chaves /s e /log (para a saída de resultados da verificação no arquivo de log).

Exemplo

"C:\Program Files\TradingPlatform\metaeditor64.exe" /compile:"C:\Program Files\TradingPlatform\MQL5\Scripts\myscript.mq5" /s /log
Arquivo com os resultados da verificação: C:\Program Files\TradingPlatform\MQL5\Script\myscript.log