Ajuda para o MetaEditorProjetos e MQL5 StorageCriação e trabalho com projetos

Criação e trabalho com projetos

O MetaEditor permite que você trabalhe convenientemente em grandes projetos, isto é, fusionar vários arquivos numa estrutura, gerenciar as configurações do projeto e colaborar com uma equipe de programadores por meio do repositório online versionado MQL5 Storage.

O que é um projeto?

O projeto é um arquivo separado com a extensão "MQPROJ", que armazena as configurações do programa, parâmetros de compilação e informações sobre todos os arquivos usados. Para o trabalhar facilmente com o projeto, existe uma guia separada no Navegador. Ela mostra todos os arquivos usados por categorias: incluídos, de recurso, de cabeçalhos, etc.

Estrutura e configurações do projeto

Criando um projeto #

Um novo projeto também é tão fácil de criar como um programa MQL5 habitual. Clique em "Novo projeto" e, em seguida, no Assistente MQL5 selecione o tipo de programa a ser criado:

Criar um novo projeto

Em seguida, percorra as etapas padrão do Assistente MQL5: especifique o tipo, o nome e as propriedades do futuro programa e selecione os manipuladores de eventos apropriados.

O assistente também permite criar projetos em branco. Isso é útil para desenvolver sua própria estrutura de arquivos fora do padrão, quando os modelos padrão não são adequados. Nesse caso, é criado apenas um arquivo de configurações "mqproj" vazio. Os arquivos para o código fonte devem ser criados por você mesmo depois.

Criando um projeto baseado num arquivo MQ5 #

Se você já possui desenvolvimentos na forma de arquivos MQ5, eles podem ser facilmente transformados em projetos. Para fazer isso, selecione o arquivo e clique em "Novo projeto a partir de arquivo de origemNovo projeto a partir de arquivo de origem" em seu menu de contexto:

Criando um novo projeto com base num arquivo de origem

No diretório em que o arquivo selecionado está localizado, será criado um novo arquivo de projeto com o mesmo nome e a extensão mqproj. As principais propriedades do programa - especificadas no código fonte como #property - serão automaticamente adicionadas ao projeto: nome, direitos de autoria, versão, referência do desenvolvedor e descrição. Todos os arquivos incluídos no código fonte usando a diretiva #include serão adicionados à seção "Dependencies" do projeto.

Propriedades #

O acesso às principais configurações do projeto é organizado por meio de uma caixa de diálogo separada, e não através da edição do código fonte, como ao trabalhar com arquivos MQ5 únicos. Para abrir as configurações do projeto, clique em "PropriedadesPropriedades" em seu menu de contexto. As seguintes configurações estão disponíveis para o projeto:

  • Plataforma – versão da plataforma para a qual o produto é desenvolvido: MetaTrader 4 ou MetaTrader 5.
  • Tipo de programa – tipo de programa: expert advisor (robô de negociação), indicador, script ou biblioteca.
  • Autor – informações de direitos autorais, semelhantes à propriedade "#property copyright ..." no código fonte.
  • Link – link para o site do desenvolvedor, semelhante à propriedade "#property link ..." no código fonte.
  • Versão – versão do programa, semelhante à propriedade "#property version ..." no código fonte.
  • Ícone – ícone do programa, semelhante à propriedade "#property icon ..." no código fonte.
  • Descrição – descrição do programa, semelhante à propriedade "#property description ..." no código fonte.
  • Ativar otimização adicional – aplicativos com otimização desativada são compilados mais rápido, mas trabalham mais devagar.
  • Verificar separadores de ponto flutuante – aplicativos com verificação desativada funcionam de maneira um pouco mais rápida, pois os erros de divisão por zero não são verificados quando o código é executado.
  • Usar cache de otimização – ao executar a otimização, o testador de estratégias salva todos os resultados das passagens concluídas no cache. Os resultados são salvos para cada conjunto de parâmetros de entrada. Isso permite, durante uma nova otimização, nos mesmos parâmetros obter os resultados prontos sem recálculo e tempo gasto.
    Mas para algumas tarefas – por exemplo, em cálculos matemáticos – pode ser necessário realizar cálculos, independentemente da disponibilidade de resultados prontos no cache de otimização. Neste caso, no projeto desative a opção "Usar cache de otimização". Adicionalmente, embora isso, os próprios resultados do teste serão armazenados no cache, para que você possa ver todos os dados nas corridas concluídas no relatório do testador de estratégia.
  • Calcule o indicador em cada tick no testador - esta opção está disponível apenas para projetos de indicadores. Ela inclui forçosamente o cálculo em cada tick ao trabalhar no testador de estratégia. A opção se aplica apenas ao trabalho no testador de estratégia, na plataforma, os indicadores são sempre contados a cada tick recebido.
    Quando você testa EAs usando indicadores, o testador de estratégia calcula os valores dos indicadores apenas ao acessá-los para obter dados, ou seja, faz isso somente no momento em que os valores do buffer do indicador são solicitados. Isso fornece uma aceleração significativa durante o teste e a otimização, se o EA não precisar obter valores de indicadores a cada tick. Se o cálculo dos indicadores for necessário em cada tick, ative esta opção.
    Os indicadores no testador de estratégia também são calculados à força a cada tick nos seguintes casos:
  • ao testar no modo visual
  • se o indicador contiver funções EventChartCustom, OnChartEvent, OnTimer
  • se o indicador for criado pelo compilador com um número de compilação abaixo de 1916

Ao conjunto de propriedades do programa no arquivo de projeto é dada uma prioridade mais elevada do que às propriedades especificadas no código do programa. Se propriedades são especificadas tanto no projeto quanto no arquivo de origem, serão usadas as propriedades do projeto.

Adicionando e removendo arquivos de um projeto #

Os arquivos usados ​​no código fonte são automaticamente adicionados ao navegador do projeto. Por exemplo, se você incluir o novo arquivo MQH no código usando as diretivas #include, ele será exibido automaticamente na seção "Dependencies" do navegador. Os arquivos de cabeçalho usados serão adicionados à seção "Headers", enquanto as imagens, sons e outros programas MQL5 serão adicionados ao projeto como recursos na seção "Resources".

Na seção "Sources", são exibidos os arquivos MQ5 com código fonte. Você pode adicionar outros arquivos à seção "Settings" e "files", por exemplo, configurações de teste ou modelos para gráficos.

Para adicionar arquivos existentes ao projeto manualmente e excluir arquivos dele, use os comandos do menu de contexto. Tenha cuidado ao excluir, pois você pode estar removendo um arquivo de projeto (remover a ligação) ou completamente excluí-lo do disco rígido:

Adicionando e removendo arquivos de um projeto

O comando "Adicionar pasta existente" permite adicionar massivamente ao projeto todos os arquivos suportados desde o diretório selecionado.

Quando você adiciona um arquivo ao projeto manualmente, ele não é incluído de forma alguma no código do programa e não é copiado para o diretório do projeto. O arquivo é ligado apenas ao projeto para exibição em seu navegador.

Compilando o projeto #

Para obter o arquivo executável EX5, você pode abrir o projeto ou o arquivo MQ5 principal do programa e, em seguida, executar o comando de compilação (F7). O arquivo executável será criado no mesmo diretório que o arquivo de projeto "MQPROJ".

Projetos em grupo #

O MetaEditor permite o desenvolvimento conjunto de aplicativos com uma equipe de programadores. Para fazer isso, o repositório online MQL5 Storage é integrado diretamente ao editor:

  • Armazenamento versionado – você sempre pode ver quem fez alterações e, se necessário, revertê-las.
  • Acesso ao projeto online – você e outros participantes do projeto têm acesso a ele de qualquer computador através da conta da MQL5.community.
  • Notificações de alterações no projeto – esteja a par de qualquer alteração nos arquivos ou nas configurações do projeto. Para receber notificações no seu celular, especifique seu MetaQuotes ID na seção Configurações \Segurança do seu perfil da MQL5.community. A comunicação com a equipe pode ser estabelecida por meio do chat em grupo.
  • Você mesmo define as permissões dos participantes – visualização ou edição.
  • Você pode realizar projetos públicos com participação gratuita e fácil encontro de pessoas afins – todos os projetos públicos disponíveis são mostrados numa aba separada do MetaEditor, de onde qualquer pessoa pode se candidatar para participar.

Projetos em grupo são gerenciados a partir da seção Shared Projects. Se você não tiver conectado o repositório ainda, execute o comando Activate MQL5 Storage no menu de contexto desta pasta. MetaEditor verificará se o seu armazenamento contém dados armazenados e se existem quaisquer projetos disponíveis para você. Os dados existentes serão imediatamente extraídos do repositório e baixados para o computador. Os projetos de grupo disponíveis serão exibidos na seção Shared Projects; para obtê-los, clique em "Extrair arquivos do repositório" no menu de contexto.

Para criar um novo projeto grupal, selecione a pasta Shared Projects e clique em "Novo projeto".

Criando um projeto em grupo

Em seguida, complete as etapas do Assistente MQL5: defina o tipo, nome e propriedades do futuro programa. Para projetos em grupo, escolha nomes claros e compreensíveis, para que os outros participantes possam encontrá-los facilmente. Nos nomes dos projetos só podem ser usadas letras latinas sem espaços.

Imediatamente após a criação do projeto, ele é automaticamente adicionado ao repositório MQL5 Storage. Os arquivos usados da <a2>biblioteca padrão</a2> não são adicionados ao repositório, se necessário, você pode adicioná-los manualmente.

Para permitir que outros participantes trabalhem com o projeto, abra suas propriedades: aqui você pode conceder permissões a usuários específicos, bem como estabelecer os parâmetros gerais do trabalho em grupo:

  • Projeto privado – projeto disponível apenas para o autor
  • Participação no projeto disponível – qualquer um pode participar do projeto
  • Participação no projeto sob demanda – para acessar o projeto, você deve enviar um pedido ao autor

Configurando o acesso a um projeto em grupo

Para conceder direitos ao projeto para um usuário específico, clique em "adicionar um novo usuário" e especifique seu login da MQL5.community. Em seguida, selecione os direitos:

  • Leitura – o usuário pode ver todos os dados do projeto e carregá-los em seu MetaEditor.
  • Leitura e Escrita – o usuário pode ver todos os dados do projeto, bem como carregar suas próprias alterações no repositório, mas não pode modificar a lista de participantes.

A fim de facilitar o trabalho, ao compilar o projeto grupal, o executável final (EX5) é copiado automaticamente para a pasta Experts, Indicators ou Scripts, dependendo do tipo de programa. Assim, você pode iniciar imediatamente o programa na plataforma sem ter que copiá-lo manualmente para o diretório desejado.

Projetos públicos #

Cada projeto em grupo no MQL5 Storage tem configurações de disponibilidade: o projeto pode ser privado ou aberto à participação de outros usuários. Todos os projetos nos quais você pode ingressar livremente são exibidos na guia separada "Projetos públicos".

Projetos públicos

Para participar do projeto, clique em "Ingressar". Depois disso, ele aparecerá na seção "Shared Projects". Em seguida, clique em "Obter atualização do repositórioObter atualizações do repositório" no menu de contexto do projeto, para baixá-las para seu computador.

Após ingressar, cada usuário recebe o direito apenas de visualizar o projeto. A fim de obter os direitos para enviar suas próprias alterações para o repositório, entre em contato com o autor do projeto. Para saber seu login da MQL5.community, abra as propriedades do projeto no menu de contexto.

Ver configurações do projeto