MetaTester e agentes remotos - Trading algorítmico, robôs comerciais - MetaTrader 5
Ajuda para a MetaTrader 5 → Trading algorítmico, robôs comerciais → MetaTester e agentes remotos
Os testes e a otimização dos Expert Advisors são realizados com a ajuda dos assim chamados agentes (serviços especiais que são instalados em seu computador e realizam cálculos). Existem agentes locais e remotos.
Os agentes locais são criados automaticamente no computador, onde você instalou a plataforma de negociação. O número de agentes locais corresponde ao número de núcleos lógicos do processador.
O agente remoto é um serviço especial, que é instalado em seu computador e é usado para testes e otimização do Expert Advisor no testador de estratégias. Esses agentes podem ser conectados à plataforma em quantidades ilimitadas. Isso acelera significativamente a execução de estratégias, cada uma das quais é realizada como um processo separado num agente separado. O processo de conexão de agentes remotos ao testador de estratégias é descrito em uma seção separada.
Os agentes remotos podem ser incluídos na rede global de computação em nuvem MQL5 Cloud Network.
Os agentes remotos podem ser usados apenas em sistemas de 64 bits.
Os agentes remotos são instalados como serviços separados num sistema operacional com a ajuda do aplicativo "metatester.exe", localizada na pasta de instalação da plataforma de negociação.
Para poupar largura de banda, espaço no disco e por razões de segurança, tomamos as seguintes medidas nos agentes remotos:
no diário não são exibidas as mensagens dos Expert Advisors (função Print()), nem as mensagens sobre negociações;
fica proibida a chamada de DLL.
Estrutura de diretórios e arquivos
Para o armazenamento de informações de serviço o "MetaTester" cria o catálogo "Tester" no diretório do aplicativo usado. Ele contém as seguintes pastas e arquivos:
Pastas e arquivos:
Essas pastas são criadas para cada agente. O nome da pasta indica o endereço IP e o nome de porta onde está trabalhando o agente.
Essa pasta armazena as entradas do diário de trabalho do agente.
Essa pasta armazena o histórico de dados da atividade do agente.
Esse catálogo armazena as entradas do diário do elemento MetaTester.
As entradas dos diários dos agentes são automaticamente eliminadas dois dias após atingirem 1 GB.
Trabalhar com o MetaTester
Instale os agentes remotos, para dar poder de processamento ao computador em qualquer rede. Para instalar e gerenciar agentes é usada a ferramenta especial "MetaTester". Ela faz parte da plataforma de negociação padrão. Execute o arquivo "metatester.exe" a partir do diretório de instalação da plataforma.
Os agentes de teste podem ser instalados em qualquer computador, separadamente da plataforma de negociação. Para isso, copie o arquivo "metatester64.exe" e o execute. A instalação de arquivos e diretórios auxiliares dos agentes é realizada na pasta que se encontra no aplicativo "MetaTester". O arquivo "metatester64.exe" é ao mesmo tempo arquivo de instalação e de execução, indispensável para o trabalho dos agentes e a sua gerenciação.
Os agentes podem ser instalados e executados apenas em sistemas de 64 bits.
A janela do aplicativo "MetaTester" tem vários separadores:
Nessa guia é exibida informação útil sobre o uso dos agentes. Também aqui são exibidos os dados estatísticos acerca do número de testes realizados com a ajuda de agentes, bem como o tempo gasto com eles. A estatística é realizada em dois modos de trabalho dos agentes:
Estatística local
No modo local, os agentes são utilizados como serviços e a sua conexão é realizadae com a ajuda do endereço e senha já recebidos.
Estatística da MQL5 Cloud Network
Nesse modo de trabalho, os agentes estão integrados na rede especial MQL5 Cloud Network.
No caso de o usuário estar conectado à rede MQL5 Cloud Network, na guia surge o parâmetro "Join MQL5 Cloud Network" que permite o uso dos seus agentes nessa rede. Essa guia é análoga ao parâmetro "Allow public use of agents" na guia correspondente.
Use essa guia para gerenciar os agentes no computador. Para instalar um agente de teste, especifique:
Agents – número de agentes que você deseja instalar. É recomendável instalar um número de agentes que corresponda à quantidade de núcleos lógicos do computador.
Senha – senha para se conectar aos agentes. É preciso que você especifique essa senha ao adicionar agentes ao testador de estratégias.
Portas TCP – amplitude de portas (ou uma porta ao instalar um agente) nas quais os agentes vão trabalhar. O número de portas também se especifica ao se conectar a agentes a partir do testador de estratégias.
Para instalar agentes, clique em Add. Os agentes são instalados no endereço IP indicado na parte superior da guia. Use esse endereço para se conectar a eles.
Para instalar e gerenciar agentes, o usuário deve possuir os direitos de administrador do sistema.
Abaixo é exibida uma lista dos agentes instalados:
Serviço – nome do serviço sob o qual o agente foi executado no sistema operacional, este nome é atribuído automaticamente;
Porta – número da porta onde está trabalhando o agente;
Passagens – número de testes realizados pelo agente;
Tráfego de entrada/de saída – volume de tráfego de entrada e saída do agente;
Nuvem – status da conexão à rede. Esse parâmetro permite que você verifique que os agentes podem receber tarefas da rede de computação em nuvem.
Estado – estado atual do agente: executado, parado.
Você pode gerenciar os agentes instalados com a ajuda dos comandos do Menu de Contexto:
Executar – executa o agente selecionado;
Parar – para o processo do agente selecionado. Com isso, no sistema será interrompido o serviço correspondente e a conexão ao agente será suspendida;
Reiniciar – para e executa novamente o agente selecionado;
Atualizar – atualiza a lista de agentes instalados;
Exportar – exporta a configuração dos agentes para o arquivo *.mt5. Essas configurações podem ser importadas na plataforma de negociação para se conectar aos agentes instalados.
Excluir – exclui o agente selecionado.
Fechada a janela MetaTester, os agentes em execução não se detêm. Para parar o agente, execute o comando apropriado no seu Menu de Contexto.
O MQL5 Cloud Network é um sistema especial para combinar agentes remotos numa rede de computação em nuvem. Suas principais vantagens são:
A possibilidade de fornecer poder de processamento próprio e de terceiros, tanto de forma livre como numa base comercial.
Não há necessidade de fazer configurações complicadas de rede para acessar os agentes – de maneira independente, o MetaTester e a rede MQL5 Cloud Network proveem o acesso e distribuem as tarefas entre os agentes.
A gestão conveniente dos agentes através do perfil de usuário para a MQL5.community.
Na guia existem opções para gerenciar a participação na rede de computo MQL5 Cloud Network: Vender à MQL5.community a potência dos seus agentes através da conta da mql5.community.
Ao estar habilitado esse parâmetro, o usuário permite o uso dos seus agentes remotos através da MQL5 Cloud Network. Cada serviço do agente estará disponível na rede em conformidade com o horário especificado.
Ao se conectar à rede MQL5 Cloud Network, o agente fica disponível para conexões remotas simples através do endereço IP e da senha.
Para fornecer o poder de processamento dos agentes em troca de dinheiro, especifique a sua conta da MQL5.community no campo correspondente. Quando outros usuários utilizarem os seus agentes, o dinheiro pago por eles será transferido para a conta especificada através do sistema de pagamento interno da MQL5.community.
No caso de você não ter uma conta, pode criá-la clicando em "registrar uma nova conta MQL5.community...".
Não se esqueça de especificar uma conta que esteja ativa, caso contrário os serviços dos agentes ficarão disponíveis gratuitamente.
Para ver a disponibilidade dos agentes na rede e os dirigir, clique na guia "Agentes" no perfil de usuário da MQL5.community.
Com ajuda dessa guia, pode definir o horário apropriado para os agentes remotos ficarem disponíveis na rede MQL5 Cloud Network.
As horas em que estão disponíveis os agentes estão em cor azul, já as de cor mais clara indicam a sua ausência. Para alternar entre horas de trabalho e de descanso, clique no quadrado correspondente. Para alterar todos os relógios de um dia específico, clique no asterisco no fim da linha.
Esse horário não afeta a disponibilidade dos agentes para uma normal conexão através do endereço IP e da senha.
Para trabalhar com agentes remotos através da linha de comando, usam-se os comandos de console do arquivo "metatester.exe":
/install /address:endereço:porta /password:senha – instalar o agente no endereço IP e porta indicados com a senha especificada. Por exemplo, metatester.exe /install /address:192.168.0.1:1950 /password:gj1sfj;
/uninstall /address:endereço:porta – eliminar o agente instalado no endereço IP e porta indicados;
/start /address:endereço:porta – executar o serviço do agente instalado no endereço IP e porta indicados;
/stop /address:endereço:porta – parar o serviço do agente instalado no endereço IP e porta indicados;
/restart /address:endereço:porta – reiniciar o serviço do agente instalado no endereço IP e porta indicados;
/help – exibir a ajuda sobre os comandos de console.
Além disso, para excluir o agente através da linha de comando, você pode executar os seguintes comandos:
sc stop "nome do agente" (essa ação pode ser realizada, se o agente estiver em execução);
sc delete "nome do agente"
Por exemplo, para excluir o agente instalado com o nome "MetaTester-1", você pode simplesmente executar o seguinte comando: