English Русский 中文 Español Deutsch 日本語
Estrutura de Dados no Terminal MetaTrader 4 Versão 600 e Superior

Estrutura de Dados no Terminal MetaTrader 4 Versão 600 e Superior

MetaTrader 4Exemplos | 5 outubro 2015, 09:32
1 598 0
MetaQuotes
MetaQuotes

Introdução

MetaTarder 4 Versão 600 apresenta a nova estrutura e localização dos arquivos no terminal do cliente. Os aplicativos MQL4 são colocados em diretórios separados de acordo com o tipo de programa (Expert Advisors, indicadores ou scripts). Na maioria dos casos, os dados do terminal estão agora armazenados numa pasta especial separada do local da instalação do terminal. Neste artigo vamos descrever em detalhes como os dados são transferidos, bem como as razões para a introdução do novo sistema de armazenamento.


Por Que o Novo Sistema de Armazenamento de Dados Foi Implementado

O sistema operacional Microsoft Windows XP lançado há 13 anos permite que os aplicativos escrevam os seus próprios dados no local da sua instalação, mesmo que este último esteja na pasta de sistema dos Arquivos de Programas. Um usuário somente pode gravar dados em qualquer pasta com uma permissão de administrador.

Quando se trabalha em sistemas de 64 bits, os diretórios de instalação separados são fornecidos para programas de 32 e 64 bits: Arquivos de Programas e Arquivos de Programas (x86). Recursos de operação descritos no artigo aplicam-se a ambos os diretórios.

A partir do Windows Vista, a Microsoft introduziu uma restrição para escrever no diretório de Arquivos de Programas. Se o sistema User Account Control (UAC) estiver habilitado, os programas não estão autorizados a armazenar seus dados na pasta Arquivos de Programas. Todos os dados devem estar localizados num diretório separado de usuário. Esta limitação foi introduzida para proteger os usuários contra programas maliciosos, impedindo que outro usuário possa usar um aplicativo para alterar ou danificar dados necessários no mesmo programa sob uma conta de usuário. Desde época do Windows XP, os requisitos de segurança nos sistemas operacionais da Microsoft vêm sendo cada vez mais rigorosos. Em particular, o sistema UAC do Windows 8 não pode ser desativado, mesmo se a opção "Nunca Notificar" for selecionada nas suas configurações.

Para usar o sistema UAS, a Microsoft implementou o processo de virtualização a fim de fornecer compatibilidade com aplicativos mais antigos. Se um programa tenta salvar seus dados para o diretório Arquivos de Programas, os dados são realmente (fisicamente) salvos numa pasta separada com o seguinte endereço - C:\Users\<user-name>\AppData\Local\VirtualStore\Program Files, enquanto o arquivo Explorer mostra os arquivos como se eles são salvos no diretório de instalação. Microsoft afirma que este modo foi fornecido apenas para a compatibilidade e pode ser removido mais tarde.

A fim de cumprir as recomendações da Microsoft, a estrutura de armazenamento de dados foi alterado no terminal do cliente MetaTrader 4 a partir da versão 600. Agora, o terminal também irá salvar seus dados num diretório do usuário.


Diretório de Dados do Usuário

Na nova versão, todos os dados de um determinado usuário, que trabalham com uma determinada cópia do terminal MetaTrader 4, são armazenadas num lugar especial chamado pasta de dados do terminal. Essa pasta pode ser encontrada num disco do sistema (um disco com sistema operacional Windows instalado) com o caminho de diretório a seguir:

C:\Users\User_account_name\AppData\Roaming\MetaQuotes\Terminal\Instance_id
Onde:
  • С: - nome de um disco do sistema;
  • User_account_name - A conta de usuário para trabalhar no Windows;
  • Instance_id - nome exclusivo da pasta onde todos os dados do usuário para trabalhar com uma determinada cópia do terminal MetaTrader 4 são armazenados. Um nome exclusivo é composto por 16 caracteres. O nome é gerado com base no caminho ao diretório de instalação do terminal, uma vez que o caminho ao diretório de instalação do terminal não pode ser explicitamente utilizado como um nome de pasta. O comprimento significativo do nome de 16 caracteres é explicado pelo fato de que várias cópias do terminal podem ser instalados num único computador.

O comando "Abrir Pasta de Dados" foi adicionado ao menu "Arquivo" do terminal para pesquisar e abrir a pasta de dados.

Abrir Pasta de Dados

A raiz de cada pasta de dados do terminal também contém o arquivo origin.txt, onde você pode encontrar o caminho à pasta de instalação do terminal referenciando estes dados. Isso permite aos usuários combinarem cada pasta de dados a um determinado diretório de instalação do terminal, por exemplo, no caso quando várias cópias do terminal MetaTrader 4 são instalados por um usuário. Este tipo de trabalho com a pasta de dados separado da instalação única é o modo principal.

Para mais comodidade, uma entrada que contém o caminho para a pasta de dados é feita no diário do terminal cada vez que o terminal é reiniciado. Por exemplo:

2014.02.10 12:48:28.477 Data Folder: C:\Users\JohnSmith\AppData\Roaming\MetaQuotes\Terminal\9F86138A4E27C7218E9EC98A5F8D8CA1


Copiando Arquivos de Aplicativos MQL4 Quando da Atualização para MetaTrader 4 Versão 600 e Superior

Quando o terminal recém-atualizado é iniciado, ele verifica se a pasta de dados existe. Se a pasta de dados não está presente ainda, então é criada. Se esta pasta é diferente da instalação única, então os dados regulares do terminal (programas MQL4 padrão, dados de histórico, arquivos de configuração, modelos, etc.) são copiados para ela, os arquivos que não foram alterados durante a operação do terminal (arquivos executáveis, compilador mql.dll, arquivos de som, etc.) são deixados no diretório de instalação. A pasta de dados do terminal é diferente da instalação única nos seguintes casos:

  • Sistema UAC está habilitado. A exceção é quando o terminal está instalado num dispositivo portátil (disco rígido externo, unidade flash USB, etc.).
  • O PC do usuário tem direitos limitados para escrever dados ao diretório de instalação.
  • Um usuário está trabalhando através de conexão remota (RDP).

Se nenhuma das condições acima é satisfeita, o terminal de dados é armazenado no diretório de instalação.

Então os arquivos do usuário são movidos para a pasta de dados, nesta fase, o diretório onde os dados do usuário do terminal foram armazenados é determinado. Se os dados foram armazenados na pasta de instalação do terminal, eles são copiados da seguinte forma:

Pasta de origem no diretório de instalação
Conteúdo Pasta de destino no diretório de dados do terminal
\experts
Expert Advisors (robôs de negociação)
Nota: somente os arquivos do diretório raiz \experts são copiados. Não havendo subdiretórios copiados, é impossível determinar os seus conteúdos de forma confiável.
\MQL4\Experts
\experts\indicators Indicadores personalizados
\MQL4\Indicadores
\experts\scripts
Scripts (aplicativos MQL4 para uma única execução no gráfico) \MQL4\Scripts
\experts\include Arquivos MQH e MQ4 de código fonte implementado em outros programas \MQL4\Include
\experts\libraries Bibliotecas na forma de códigos fonte MQ4 e arquivos executáveis EX4 compilados a partir deles. Eles são utilizados para a chamada dinâmica das funções contidas ali por outros programas MQL4 \MQL4\Libraries
\experts\files Arquivo especial "sandbox". Aplicativos MQL4 têm permissão para executar operações de arquivo somente dentro desse diretório \MQL4\Files
\experts\logs
Arquivos de registros (log) dos aplicativos MQL4
\MQL4\Logs
\experts\presets
Arquivos predefinidos para aplicativos MQL4
\MQL4\Presets
\experts\images
Arquivos de imagem para serem usados nos recursos \MQL4\Images


Em seguida, é verificado se o terminal do cliente armazenou os dados no diretório de virtualização (armazenamento virtual do sistema operacional descrito acima). Se o terminal foi instalado no diretório Arquivos de Programas e o sistema operacional é o Windows Vista ou superior, os dados do terminal provavelmente estão armazenados nesse diretório. Se os dados são encontrados, são copiados de acordo com a tabela acima.

Os arquivos são copiados e não mudam durante a migração. Os arquivos copiados não são excluídos a partir das pastas de origem.

Durante a migração, as entradas contendo origem e os caminhos de destino dos arquivos copiados são publicados no diário do terminal. Para ver todos os registros (logs), veja a aba "Diário" da caixa de ferramenta "Terminal" e execute o comando "Abrir" no menu de contexto. A pasta que contém os arquivos de registros do terminal será aberta.

Se a migração foi concluída com êxito para a cópia atual do terminal, não se repetirá mais durante as atualizações do terminal MetaTrader 4 subsequentes. Se a pasta de dados é diferente da instalação única, os aplicativos MQL4 personalizados foram copiados juntamente com os arquivos padrão durante a migração, então a seguinte janela de diálogo aparecerá:

Migração concluída com êxito


Modo Portátil

O modo de lançamento Portátil é fornecido para a operação do terminal em dispositivos portáteis e diretórios sem sistema, bem como para trabalhar no Windows XP. Quando lançado neste modo, o terminal tenta salvar seus dados na pasta de instalação. No entanto, usando o modo portátil não garante que o sistema operacional permitirá armazenar dados na pasta de instalação (por exemplo, se o terminal está instalado no diretório Arquivos de Programas e o sistema UAC está habilitado).

As seguintes condições devem ser atendidas para trabalhar no modo Portátil:

Diretório de instalação
Sistema operacional
Requisitos
Arquivos de programas ou outro diretório do sistema (por exemplo, Windows)
Windows XP
Permissão para gravar na pasta de instalação
Outro diretório sem sistema
Windows XP
Permissão para gravar na pasta de instalação
HD externo, unidade flash USB, etc. Windows XP O terminal será sempre lançada em modo Portátil.
Arquivos de programas ou outro diretório do sistema (por exemplo, Windows) Windows Vista\Windows 7
Lançamento do terminal como administrador e UAC desativado
Outro diretório sem sistema Windows Vista\Windows 7
Permissão para gravar na pasta de instalação
HD externo, unidade flash USB, etc. Windows Vista\Windows 7 O terminal será sempre lançada em modo Portátil.
Arquivos de programas ou outro diretório do sistema (por exemplo, Windows)
Windows 8 e superior
É impossível utilizar o modo portátil, sistema UAC não pode ser desativado
Outro diretório sem sistema Windows 8 e superior
Permissão para gravar na pasta de instalação
HD externo, unidade flash USB, etc. Windows 8 e superior O terminal será sempre lançada em modo Portátil.


  • Não é recomendado que o terminal esteja instalado no diretório Arquivos de Programas ao usar o modo Portátil, no caso de você usar o Windows Vista ou superior. Este modo é fornecido na operação do terminal em dispositivos portáteis e Windows XP.
  • Se você tiver atualizado o terminal e todos os dados foram copiados para uma pasta separada de dados do usuário, também não é recomendado mudar ao modo portátil.
  • Você deve copiar manualmente os dados para a pasta de instalação, com o objetivo de usar o modo portátil depois de copiar os dados na pasta de dados do usuário. O lançamento do terminal em modo Portátil não copia os dados da pasta de dados para a instalação única.

Para lançar o terminal em modo portátil, use a chave "/portable". Para mais comodidade, você pode criar um atalho para lançamento adicional do terminal com um nome apropriado no seu desktop e adicionar a chave diretamente no atalho:

Lançamento MetaTrader 4 em modo portátil


Conclusão

Mudanças no sistema de armazenamento de dados do terminal MetaTrader 4 foram feitas a fim de cumprir os requisitos dos sistemas operacionais Windows desenvolvidos pela Microsoft. Este sistema de armazenamento de dados foi originalmente implementado no terminal MetaTrader 5, e muitos traders estão usando com sucesso no momento.

Dados do terminal MetaTrader 4 são transferidos ao diretório do usuário automaticamente. Nenhuma ação adicional é exigida dos usuários na maioria dos casos. Informações sobre todos os dados das operações de cópia são exibidas no diário MetaTrader 4.

Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/1388

Atualização do Terminal MetaTrader 4 Versão 600 e Superior Atualização do Terminal MetaTrader 4 Versão 600 e Superior
A nova versão do terminal MetaTrader 4 apresenta ao usuário uma estrutura atualizada do armazenamento de dados. Nas versões anteriores todos os programas, templates, perfis, etc, foram armazenados diretamente na pasta de instalação do terminal. Agora todos os dados necessários para um determinado usuário são armazenados numa pasta separada chamada Pasta de Dados. Leia este artigo para encontrar respostas às perguntas mais frequentes.
Gráficos Off-line no Novo MQL4 Gráficos Off-line no Novo MQL4
A atualização MQL4 tem um novo formato para armazenar dados históricos e fornecer a estrutura MqlRates apropriada para o armazenamento conveniente dos valores Time, Open, Low, High, Close e Volume. Por muitos anos, os traders têm desenvolvido seus aplicativos MQL4 que coletam e armazenam seus dados em arquivos HST para gerar gráficos off-line e nós garantimos que todos os arquivos compilados anteriormente (EX4) irão trabalhar no novo terminal MetaTrader 4 da mesma forma que antes.
Por que é importante Atualizar o MetaTrader 4 na Versão Mais Recente? Por que é importante Atualizar o MetaTrader 4 na Versão Mais Recente?
A partir de 01 de agosto de 2014, os terminais MetaTrader 4 de computadores anteriores a Versão 600 não têm mais suporte. No entanto, muitos traders ainda trabalham com versões desatualizadas e não têm conhecimento das características da atualização da plataforma. Tivemos de fazer um grande esforço para este desenvolvimento, queremos seguir em frente com os traders e abandonarmos em definitivo as versões mais antigas. Neste artigo, iremos descrever as vantagens do novo terminal MetaTrader 4.
Teste e Otimização de Expert Advisors Teste e Otimização de Expert Advisors
O artigo fornece uma descrição detalhada do processo de teste e otimização de Expert Advisors no Testador de Estratégia MetaTrader 4, a importância de tais informações e a necessidade desta publicação não pode ser subestimada. Um monte de usuários que iniciam com a plataforma de negociação MetaTrader 4 tem apenas uma idéia muito vaga do como e o que precisa ser feito quando se trabalha com os Expert Advisors. O artigo proposto dá respostas simples e claras para todas essas perguntas e fornece uma abordagem mais profissional para lidar com esses problemas usando um exemplo específico.