Ajuda para o MetaEditor

Trabalhando com Storage

Trabalhando com Storage

O MQL5 Storage só funciona com a pasta MQL4/MQL5 do terminal cliente. Todas as operações do MQL5 Storage são realizadas através do menu contextual da janela "Navegador" e através do menu contextual do editor de código-fonte:

Menu do MQL5 Storage

O Menu Contextual da Janela "Navegador"

O Menu Contextual do Editor de Código-Fonte

O Menu Contextual do Editor de Código-Fonte

Usando os comandos de menu, você pode realizar as seguintes ações no armazenamento MQL5:

Primeiros Passos

A informação no armazenamento está na forma de uma árvore de arquivos. Ao conectar no armazenamento, o usuário lê e escreve esses arquivos. O usuário sempre trabalha com uma cópia local dos dados, e se necessário, envia as alterações para o repositório.

Cada alteração é registrada no diário de armazenamento, e posteriormente o usuário poderá ver quando, quem alterou e quais arquivos foram alterados. O número da versão corresponde a cada mudança. Uma versão é um estado do armazenamento em um ponto do tempo. Cada vez que você enviar alterações, uma nova versão é criada (o seu número é aumentado) no armazenamento. Com base no número da versão, o armazenamento determina a situação dos dados e os mescla. O usuário também pode atualizar a cópia de dados local para uma versão selecionada ou reverter para qualquer versão.

Para começar a trabalhar com dados no armazenamento MQL5, você deve associar uma pasta de dados local com uma pasta no armazenamento. Isto pode ser feito de duas maneiras:

  • Se você tiver apenas criado um repositório, ele estará vazio. Você precisa adicionar um diretório nele. Depois disso, um diretório é criado no diretório especificado no repositório (no mesmo caminho em relação à pasta /MQL4 ou /MQL5). Este é um diretório raiz. Todas as operações com arquivos serão realizadas neste diretório.
  • Se o armazenamento já possui alguns dados, você pode baixá-los em um diretório local. Por exemplo, o armazenamento contém a pasta /Personal/nome_da_conta/MQL5/Experts. Você pode baixar os dados armazenados nele para o diretório local /MQL5/Experts.

O diretório superior na hierarquia, que está vinculado ao armazenamento, é o diretório raiz. Você trabalha com o repositório apenas dentro deste diretório. Não é necessário conectar o diretório raiz /MQL5 ou /MQL4 no armazenamento. Qualquer subdiretório dentro de /MQL5 our /MQL4pode ser raiz. Você pode ter vários diretórios raiz, por exemplo, /MQL5/Experts e /MQL5/Images.

  • O MQL5 Storage só funciona com os seguintes tipos de arquivos: mq4, mq5, mqh, cpp, h, bmp, wav. Outros tipos de arquivos não podem ser adicionados no repositório.
  • Arquivos maiores do que 64 MB não podem ser adicionados no armazenamento.

Adicionando ao Repositório

Para adicionar uma pasta ou arquivo no repositório, selecione-o e execute o comando "AdicionarAdicionar". Isto irá abrir uma caixa de diálogo que mostrará a lista de pastas e arquivos a serem adicionados.

Os arquivos são adicionados localmente. Para enviar as alterações para o repositório, execute o comando "SubmeterSubmeter".

Adicionar uma pasta no armazenamento

Assinale os arquivos e pastas desejados e clique em "OK".

  • O princípio de operação do armazenamento não permite adicionar arquivos sem a pasta na qual eles estão situados. Você não pode adicionar um arquivo localizado em uma pasta que não está adicionado no repositório.
  • Você não pode adicionar arquivos individuais no diretório raiz /MQL4 ou /MQL5.
  • Na pasta associada com o repositório, apenas os seus subdiretórios podem ser adicionados. As pastas que estão mais abaixo na hierarquia não podem ser adicionadas sem as suas pastas raiz.

Arquivos e pastas adicionadas são marcadas comAdicionado ao repositório:

Arquivos e Pastas Adicionados

Em seguida, essas mudanças devem ser enviadas para o repositório. Selecione a pasta/arquivo adicionado e execute "SubmeterSubmeter".

Submetendo ao Repositório

Neste diálogo, você também pode escolher as mudanças que devem ser enviadas para o repositório. Você pode adicionar um comentário ao submeter mudanças. Comentários detalhados facilitam a análise das mudanças no futuro.

Depois de submeter as mudanças atuais no repositório, as pastas e arquivos correspondentes são marcados com Sem alterações. Isto significa que a cópia local dos dados não é diferente da que está no armazenamento no momento da última submissão/atualização.

Se uma pasta que corresponde à que você adicionar já existe no armazenamento, o erro "Pasta já existe, atualize-a a partir do armazenamento" aparecerá. Para tal pasta, selecione "AtualizarAtualizar". Depois disso, ela será conectada ao armazenamento, e os dados do repositório serão adicionados a ela. Então você pode enviar as suas alterações para o repositório usando o "SubmeterSubmeter".

Checkout

Uma outra maneira de vincular uma pasta local com a mesma pasta no repositório é o comando "CheckoutCheckout". No entanto, neste caso, o conteúdo é baixado para uma pasta local da mesma pasta no repositório.

Obtendo os Dados do Armazenamento

  • Arquivos individuais não podem ser recuperados do armazenamento. Você só pode baixar uma pasta, localizada no diretório raiz /MQL4 ou /MQL5, ou todo o diretório raiz /MQL4 ou /MQL5.
  • Se a pasta selecionada não existe no repositório no mesmo caminho, o comando "Checkout Checkout" irá retornar o erro 'caminho de destino não existe'. Neste caso, adicione uma pasta usando o comando "Adicionar ao repositórioAdicionar ao repositório".
  • Se uma pasta local contém dados, então durante a verificação geral, os dados obtidos a partir do repositório serão adicionadas à ela. Novos arquivos serão adicionados. Para arquivos com nomes e caminhos correspondentes, ele vai tentar mesclar os dados.

Atualizando Dados do Armazenamento

Para obter a última versão dos dados de um repositório, selecione uma pasta ou arquivo e execute "AtualizarAtualizar".

Atualização de Dados

A caixa de diálogo que aparece contém uma lista de alterações.

Se o diretório local contém dados, durante a atualização eles serão complementados com dados obtidos do repositório. Novos arquivos serão adicionados. Para arquivos com nomes e caminhos correspondentes, ele vai tentar mesclar os dados.

Atualizar para Versão

O MQL5 Storage armazena todo o histórico de alterações feitas por usuários no armazenamento. Cada submissão de mudanças é uma nova versão (estado do armazenamento em um determinado momento). Durante o trabalho paralelo de vários usuários no armazenamento, você precisará receber periodicamente as alterações feitas pelos outros usuários. O comando "Atualizar para versãoAtualizar para versão" permite que você atualize gradualmente a cópia local a partir do repositório.

Por exemplo, desde a última atualização da cópia local de dados, três novas versões apareceram no armazenamento. Você pode atualizar primeiro para a primeira versão, em seguida para a segunda e depois para a terceira.

Para atualizar para uma versão específica, selecione um arquivo ou pasta e abra o log de armazenamento clicando em "Mostrar RegistroMostrar Registro".

Atualizar para Versão

Na janela que abrir, selecione a versão desejada e execute o comando "Atualizar para versãoAtualizar para versão".

  • Uma cópia local de dados só pode ser atualizada para uma versão mais elevada (posterior).
  • Os dados obtidos a partir do repositório são adicionados à cópia local. Para arquivos com nomes e caminhos correspondentes, ele vai tentar mesclar os dados. Se arquivos forem adicionados a uma versão, eles serão adicionados à cópia local. Se arquivos forem excluídos de uma versão, eles serão excluídos da cópia local.

Reverter para Versão

O MQL5 Storage armazena todo o histórico de alterações feitas por usuários no armazenamento. Cada submissão de mudanças é uma nova versão (estado do armazenamento em um determinado momento). A qualquer momento você pode voltar para um dos estados anteriores de um arquivo ou pasta.

Para reverter para uma versão específica, selecione um arquivo ou pasta e abra o log de armazenamento clicando em "Mostrar RegistroMostrar Registro".

Reverter para Versão

Na janela aberta, selecione a versão desejada e clique em "Reverter para versãoReverter para versão".

Depois de reverter para uma versão, o arquivo/pasta selecionado será totalmente retomado ao estado especificado. Você pode reverter tanto para versões anteriores tanto para posteriores.

Submetendo Alterações ao Armazenamento

Como mencionado anteriormente, você pode trabalhar com dados apenas com as suas cópias locais. Para transferir as alterações locais para o repositório, utilize o comando "SubmeterSubmeter". Arquivos e pastas locais que forem alterados são marcados com o ícone Alterado.

Antes de enviar mudanças, você pode vê-las ao selecionar um arquivo e selecionar "CompararComparar" no menu contextual.

Submetendo ao Repositório

Na caixa de diálogo de submissão, você pode selecionar arquivos e pastas alterados que devem ser enviados para o repositório. Você pode adicionar um comentário ao submeter mudanças. Comentários detalhados facilitam a análise das mudanças no futuro.

  • Alterações locais são de maior prioridade. Em qualquer caso, elas são adicionadas no armazenamento.
  • Se o número da versão do armazenamento está acima da versão local (modificado de outra fonte, e os dados locais não foram atualizados a partir do repositório), então você terá um erro como "Out of data" ao tentar confirmar as alterações. Neste caso, em primeiro lugar, execute o comando "Atualizar Atualizar" para mesclar os dados, e então selecione o comando "SubmeterSubmeter".
  • Tenha cuidado ao atualizar arquivos bmp e wav. Quando mesclados, esses arquivos são completamente substituídos por versões mais novas. Assim, durante a atualização, eles podem ser substituídos por arquivos a partir do repositório. Para evitar tais situações, salve cópias desses arquivos separadamente, executando o comando "AtualizarAtualizar" para aumentar o número da versão local, mover os arquivos copiados anteriormente para trás e confirmar as alterações para o armazenamento.

Delete

Se você quiser excluir um arquivo ou uma pasta, use o comando "DeleteDelete". O arquivo/pasta será excluído da cópia local de dados. Para excluir um arquivo ou pasta a partir do repositório, submeta essas alterações usando o comando "SubmeterSubmeter".

  • A exclusão de um arquivo ou pasta, pelo comando padrão "Delete Delete" da janela "Navegador", não influencia o MQL5 Storage. Com a próxima atualização, os dados excluídos serão restaurados a partir do armazenamento.
  • O diretório raiz conectado ao armazenamento não pode ser excluído.

Revertendo Alterações

Se você deseja desfazer as alterações na cópia local atual, execute o comando "Reverter alteraçõesReverter alterações" no arquivo ou pasta desejada. O arquivo/pasta será devolvido a um estado em que foi salvo localmente durante a sincronização anterior com o repositório.

Quando você reverter as mudanças, a versão local inicial é restaurada, não a versão atual no repositório.

Log de Alterações

Cada envio de alterações para o repositório usando o comando "SubmeterSubmeter" é registrado. Os logs o ajudam a analisar facilmente o histórico de alterações em seus projetos. Para visualizar o log de alterações de um arquivo/pasta, selecione "Mostrar RegistroMostrar Registro".

Visualizar logs

A parte superior mostra uma lista de alterações:

  • Versão – o número único da submissão.
  • Autor – o nome do usuário (o mesmo login da conta MQL5.community) que fez estas mudanças.
  • Data – data em que as alterações foram enviadas, no formato UTC.
  • Comentário – um comentário sobre as alterações.

Usando o comando do menu contextual "Atualizar para versão Atualizar para versão", você pode atualizar a cópia local dos dados para uma versão selecionada.

A parte inferior da janela exibe uma lista de arquivos modificados na versão selecionada. Ícones mostram os tipos de alterações:

  • Adicionado– o arquivo foi adicionado.
  • Alterado– o arquivo foi alterado.
  • Excluído– o arquivo foi removido.

Usando o menu contextual da lista de arquivos modificados, você pode analisar as mudanças: