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 terminal cliente inclui o compilador de programas MQL4/MQL5, que funciona separadamente do MetaEditor - MQL.exe. Ele está localizado na pasta de instalação do terminal.

O compilador pode ser iniciado a partir de qualquer pasta. O único requisito para inicializar é ter o MQL.dll (ou a sua versão de 64-bit) no mesmo diretório.

Você é livre para distribuir os arquivos MQL.exe e MQL.dll. No entanto, você não está autorizado a fazer qualquer alteração, desmontar ou descompilar esses arquivos, bem como quaisquer objetos de programas MQL4/MQL5.

O compilador é iniciado a partir da linha de comando, especificando o caminho e o nome do arquivo que você quer compilar.

Exemplo de execução do compilador:

C:\Compiler\>mql.exe C:\MyPrograms\script.mq5

O arquivo possui duas chaves de execução:

  • /s – Se você executar o compilador com esta chave, ele só irá verificar a sintaxe do código do programa e mostrar os respectivos resultados;
  • /i :[caminho] – com essa chave, você pode especificar o caminho para o diretório /MQL5 or /MQL4 do terminal cliente. Este parâmetro é necessário para programas que usam frequentemente arquivos inclusos (*.mqh).

Exemplo de execução do compilador com a chave adicional:

C:\Compiler\>mql.exe C:\MyPrograms\script.mq5 /i:C:\client_terminal\MQL5