Criação de SlickEdit para trabalhar com e compilar documentos MQL4/5.

 

Boa tarde, colegas.

Fui abordado por membros do fórum com um pedido de ajuda com as definições do editor acima mencionado. Embora haja muito material sobre este tópico na web, os programadores ainda têm problemas com as definições. Vou mostrar-vos como fazê-lo passo a passo.


O MetaEditor é um grande editor e é capaz de satisfazer as necessidades da maioria dos programadores. Contudo, não é suficientemente poderoso para gerir projectos muito grandes de dezenas de milhares de linhas com muitas inlúdios. Por conseguinte, peço à administração que seja solidária com este fio.

 

O SE suporta várias dezenas de línguas, mas também lhe permite adicionar línguas personalizadas.

Na minha opinião, é mais conveniente ligar a MQL4/5 a qualquer das línguas padrão em vez de criar uma nova língua personalizada. Isto porque os ficheiros mqh são utilizados tanto em MQL4 como em MQL5 e cada língua deve ter combinações de extensão únicas. Se criarmos as línguas MQL4 e MQL5, então uma delas ficará sem ficheiros mqh.

Mas é possível criar vários perfis de destaque para uma língua, é o que faremos. A forma mais lógica e correcta é fazer a ligação a C/C+++ e fá-lo-emos, ou seja, ligar MQL4 e MQL5 a C/C+++ e criar perfis de realce apropriados. Então não teremos quaisquer problemas com ficheiros mqh.


Para que o SE reconheça ficheiros mqh, mq4 e mq5, estas extensões devem ser prescritas nas definições. Pode entrar aqui:

Ir para Languages->Application Languages->C/C++->General.

Prima o botão Edit These Extensions....

Na janela que aparece, introduza as nossas extensões.



Agora, ao abrir documentos mqh, mq4, mq5, o código será realçado pela sintaxe C/C++.

O passo seguinte é definir a sintaxe destacando separadamente e especificamente para as nossas línguas favoritas MQL4 e MQL5.

 

Antes de configurar o destaque da sintaxe separadamente para MQL4 e MQL5, precisamos de configurar o modelador. Ao alternar entre os perfis de realce MQL4/5, o realce não muda imediatamente, uma vez que é necessário reler as definições de realce. Para que o perfil de realce tenha efeito após a mudança, é necessário ou reabrir ou abrir o ficheiro. Ou utilizar um modelador, que relê automaticamente o ficheiro de realce e cria uma cache variável para o ficheiro editado para o realce correcto.


Assim, o estilizador é estabelecido da seguinte forma:

Entre:



Ou, pode fazer outra forma, e abrir qualquer ficheiro com extensão mqh, mq4, mq5, como se segue:



Para evitar ir sempre ao menu para o estilizador, vamos colocar o botão na barra de ferramentas:


Depois disso, aparece uma barra de ferramentas com o botão styler que precisamos:

O painel, claro, pode ser deslocado para onde for mais conveniente:


 

Vamos criar um perfil de destaque para a MQL4.

Para o fazer, vá aqui:


E digitar manualmente todas as palavras-chave MQL4 (ou ler os passos seguintes das instruções, onde haverá um ficheiro pronto com todas as configurações que podem ser importadas).

 

Tal como no passo anterior, criar um perfil de destaque para a língua MQL5.


 

No SE podemos trabalhar em 1) editar um ficheiro ou em 2) modo de projecto.

1) As variáveis e funções declaradas nos inlúdios (se forem anexadas ao ficheiro a ser editado) não serão visíveis, com o inconveniente que isto causa, mas tal ficheiro único aberto pode ser compilado.

2) O modo de projecto não tem o inconveniente de editar um único ficheiro aberto.


Para começar, iremos configurar o SE para trabalhar em modo de edição de ficheiro único.


Vamos ligar o compilador MQL4 para trabalhar no modo de edição de ficheiro único aberto.

Para o fazer, mudar para o perfil de destaque MQL4.

Abrir um ficheiro com extensão mq4.

Vá aqui:


Faça como mostra a imagem de ecrã abaixo:



Advertência! As definições do compilador não são importadas do ficheiro de definições. Este passo é obrigatório.
 

Agora vamos ligar o compilador MQL5 para trabalhar em modo de edição de ficheiro aberto único.

Para o fazer, mudamos para o perfil de destaque MQL5.

Abrir um ficheiro com extensão mq5.

Ir para a janela de diálogo da mesma forma que quando se configura o compilador MQL4.

Faça como mostra a imagem de ecrã abaixo:




Atenção! As definições do compilador não são importadas do ficheiro de definições. Este passo é obrigatório.
 

Agora podemos utilizar os compiladores MQL4/5 no modo de ficheiro único aberto usando as teclas de atalho, independentemente de o ficheiro mq4 ou mq5 estar aberto. Se formos para o menu "Construir", veremos a seguinte imagem:

 
Nas etapas seguintes, configurar o SE para trabalhar em modo de edição de projectos.
 

Assim, para trabalhar em modo de edição de projectos, é necessário primeiro criar os tipos de projectos apropriados.

Vamos criar o tipo de projecto MQL4.

Vá aqui:

Note que ainda não marcou a vermelho (aparecerá mais tarde, quando os tipos de projectos apropriados forem criados).


Clique em Personalizar...


Clique em Novo


Então, abrirá uma caixa de diálogo onde deverá fazer como nas capturas de ecrã abaixo:


O mesmo deve ser feito para projectos MQL5.

 

Agora vamos criar o projecto MQL5 (vamos saltar a criação do projecto MQL4, uma vez que o procedimento é o mesmo que para a criação do projecto MQL5).

Vá ao menu Projecto e seleccione Novo...

Escolha o projecto do tipo MQL5 a partir da lista. Especificar o nome do projecto "Amostra". Especificar a localização do ficheiro do projecto e premir Ok. Fazer como mostra a imagem no ecrã, por exemplo:


Como a pasta da amostra não existe no caminho especificado, ser-lhe-á oferecido criar a pasta ou ignorá-la. Aceitamos.


Aparecerá uma janela onde poderemos personalizar o projecto criado utilizando o modelo previamente seleccionado.

No separador Ficheiros é possível adicionar ficheiros-fonte do nosso projecto, mas ainda não adicionaremos nada:


O separador Ferramentas contém as definições do compilador. Se não parecer como na imagem de ecrã abaixo, significa que algo foi feito de errado ao criar um modelo como o projecto MQL5. Pode cancelar a criação do projecto e voltar aos passos anteriores para corrigir o modelo. Ou montar o projecto agora na janela:


Nada mais nesta janela é necessário para nós, e nós pressionamos Ok.

Isto é tudo. O projecto MQL5 foi criado. Até agora, está vazio e os ficheiros do código fonte não estão ligados/criados.


Agora, em qualquer (não importa) das pastas do projecto (estas pastas são virtuais, não são) criar novos e seleccionar ficheiros de código fonte existentes.


Isto é basicamente tudo o que precisa de saber e poder usar o SE para editar e compilar programas MQL4/5.

Razão: