Ajuda para a MetaTrader 5

Otimização de estratégias

O testador de estratégias permite testar e otimizar estratégias de negociação (experts) antes de as usar em uma negociação real. O expert sempre executa o teste com os parâmetros iniciais no histórico de dados. Ao otimizar, a estratégia de negociação é iniciada várias vezes com diferentes conjuntos de parâmetros, permitindo que você selecione a sua combinação mais adequada.

O fato do testador de estratégias ser multimonetário permite que você teste e otimize estratégias de negociação que implementem vários instrumentos financeiros. Além disso, não há necessidade de especificar uma lista de símbolos para testar/otimizar, o testador de estratégias manipula automaticamente as informações sobre todos os símbolos, cuja utilização está incluída no expert.

O fato do testador de estratégias ser multi-fio (multithread) permite usar todos os recursos disponíveis no computador. O teste e a otimização são realizados usando agentes especiais que calculam e que são instalados como serviços no computador do usuário. Os agentes trabalham de forma independente e permitem fazer cálculos paralelos das passagens da otimização.

Ao testador de estratégias pode ser conectado um número ilimitado de agentes que trabalham remotamente. Além disso, no testador de estratégias está disponível uma enorme rede de computação em nuvem MQL5 Cloud Network. Ela reúne milhares de agentes de todo o mundo e o seu poder de cômputo está disponível para qualquer usuário da plataforma.

Além de testar e otimizar os experts, o testador de estratégias permite verificar o trabalho de indicadores personalizados no modo visual. Essa função permite facilmente verificar as versões demo dos indicadores baixados a partir do Mercado.

Como otimizar

Entende-se por otimização a execução repetida do expert nos dados históricos, com diferentes conjuntos de parâmetros, a fim de selecionar os melhores. Durante execuções repetidas ocorre a busca de combinações possíveis de parâmetros de entrada do expert e a seleção das suas melhores combinações.

Assista ao vídeo: Teste gratuito de experts e indicadores antes de comprar

Assista ao vídeo: Teste gratuito de experts e indicadores antes de comprar

Assista a um vídeo curto sobre como testar um robô de negociação antes de o comprar no Mercado. Para testar, no Mercado existem versões demo especiais que você pode verificar no Testador de estratégias. Mostraremos nesse vídeo como isso é feito.

Seleção de um robô de negociação para fazer testes

Execute o comando "Testar Testar " no menu de contexto do expert desejado na janela "Navegador".

Seleção de um robô de negociação para fazer testes

Depois disso, o expert será selecionado no testador de estratégias.

Ativação dos símbolos necessários na janela "Observação do mercado" para experts multimonetários

O testador permite efetuar a verificação no histórico de estratégias aplicadas em vários instrumentos. Esses experts são convencionalmente chamados multimonetários.

O histórico dos instrumentos utilizados é automaticamente baixado pelo testador a partir da plataforma de negociação - e não a partir do servidor de negociação! - desde a primeira vez que você acessar esse instrumento. O histórico ausente é apenas baixado a partir do servidor de negociação.

Antes do início da otimização do expert multimonetário, ative os instrumentos exigidos para o teste na "Observação do mercado". No menu de contexto execute o comando "Símbolos Símbolos" e ative a exibição dos instrumentos necessários.

Ativação dos símbolos necessários na janela "Observação do mercado" para experts multimonetários

Seleção das configurações de otimização

Antes do início da otimização, selecione em qual instrumento financeiro vai ser realizado o estudo do trabalho do robô, por qual período e em que modo.

Seleção das configurações de otimização

Símbolo e período

Selecione o gráfico principal para testar e otimizar. Seleção do símbolo necessário para o funcionamento dos eventos OnTick() definidos dentro do expert. Também o período e o símbolo selecionados influenciam as funções especiais no código do expert, as quais usam os parâmetros do gráfico atual (por exemplo, o Símbolo () e o Período ()) Por outras palavras, aqui é selecionado o gráfico ao qual seria conetado o expert.

Intervalo

Selecione o período de teste e otimização. Você pode selecionar um dos períodos predefinidos e indicar o seu próprio. Para isso, insira a data inicial e final nos campos correspondentes que estão à direita.

A particularidade assenta no fato de o testador baixar uma série de dados adicionais antes do período especificado (para formar um mínimo de 100 barras). Isso é necessário para um teste e uma otimização mais precisos. Por exemplo, ao testar no timeframe semanal, são adicionados mais dois anos.

Se para a formação de 100 barras adicionais não houver suficientes dados históricos (atualmente isso acontece com os timeframes semanais e mensais), por exemplo, se você selecionar a data de início do teste perto do início dos dados históricos existentes, a data de início do teste será automaticamente deslocada. Uma entrada correspondente será exibida no diário do testador de estratégias.

Período avançado

Essa opção permite que você verifique os resultados da otimização para a exclusão de execuções em determinados períodos de tempo. Ao fazer uma otimização avançada, o período indicado no campo "Inserir data" é dividido em duas partes, em conformidade com o período avançado selecionado (metade, terço, quarto ou período personalizado, quando a data de início do teste avançado é exibida).

Na primeira parte do período é efetuda a otimização do expert. Depois disso, são selecionadas as melhores execuções (10% ao executar a busca completa de combinações possíveis de parâmetros ou 25% ao executar algoritmos genéticos), e apenas elas são executadas no período avançado. Após obter os resultados das melhores execuções ao otimizar em ambos os períodos, você pode compará-los nas guias"Resultados de otimização" e "Resultados de teste avançado".

Modo de negociação

O testador de estratégias permite simular o atraso de rede durante a execução de ordens de negociação levadas a cabo pelo Expert Advisor, a fim de trazer o processo de teste para as condições comerciais reais. Em outras palavras, um certo intervalo de tempo é inserido entre a colocação de uma ordem de negociação e sua execução levada a cabo pelo testador de estratégia. A partir do momento em que é enviada a ordem, e antes da sua execução, o preço pode ser alterado. Assim, o usuário pode avaliar como a velocidade de processamento das operações afeta os resultados da negociação.

No caso do modo de execução instantânea, os usuários também podem modificar a resposta do Expert Advisor para obter um requote do servidor de negociação. Se a diferença entre o preço solicitado e o preço de execução exceder o valor de desvio especificado na ordem, a EA recebe um requote.

Observe que os atrasos só funcionam para operações realizadas por um Expert Advisor (colocação de ordens, alteração de níveis de stop, etc.). Por exemplo, se um Expert Advisor usa ordens pendentes, os atrasos só são aplicados para colocar uma ordem, mas não para a sua execução (em condições reais, a execução ocorre no servidor sem atraso na rede).

Sem atrasos

Neste modo, todas as ordens são executadas a preços solicitados sem requotes. O modo é usado para verificar um Expert Advisor em condições "ideais".

Atraso arbitrário

Modo de atraso arbitrário é destinado a testes de Experts Advisors em condições próximas à realidade. O valor de atraso é gerado da seguinte maneira: um número de 0 a 9 é selecionado aleatoriamente, este é o número de segundos do atraso; Se o número selecionado for igual a 9, outro número da mesma gama é selecionado aleatoriamente e adicionado ao primeiro.

Assim, a possibilidade de um atraso de execução de 0-8 segundos é de 90%, e a probabilidade de atraso 9-18 segundos é de 10%.

Atraso fixo

Você pode selecionar um dos valores de atraso predefinidos ou definir um personalizado. A plataforma mede o ping até ao servidor de negociação e permite que você defina esse valor como um atraso no testador para que você possa de testar um robô em condições mais próximas de sua corretora atual quanto possível.

Modo de geração de ticks

Selecione um dos modos de geraçao de ticks:

  • Todos os ticks – o modo de modelagem mais preciso e mais lento. Nele são modelados todos os ticks.
  • Cada tick baseado em ticks reais – o modo que mais se aproxima das condições reais. São usados ticks reais (segundo intrumentos financeiros) acumulados pela corretora. Não se realiza a modelagem. Os dados de ticks são significativamente maiores do que os dados de minutos, ao executar pela primerira vez o teste, o seu download pode levar muito tempo.
  • OHLC em M1 – nesse modo, são modelados apenas 4 preços de cada barra de minuto – preços Open, High, Low e Close.
  • Apenas preços de abertura – nesse modo, são modelados os preços OHLC, mas para testar/otimizar é usado apenas o preço de abertura.
  • Cálculos matemáticos – nesse modo, o testador não carregará dados históricos, informações de símbolos e não irá gerar ticks. Serão chamadas apenas as funções OnInit(), OnTester() e OnDeinit(). Assim, você pode utilizar o testador para vários cálculos matematicos, onde seja exigido um conjunto de parâmetros.

Pode ler uma descrição mais detalhada sobre geração de ticks em uma seção separada.

Depósito inicial e alavancagem

Indique o volume do depósito inicial para testar e otimizar o expert. A moeda depende da moeda da conta à qual estiver ligado nesse momento. Em seguida, selecione a alavancagem para o teste e a otimização.

Otimização

Selecione o modo de otimização:

  • Lenta (busca completa de combinações possíveis de parâmetros) – pesquisa de todas as combinações de todos os possíveis parâmetros de entrada selecionados.
  • Rápida (algoritmo genético) – pesquisa dos parâmetros de entrada com base no algoritmo genético.
  • Todos os símbolos selecionados na janela "Observação do mercado" – teste do conjunto de parâmetros de entrada, mas em instrumentos de negociação diferentes.

Você pode ler informação mais detalhada sobre os modos disponíveis em uma seção separada.

  • Você deve entender que a indicação do símbolo não significa que o testador usará somente esses dados históricos. As informações sobre todos os símbolos que foram usados no expert são carregadas pelo testador automaticamente.
  • Antes de começar a plataforma de testes/otimização carrega automaticamente todos os dados de preço disponíveis no símbolo do gráfico principal. Se tiver uma conexão de internet lenta, isso pode levar um longo tempo.
  • O download de todos os dados ocorre apenas uma vez, nas subseqüentes execuções apenas é carregada a informação em falta.
  • Para testar/otimizar, você pode selecionar apenas aqueles símbolos que estiverem ativados nesse momento na janela "Observação do mercado".
  • Durante o teste e a otimização, os dados de preço de todos os símbolos necessários são baixados automaticamente a partir do servidor.
  • O teste se inicia e termina às 00h.00m.00s. dos dias indicados. Embora a data de início do teste/otimização seja incluída no período de teste, a data de término não. O teste termina no último tick do dia anterior. Além disso, você não pode indicar uma data de término superior à atual. Nesse caso, o teste será igualmente realizado segundo a data atual (não a incluindo).

Para uma otimização rápida, baseada no algoritmo genético, está prevista a seleção dos critérios de otimização no campo localizado à direita. Nele é indicado o parâmetro segundo o qual é preciso apresentar as execuções mais bem-sucedidas do expert. Quanto maior o valor do indicador selecionado, melhor o resultado.

Uma vez que todas as configurações sejam feitas, pressione "Iniciar". Depois disso, será executado o processo de teste ou otimização.

  • As configurações do testador de estratégias são lembradas na execução do teste/otimização.
  • Ao executar uma suspensão regulamentar da otimização usando o botão "Stop", serão armazenadas todas as passagens calculadas anteriormente. Quando você retomar a otimização, o processo continuará a partir do local em que parou.

Seleção de parâmetros de entrada

Os parâmetros de entrada permitem gerenciar o comportamento do expert, adaptando-o às diferentes condições do mercado, até mesmo a um instrumento financeiro concreto. Por exemplo, você pode explorar o trabalho do expert com diferentes distâncias de colocação de ordens stop loss e take profit, com os diferentes períodos da média móvel usada para análise do mercado e tomada de decisões, etc.

A otimização consiste na pesquisa dos valores e combinações possíveis de parâmetros de entrada para obter o melhor resultado.

Seleção dos parâmetros de entrada para a otimização

Para habilitar a otimização segundo um parâmetro, selecione esse parâmetro. Em seguida, defina o início e fim do intervalo de valores e dê o passo para fazer a pesquisa das combinações possíveis. Você pode selecionar um ou mais parâmetros. O número total de combinações possíveis será mostrado abaixo da lista de parâmetros.

Conjunto de parâmetros. Para que você possa a qualquer momento voltar para as configurações atuais do programa MQL5, salve o conjunto de parâmetros através do menu de contexto:

  • Para salvar o conjunto como um arquivo-set no seu computador, clique em "Salvar." Esses arquivos podem ser tanto migrados entre plataformas em diferentes computadores, quanto transferidos para outros usuários.
  • Para salvar o conjunto a fim de utilizar facilmente no futuro a plataforma atual, clique em "Salvar versão." Assim os parâmetros salvos estarão disponíveis no submenu "Baixar versão." Eles podem ser aplicados em qualquer altura, basta selecioná-los na lista.

Execução da otimização

Para começar a otimização, clique em "Iniciar" na guia "Configurações". À esquerda será mostrado o seu progresso.

Onde ver os resultados da otimização

Os resultados detalhados sobre cada progresso são exibidos na guia "Otimização". Aqui são exibidos os resultados globais dos testes, o lucro, o número de transações e muitos indicadores estatísticos que ajudarão a avaliar a qualidade do trabalho do robô.

As informações detalhadas sobre os indicadores são exibidas na seção "Relatório de teste".

Você pode classificar o relatório de otimização segundo qualquer parâmetro, clicando no cabeçalho da coluna. Assim, você pode encontrar a combinação de parâmetros mais lucrativa e excutar imediatamente o seu teste único para obter um relatório mais detalhado.

Resultados da otimização

Para cada otimização são exibidos os seguintes indicadores:

  • Passagem – número de passagens;
  • Resultado – valor total do parâmetro que é o critério de otimização segundo o qual são selecionadas as melhores passagens;
  • Lucro – ganhos/perdas baseados nos resultados da passagem;
  • Total de trades – número total de trades (negociações que trouxeram lucro ou prejuízo) efetuados nessa passagem;
  • Rentabilidade – relação entre o lucro bruto e a perda bruta em porcentagem. A unidade significa que a soma dos lucros é igual à soma das perdas;
  • Retorno esperado – indicador calculado estatisticamente que reflete a rentabilidade média do lucro/perda de uma única negociação;
  • Drawdown – diferencial relativo de fundos, perda máxima em porcentagem frente ao valor máximo dos fundos. A retirada de fundos (Withdrawal) pelo expert durante a otimização é levada em conta ao calcular o drawdown;
  • Fator de recuperação (Recovery Factor) – esse indicador reflete o risco da estratégia e que soma o expert arriscou para receber lucro. É calculado como a relação entre lucro recebido e drawdown máximo;
  • Coeficiente de Sharpe (Sharpe Ratio) – esse indicador caracteriza a eficácia e estabilidade da estratégia. Ele exibe a correlação entre a média aritmética do lucro, durante o tempo de retenção da posição, e o seu desvio padrão. Além disso, aqui se tem em conta valor da taxa livre de risco, que é o lucro acumulado do montante no depósito bancário;
  • Parâmetro(s) otimizado(s) – além dos indicadores estatísticos, são exibidos os valores das variáveis de entradas definidas para essa passagem.

Usando os comandos do menu de contexto, você pode ocultar/mostrar algumas das colunas acima indicadas. Por conveniência, marque a opção "Automaticamente ligar resultados" – após a otimização, o testador de estratégia irá mudar automaticamente para a guia de resultados. O mesmo comando está disponível no menu de contexto da guia "Diário."

  • Se a otimização foi realizada com testes avançados, essa guia exibe os valores do parâmetro de otimização correspondente (critério de otimização) para o backtest e o teste avançado. A alternância entre modos de visualização de resultados de backtest e teste avançado é realizada usando o menu de contexto.
  • O duplo clique com o botão esquerdo do mouse sobre um dos resultados da otimização dá início ao teste do expert com os parâmetros dessa execução (com a condição de que a otimização seja finalizada).
  • Durante a otimização genética, pode acontecer que a seguinte passagem (membro da população) tenha exatamente os mesmos parâmetros de entrada (genes) da passagem previamente testada. Nesse caso, na guia de resultados essa passagem não aparece porque o seu resultado de teste é idêntico. No entanto, no gráfico de otimização são exibidas todas as passagens, sem exceção, a fim de mostrar o processo de pesquisa do melhor resultado possível.
  • Se a linha de pasagem da otimização tiver um fundo vermelho, significa que durante o funcionamento do expert ocorreu algum erro. O registro correspondente também aparece no diário do testador ("tested with error").

Análise de resultados de otimização em programas de terceiros

O relatório de otimização pode ser salvo como um arquivo para ser análisado em programas de terceiros, tais como Office Excel "Exportar para XML Exportar para XML " no menu de contexto.

De igual forma, os valores numéricos de todos os parâmetros e características, obtidos pela otimização, são salvos em um arquivo XML localizado na pasta pasta_de_dados_da_plataforma/testador/cache/. O arquivo será nomeado usando a seguinte convenção: ExpertName.Symbol.Period.GenerationMode.xml. Aqui:

  • ExpertName é o nome do expert que está otimizando;
  • Symbol é o símbolo;
  • Period é o timeframe (M1,H1,...);
  • GenerationMode é o modo de geração de ticks (0 – "Todos os ticks", 1 – "OHLC em M1", 2 – "Apenas preços de abertura").
  • Durante a otimização genética os resultados intermediários são armazenados na cache após o cálculo de cada geração (arquivo pasta_de_dados_da_plataforma/tester/cache/*.gen). Assim, o processo de otimização genética pode ser interrompido a qualquer momento. Mesmo que o processo de otimização genética seja interrompido devido a causas externas (por exemplo, uma queda de energia), a otimização será automaticamente continuada a partir da última geração calculada após a seguinte execução. A cache de otimização genética é armazenada até que você altere as configurações de otimização ou até à conclusão do processo de otimização.
  • Ao executar uma suspensão regulamentar da otimização usando o botão "Stop", serão armazenadas todas as execuções calculadas anteriormente. Quando você retomar a otimização, o processo continuará a partir do local em que parou.

Representação visual dos resultados de otimização

O testador de estratégias da plataforma de negociação possui um poderoso sistema de visualização de resultados de otimização. Abra a guia "Gráfico de otimização". Aqui existem vários tipos de gráficos, você pode alternar entre eles através do menu de contexto.

Linha zero (área)

Em todos os tipos de gráficos, exceto o plano, é exibida a linha zero (ou área no caso do gráfico 3D). Se o critério de otimização é utilizado como valor de saldo, essa linha indica o montante do depósito inicial, permitindo que você separe visualmente as passagens não rentáveis das rentáveis. Em todos os outros casos, a linha é desenhada sobre o valor zero do critério de otimização.

Gráfico com resultados e Gráfico de linhas (1D)

O gráfico com resultados de otimização é aberto por defeito. Cada passagem do expert, com determinados parâmetros de entrada, é exibida no gráfico na forma de pontos. No eixo horizontal do gráfico está situado o número da passagem, e no eixo vertical o valor do parâmetro que seja critério de otimização.

Gráfico com resultados e Gráfico de linhas (1D)

No grafico de linhas (1D) é exibida a alteração de parâmetros que seja criterio de otimização (eixo vertical), dependendo de um dos parâmetros de otimização selecionado para exibição no eixo horizontal. Para selecionar o parâmetro para exibição no eixo horizontal, use o comando "Eixo X" no menu de contexto.

Gráfico plano (2D) e Gráfico tridimensional (3D)

No modo 2D, nos dois eixos são colocadas as alterações dos parâmetros selecionados para a otimização. A alteração do critério de otimização é exibida usando um gradiente de cor. Quanto mais forte a cor, maior é o valor do critério de otimização.

Gráfico plano (2D) e Gráfico tridimensional (3D)

No modo de visualização 3D, nos eixos X e Y são colocadas as alterações dos parâmetros selecionados para a otimização. A alteração do critério de otimização é exibida no eixo vertical Z, usando um gradiente de cor.

Para selecionar os parâmetros para exibição nos eixos horizontal e vertical, utilize os comandos "Eixo X" e "Eixo Y" no menu de contexto.

Gestão de gráficos 3D usando o mouse

  • Para deslocar o gráfico, pegue na sua parte central com o botão esquerdo do mouse e arraste o cursor.
  • Para fazer girar o gráfico em torno do eixo vertical, pegue nele fora da parte central com o botão esquerdo do mouse e arraste o cursor.
  • Para fazer girar o gráfico em torno do eixo horizontal, gire a roda do mouse, pressionando o botão "Ctrl".
  • Para aproximar/excluir um gráfico, clique em "Ctrl" e arraste o cursor na vertical ao longo da parte vertical do gráfico, pressionando o botão esquerdo do mouse.
  • Para arrastar a área zero, clique em "Ctrl" e arraste o cursor fora da parte central do gráfico, pressionando o botão esquerdo do mouse.
  • Para retornar ao estado original do gráfico, clique duas vezes na sua parte central.

Gestão de gráficos 3D usando o teclado

Ação

Botões

Ativação/desativação da grelha de coordenação.

G

Alternar entre preenchimento sólido e preenchimento usando linhas.

Espaço em branco

Movimento de câmera para cima (o gráfico é movido para baixo).

Seta para cima

Movimento de câmera para baixo (o gráfico é movido para cima).

Seta para baixo

Movimento de câmera para a direita (o gráfico é movido para a esquerda).

Seta para a direita

Movimento de câmera para a esquerda (o gráfico é movido para a direira).

Seta para a esquerda

Aproximação da câmera (aumento do gráfico).

Mais

Afastamento da câmera (diminuição do gráfico).

Menos

Girar o gráfico para si em torno do eixo horizontal.

Home

Girar o gráfico de si em torno do eixo horizontal.

Page Up

Girar o gráfico em torno do eixo vertical em sentido anti-horário.

End

Girar o gráfico em torno do eixo vertical em sentido horário.

Page Down

Mover a área zero para a unidade acima.

Ctrl+Seta para cima

Mover a área zero para a unidade abaixo.

Ctrl+Seta para baixo

Mover a área zero 10 unidades para cima.

Ctrl+Page Up

Mover a área zero 10 unidades para baixo.

Ctrl+Page Down

Mover a área zero para o valor máximo do gráfico.

Ctrl+Home

Mover a área zero para o valor mínimo do gráfico.

Ctrl+End

Aumento da transparência da área zero.

Ctrl+Mais

Diminuição da transparência da área zero.

Ctrl+Menos

Definir a transparência máxima da área zero (desaparece).

Ctrl+Seta para a direita

Definir a transparência mínima da área zero (se torna opaca).

Ctrl+Seta para a esquerda

Regressar às configurações padrão do gráfico.

Tecla "5" no teclado numérico.

Teste avançado para verificação do robô num setor não otimizado

A execução repetida dos melhores resultados de otimização em um período de tempo diferente é chamada teste avançado. Essa possibilidade está prevista para a exclusão do ajuste de parâmetros dos experts em determinadas seções dos dados históricos.

Para habilitar o teste avançado, no campo "Período avançado" da guia "Configurações" indique que parte do período geral você necessita usar:

  • não – não utiliza o teste avançado;
  • 1/2 – utiliza metade do período indicado para o teste avançado;
  • 1/3 – utiliza um terço do período indicado para o teste avançado;
  • 1/4 – utiliza um quarto do período indicado para o teste avançado;
  • personalizado – ao selecionar esse campo, indique no campo à direita a data em que vai iniciar o teste avançado.

Periodo avançado

  • Para o período avançado é sempre tomada a segunda (última) parte do período geral.
  • No gráfico de otimização a data de início é marcada pela linha vertical.

Do período selecionado no campo "Usar data" é separada a parte selecionada. A primeira parte se chama período de backtest, a segunda é o período de teste avançado.

No período de backtest é realizada uma otimização completa (lenta ou rápida) do expert. Depois, se seleciona 10% (ao executar a busca completa de combinações possíveis) ou 25% (ao executar algoritmos genéticos) das melhores execuções e elas passam o teste no período avançado.

  • Há um limite inferior para o número de execuções no teste avançado. Se o número das melhores execuções for menor do que 256, para participar no teste avançado são adicionalmente selecionadas as melhores execuções até ao número 256. Se o número de todas as execuções for menor do que 256, todas elas participarão no teste avançado.
  • Se utilizar uma otimização genética, participarão no teste avançado todos os resultados únicos.

Você pode ver os resultados da otimização no período avançado na guia "Otimização" (é preciso selecionar o ponto "Resultados do teste avançado" no menu de contexto) ou "Otimização avançada". Quanto maior for a coincidência de resultados, maior a probabilidade de o expert exibir resultados positivos na negociação real.

A apresentação visual de resultados de otimização no período avançado está disponível na guia "Gráfico de otimização avançada". Esses resultados também podem ser facilmente comparados com o backtest, alterne entre eles através do menu de contexto.

Resultados da otimização avançada

Você pode encontrar informação mais detalhada sobre os resultados dos testes na seção "Onde ver os resultados do teste" e "Representação visual dos resultados de otimização".

Teste multi-fio usando agentes

O testador multi-fio (multithread) de estratégias utiliza todos os recursos disponíveis do computador. O teste e a otimização são realizados usando agentes especiais que calculam e que são instalados como serviços no computador do usuário. Os agentes trabalham de forma independente e permitem fazer cálculos paralelos das passagens da otimização.

Os agentes são divididos em três tipos: locais, remotos e de nuvem (MQL5 Cloud Network). Os agentes locais são instalados automaticamente, ao instalar a plataforma de negociação. O número de agentes locais corresponde ao número de núcleos lógicos do processador.

Os agentes remotos e de nuvem funcionam em outros computadores. Informações detalhadas sobre eles estão disponíveis nas seções "Como acelerar a otimização usando um grupo local de agentes " e "Como acelerar a otimização usando a rede de cálculo em nuvem MQL5 Cloud Network".

Abra a seção "Agentes" no testador de estratégias e selecione o tipo de agentes que será usado para a otimização.

Agentes de teste

Dicas e recursos:

  • Para conservar a bateria do notebook, você pode desabilitar os agentes locais e usar somente os remotos e de nuvem.
  • Se o teste/otimização não for concluído de modo forçado (sem pressionar o botão "Stop" na guia de configurações e sem fechar a plataforma de negociação), os processos dos agentes locais usados não serão descarregados da memória do computador durante cinco minutos. Isso permite evitar os atrasos ligados à preparação dos dados históricos e execução de processos dos agentes, ao executar repetidamente o teste/otimização do mesmo expert no mesmo símbolo, período e intervalo.
  • Juntamente com a plataforma de negociação são instalados apenas os agentes locais. Eles são usados apenas no testador de estratégias de uma plataforma local. Os agentes remotos que podem ser incluídos na rede global de computação em nuvem MQL5 Cloud Network, podem ser instalados apenas manualmente.

Como acelerar a otimização usando um grupo local de agentes

Você pode adquirir um processador com vários núcleos, mas isso não irá aumentar o número de operações executadas de forma simultânea. O testador de estratégias permite criar o seu próprio grupo de agentes na rede local.

Como criar um grupo de agentes

Instale os agentes em cada computador da rede local. Se você já tiver instalada a plataforma de negociação, abra o gerenciador de agentes de teste através do menu "Serviço".

Gerencidor de agentes de teste

Caso contrário, baixe um aplicativo separado para gerenciar os agentes MetaTrader 5 Strategy Tester Agent e siga o simples processo de instalação.

Na guia Serviços no gerenciador:

  • Selecione o número de agentes para instalação. Eles são definidos e instalados segundo o número de núcleos lógicos do processador.
  • Indique a senha para se conectar aos agentes.
  • Selecione um intervalo de portas para se conectar.
  • Clique em Adicionar.

Depois da instalação, os agentes estarão prontos para serem usados com outros computadores na rede local.

Os agentes remotos podem ser usados apenas em sistemas operacionais de 64 bits.

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 experts (função Print()), nem as mensagens sobre negociações;
  • fica proibida a chamada de DLL.

Como conectar agentes

Abra o testador de estratégias. Na guia "Agentes", selecione "Local Network Farm" e clique em "Adicionar" no menu de contexto.

Adição de agentes remotos

A maneira mais fácil e rápida de adição é escanear automaticamente a rede local em um intervalo de endereços e portas IP. Além dos endereços e portas IP, indique a senha, que foi especificada durante a instalação, para se conectar aos agentes.

Pesquisa de agentes na rede de área local

Clique em "Concluir" e todos os agentes encontrados estarão disponíveis para efetuar o teste.

Outras opções para adicionar agentes:

  • Adicionar agentes (por endereço IP ou nome de domínio) – indique o endereço IP ou o nome de domínio do servidor, onde os agentes estão instalados, e a senha para se conectar aos agentes.
  • Importação a partir de um arquivo *.mt5 – selecione essa opção, clique "Seguinte" e indique o arquivo *.mt5 a partir do qual os agentes serão importados.

Você pode conectar os agentes, instalados no seu computador através do MetaTester 5 Agents Manager, na qualidade de agentes remotos. Se nos núcleos do processador permanecer alguma potência durante os cálculos, isso vai aumentar a sua carga e utilizar todo o potencial de cômputo.

Como alterar as configurações do agente

Para alterar as configurações do agente execute o comando "Editar Editar" no seu menu de contexto.

Configuração do agente

Na janela de configurações existem os seguintes campos:

  • Nome – nome do agente;
  • Endereço – endereço IP e porta para se conectar ao agente, separados por dois-pontos;
  • Senha – senha para se conectar;
  • Habilitar – se você desmarcar essa opção, o agente não será utilizado ao testar/otimizar.

Nas configurações dos agentes locais, apenas está disponível a opção que permite habilitar/desabilitar o seu uso.

Importação e exportação de configurações de agentes externos

Para facilitar o trabalho com as configurações de agentes externos, a plataforma oferece a possiblilidade de importar e exportar as suas configurações em arquivos de texto. Os arquivos de configuração dos agentes têm a extensão *.mt5. O comando importar e exportar está localizado no menu de contexto da guia "Agentes".

O arquivo de configurações dos agentes tem o seguinte formato: Name;Address:port;Password;Description;Enable

  • Name – nome do agente;
  • Address:port – endereço IP e porta para se conectar ao agente, separados por dois-pontos;
  • Password – senha para se conectar aos agentes;
  • Description – descrição do equipamento no qual o agente está trabalhando;
  • Enable – modo de trabalho do agente: 1 – agente ativado, 0 – agente desativado.

As configurações dos diferentes agentes são separadas pela deslocação de linha.

Como acelerar a otimização usando a rede de cálculo em nuvem MQL5 Cloud Network

A rede de cálculo em nuvem MQL5 Cloud Network permite, no menor tempo possível, efetuar a otimização, utilizando a potência de milhares de computadores. A rede reúne os agentes remotos dos usuários e distribui entre eles as tarefas de otimização. O testador de estratégias é conectado à rede de cálculo em nuvem através de vários pontos de acesso distribuídos sobre uma base territorial (por exemplo, MQL5 Cloud Europe).

Características de trabalho da MQL5 Cloud Network

  • Toda a potência da rede MQL5 Cloud Network é utilizada apenas ao tentar todas as combinações possíveis de parâmetros (otimização lenta).
  • Durante a otimização genética de experts, são utilizados agentes apenas de um ponto de acesso, fato que está ligado às características próprias do algoritmo genético.
  • O modo de otimização genética é ativado automaticamente, se o número total de passos de otimização exceder 100 000 000.
  • A rede MQL5 Cloud Network pode ser utilazada apenas em sistemas de 64 bits.
  • Além de usar a rede MQL5 Cloud Network, você pode fornecer o seu próprio poder de computação. Para instalar agentes remotos e os ativar na rede, use o utilitário especial "MetaTester".
  • Você pode saber mais detalhes sobre a rede MQL5 Cloud Network no site oficial.

Pagamento pelo uso da MQL5 Cloud Network

  • O uso de agentes da rede MQL5 Cloud Network é pago. A fórmula para o cálculo do valor do uso está descrita em uma seção separada. O saldo atual da conta da MQL5.community aparece acima da lista de agentes de nuvem.
  • Para usar a MQL5 Cloud Network, na conta da MQL5.community deve haver pelo menos 1 dólar americano. As tarefas são distribuidas em pacotes para vários pontos de acesso. Em conformidade, o usuário deve ser capaz de pagar por esses serviços. A rede não pode calcular antecipadamente quanto tempo e recursos vão ser necessários para essas tarefas.

Ativação da MQL5 Cloud Network

Para habilitar uma rede de agentes, utilize o comando "Ativar Ativar" no menu de contexto, Uma vez que o serviço MQL5 Cloud Network é pago, o usuário deve ter uma conta no site da MQL5.community, através da qual se realizam todos os cálculos. A informação da conta é indicada na guia "MQL5.community" nas configurações da plataforma.

Se as informações da conta na MQL5.community não tiverem sido indicadas, ao ativar os agentes da MQL5 Cloud Network irá ser pedido a você que as indique.

Ativação da MQL5 Cloud Network

Se você ainda não estiver registrado, clique no link para criar uma nova conta.

Execução de cálculos usando a MQL5 Cloud Network

Tal como para a otimização habitual, indique as configurações de teste necessárias e os parâmetros de entrada do expert, e clique em "Iniciar". Na guia "Agentes", você pode ver como o testador de estratégias distribui as tarefas aos agentes disponíveis. Para cada ponto de acesso é exibido o número de agentes disponíveis e usados nesse momento.

Execução de cálculos distribuídos com o uso de agentes da MQL5 Cloud Network

Aos traders é exigido que realizem, em tempo aceitável, a otimização de dezenas e centenas de milhares de passagens. Com o testador multi-fio (multithread) e a rede em nuvem MQL5 Cloud Network, você pode, em uma hora, executar cálculos que tardariam vários dias a fazer de forma manual. A potência de cálculo de milhares de núcleos está disponível diretamente na plataforma de negociação.