
Estrutura de Dados no Terminal MetaTrader 4 Versão 600 e Superior
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.
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_idOnde:
- С: - 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.
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.
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á:
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:
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





- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso