Ajuda para o MetaEditorProjetos e MQL5 StorageTrabalhando com o repositório

Trabalhando com o repositório

O repositório MQL5 Storage funciona apenas com a pasta MQL5 (ou MQL4) da plataforma de negociação, bem como com o diretório especial Shared Projects, projetado para projetos em grupo.

Todas as operações com o repositório MQL5 Storage são realizadas através do menu de contexto da janela "Navegador" e através do menu de contexto do editor de código fonte:

Menu do MQL5 Storage

Comandos de menu permitem que você execute as seguintes ações no MQL5 Storage:

  • Obter dados do repositório;
  • Enviar alterações para o repositório;
  • Adicionar arquivos/pastas ao repositório;
  • Remover arquivos/pastas ao repositório;
  • Cancelar alterações atuais na cópia local dos dados;
  • Visualizar o diário de alterações de dados no repositório;
  • Visualizar alterações na cópia de trabalho do arquivo.

Início Rápido #

O repositório contém informações na forma de uma árvore de arquivos. Ao se conectar ao repositório, o usuário do MetaEditor lê e grava esses arquivos. O usuário sempre trabalha apenas com uma cópia local dos dados e, conforme necessário, envia suas alterações para o repositório.

Para começar a trabalhar com dados através do repositório MQL5 Storage, associe uma pasta de dados local e uma pasta semelhante ao repositório:

  • Após criar um repositório, ele está vazio. Você precisa adicionar nele o diretório. Depois disso, para o diretório especificado no repositório, será criado o diretório correspondente (no mesmo caminho relativo à pasta /MQL4 ou /MQL5). Este diretório será o diretório raiz. É dentro dele que continuará o trabalho com arquivos.
  • Se o repositório de dados já tiver algum dado, extraia-o para o diretório local. Para fazer isso, execute o comando "Obter atualização do repositório Obter atualizações do repositório" no menu de contexto do elemento raiz "MQL5" (ou "MQL4") na janela "Navegador".

Armazenamento versionado de dados

O diretório/arquivo associado ao repositório é chamado de "versionado", ou seja, tem uma certa versão, quer dizer, um número de revisão. Cada atualização de dados no repositório corresponde a um número de revisão específico. Cada vez que você atualiza o diretório/arquivo no repositório, o número de revisão é incrementado para ele, assim como para o diretório raiz inteiro. Na verdade, a revisão é um estado de diretório/arquivo num determinado momento.

Os diretórios raiz são a pasta MQL5/MQL4, bem como as pastas de cada projeto em grupo. Para cada diretório raiz, as revisões são realizadas separadamente, inclusive para elas é usada sua própria numeração. Se você enviar mudanças para o diretório MQL5, seu número de revisão aumentará, enquanto, nos projetos, o número de revisão não será elevado (a menos que os projetos usem arquivos compartilhados do diretório MQL5).

Esquema geral de trabalho:

  • Se você acabou de adicionar um arquivo ao repositório, ou se você o removeu do repositório para o computador local, sua versão (número de revisão) no computador e no repositório corresponderá.
  • Inicialmente, a versão (número de revisão) do arquivo local (cópia de trabalho) e o arquivo correspondente no repositório são iguais. Isto é, se você acabou de adicionar um arquivo ou, pelo contrário, extraiu-o do repositório.
  • Se você alterar o arquivo e enviar as alterações para o repositório, o número de revisão aumentará tanto localmente quanto no repositório.
  • Ao enviar alterações, pode acontecer que o arquivo já tenha sido alterado por alguém e o número de revisão no repositório seja maior que o local. Neste caso, antes de enviar suas próprias alterações para o repositório, você deve primeiro obter as últimas alterações do repositório. Se possível, o MQL5 Storage realizará a fusão de alterações do repositório com suas mudanças. Nesse caso, o número de revisão do arquivo local será elevado para o número de revisão do arquivo no repositório.

Cada transação de mudanças é fixada no log do repositório e, posteriormente, o usuário pode visualizar quando, por quem e quais arquivos foram alterados. Além disso, o usuário pode atualizar para a revisão selecionada uma cópia local dos dados e reverter para qualquer revisão.

Adicionando ao repositório #

Para adicionar uma pasta ou arquivo ao repositório, selecione-o e execute o comando "Adicionar ao repositório Adicionar ao repositório". Depois disso, é exibida uma caixa de diálogo mostrando a lista de pastas e arquivos a serem adicionados.

  • A adição de arquivos é feita apenas localmente. Para enviar os dados alterados para o repositório, execute o comando "Enviar alterações para o repositório Enviar alterações para o repositório".
  • Repositório MQL5 Storage funciona apenas com os seguintes tipos de arquivos: mq4, mq5, mqh, cpp, h, bmp, wav, ex4, ex5, tpl, set. Os demais tipos de arquivos não podem ser adicionados ao repositório.
  • Você não pode adicionar arquivos com mais de 64 MB ao repositório.

Adicionando uma pasta ao armazenamento

Marque os arquivos e pastas necessários e clique em "OK".

  • O princípio de funcionamento do repositório não permite adicionar arquivos sem a pasta na qual eles estão localizados. Você não pode adicionar um arquivo que esteja numa pasta não adicionada ao repositório.
  • Você não pode adicionar arquivos individuais ao diretório raiz /MQL4 ou /MQL5.
  • Na pasta associada ao repositório, você pode adicionar apenas seus subdiretórios diretos. Pastas que são inferiores na hierarquia não podem ser adicionadas sem suas pastas pai.

Arquivos e pastas adicionados são marcados com um ícone Adicionado ao armazenamento:

Adicionado arquivos e pastas

A próxima etapa é enviar essas mudanças para o repositório. Selecione a pasta/arquivo adicionado e execute o comando "Enviar alterações para o repositório Enviar alterações para o repositório".

Enviar para repositório

Nesta caixa de diálogo, você também pode escolher as alterações, de quais arquivos e pastas, serão enviadas para o repositório. Você pode deixar um comentário para a transação de alterações. Comentários detalhados facilitam a análise de mudanças no futuro.

Após enviar as alterações atuais para o repositório, as pastas e arquivos correspondentes são marcados com um ícone Sem alterações. Isso significa que a cópia local dos dados não é diferente da que estava no repositório no momento do último envio/aquisição de alterações.

  • Se a pasta for semelhante à que já existe no repositório, você verá um erro do tipo "Folder already exists, update it from storage". Neste caso, para esta pasta, você deve executar o comando "Obter atualização do repositório Obter atualizações do repositório". Depois disso, ela será vinculada ao repositório e os dados do repositório serão adicionados a ela. Em seguida, você pode enviar suas próprias alterações para o repositório com o comando "Enviar alterações para o repositório Enviar alterações para o repositório".
  • Se o tamanho do arquivo exceder 1MB, no diálogo de envio de alterações para o repositório, ele será automaticamente desmarcado. Tenha cuidado ao baixar arquivos grandes, a fim de evitar uma carga excessiva no sistema de armazenamento.

Check-out de dados e aquisição de atualizações do repositório #

A extração primária de dados ocorre durante a ativação do repositório no MetaEditor. Após você executar o comando "Conectar MQL5 Storage Ativar MQL5 Storage", o MetaEditor verificará a disponibilidade dos dados em seu repositório.

  • Se houver dados no repositório do diretório MQL5 (MQL4), eles também serão baixados para o computador.
  • Se houver projetos em grupo disponíveis no repositório, eles serão exibidos na seção "Shared Projects". Para baixar os arquivos do projeto para o computador local, clique em "Obter atualização do repositório Obter atualizações do repositório" em seu menu de contexto.

Para continuar recebendo atualizações do repositório, use o comando "Obter atualização do repositório Obter atualizações do repositório" no menu de contexto das pastas e arquivos na janela "Navegador".

Se houver pastas no repositório que ainda não estejam em sua cópia de trabalho de dados, execute o comando "Obter atualizações do repositório" no elemento raiz "MQL5" (ou "MQL4") na janela "Navegador". Todos os dados do repositório serão carregados nas pastas locais correspondentes. Todos os dados terão a mesma revisão que os dados no repositório.

Atualizando dados

Se a pasta local contiver dados, durante a extração, eles serão complementados com dados recebidos do repositório. Novos arquivos serão adicionados. Para arquivos com nomes e caminhos que coincidem, será feita uma tentativa de mesclagem de dados.

Atualizando para certa revisão #

MQL5 Storage salva todo o histórico de alterações enviadas pelo usuário ao repositório. Cada transação de alteração é uma nova revisão (estado do repositório num determinado momento). Se vários usuários trabalharem em paralelo com os dados, através do repositório, você precisará receber periodicamente as alterações feitas por outros usuários. Equipe "Atualizar para revisãoAtualizar para revisão" permite que você atualize gradualmente a cópia local dos dados do repositório.

Por exemplo, desde a última atualização de uma cópia local dos dados, três novas revisões apareceram no repositório. Você pode primeiro atualizar para a primeira, depois para a segunda e terceira revisões.

Para atualizar para uma revisão específica, selecione um arquivo ou pasta e chame o log do repositório usando o comando do menu de contexto "Mostrar o registro de alterações Exibir o log de alterações".

Atualizando para certa revisão

Na janela que se abre, selecione a revisão necessária e execute o comando "Atualizar para revisão Atualizar para revisão".

  • Uma cópia local dos dados só pode ser atualizada para uma revisão superior (tardia).
  • Uma cópia local dos dados é complementada por dados recebidos do repositório. Para arquivos com nomes e caminhos que coincidem, será feita uma tentativa de mesclagem de dados. Se os arquivos foram adicionados à revisão, eles serão adicionados à cópia local. Se os arquivos foram excluídos da revisão, eles também serão excluídos da cópia local.

Revertendo para certa revisão #

MQL5 Storage salva todo o histórico de alterações enviadas pelo usuário ao repositório. Cada transação de alteração é uma nova revisão (estado do repositório num determinado momento). A qualquer momento, o usuário pode retornar a um dos estados anteriores do arquivo ou pasta.

Para reverter para uma revisão específica, selecione um arquivo ou pasta e chame o log do repositório usando o comando do menu de contexto "Mostrar o registro de alterações Exibir o log de alterações".

Revertendo para certa revisão

Na janela que se abre, selecione a revisão necessária e clique em "Reverter para revisão Reverter para revisão".

Após a reversão para a revisão, o arquivo/pasta selecionado será completamente retornado ao estado especificado. A reversão é possível para revisões anteriores e posteriores.

Confirmando mudanças no repositório #

Como foi mencionado anteriormente, todo o trabalho com dados é realizado em sua cópia local. Para transferir alterações locais para o repositório, use o comando "Enviar alterações para o repositório Enviar alterações para o repositório". Arquivos e pastas onde as alterações são feitas, em relação à cópia armazenada no repositório, são marcadas com um ícone Alterado.

Antes de confirmar as alterações, você pode conferi-las selecionando um arquivo e executando o comando "Alterações Comparar revisões" no menu de contexto.

Enviar para repositório

Na caixa de diálogo de confirmação de alterações, você pode especificar as alterações de que arquivos e pastas serão enviadas para o repositório. Você pode deixar um comentário para a transação de alterações. Comentários detalhados facilitam a análise de mudanças no futuro.

  • As alterações locais têm uma prioridade mais alta e, em qualquer caso, são adicionadas ao repositório.
  • Se o número de revisão dos dados no repositório for maior que o número de revisão local (as alterações são feitas de outra fonte e os dados locais não estão atualizados a partir do repositório), você receberá um erro do tipo "Out of date", ao tentar confirmar alterações. Neste caso, primeiro execute o comando "Obter atualização do repositório Obter atualizações do repositório" para mesclagem de dados e depois "Enviar alterações para o repositório Enviar alterações para o repositório".
  • Tenha cuidado ao atualizar os arquivos bmp e wav. Ao mesclar, esses arquivos são completamente substituídos pela versão da revisão anterior. Assim, quando atualizados, eles podem ser substituídos por arquivos do repositório. Para evitar tais situações, salve cópias desses arquivos separadamente, execute o comando "Obter atualização do repositório Obter atualizações do repositório" para aumentar o número de revisão local, transfira os arquivos copiados anteriormente de volta e confirme as alterações no repositório.

Apagando #

Se você deseja excluir um arquivo ou pasta, execute o comando "Remover do repositório Remover do repositório". Ap fazer isso, a pasta/arquivo será excluída da cópia local dos dados. Para remover do repositório, envie essas mudanças com o comando "Enviar alterações para o repositório Enviar alterações para o repositório".

  • Excluindo um arquivo ou pasta com o comando padrão "Excluir Excluir" a janela "Navegador" não afeta o repositório MQL5 Storage. Na atualização subsequente do repositório, os dados excluídos serão restaurados.
  • Não é possível eliminar o diretório raiz vinculado ao repositório.

Reversão de alterações #

Se você quiser desfazer as alterações feitas na cópia local atual dos dados, execute o comando "Reverter alterações Reverter alterações desta revisão" para a pasta ou arquivo desejado. Depois disso, o arquivo/pasta será retornado ao estado que foi salvo localmente durante a sincronização de dados anterior com o repositório.

Quando as alterações são revertidas, a revisão local original é restaurada e não a revisão atual no repositório.

Log de alterações #

Cada confirmação de alterações no repositório com o comando "Enviar alterações para o repositório Enviar alterações para o repositório" é registrada na log (diário de alterações). Isso facilita a análise do histórico de alterações num projeto. Para visualizar o log de alterações de um arquivo/pasta, execute o comando "Diário Exibir o log de alterações".

Janela de registro

Uma lista de alterações é exibida na parte superior:

  • Revisão – número único de alterações confirmadas ;
  • Autor – nome do usuário (coincide com o login da conta da MQL5.community) que fez essas alterações;
  • Data – data de correção de alterações no formato UTC;
  • Comentário – comentário das alterações.

Usando o comando do menu de contexto "Atualizar para revisão Atualizar para revisão", você pode atualizar a cópia local dos dados para a revisão selecionada.

Na parte inferior da janela, é exibida a lista de arquivos alterados na revisão selecionada. Usando os ícones, as seguintes alterações são exibidas:

  • Adicionado – o arquivo foi adicionado;
  • Alterado – o arquivo foi alterado;
  • Removido – o arquivo foi removido.

Usando o menu de contexto da lista de arquivos modificados, você pode analisar as alterações: