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 a 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.
O trabalho do teste do expert começa com a sua solitária passagem fixando parâmetros com ajuda dos dados históricos. Ele permite que você verifique as capacidades de estratégia do robô antes de o usar no mercado real.
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. |
Ao iniciar o testador, em vez de ver inúmeras configurações, o usuário é solicitado a selecionar uma das tarefas típicas e começar a resolvê-la imediatamente. Isso será especialmente útil para quem não tem experiência.
A página inicial contém várias tarefas básicas para testar e otimizar estratégias. Além disso, aqui agora você pode reiniciar rapidamente uma das tarefas anteriores. Se você executar muitas tarefas, e todas elas não couberem na lista, use a caixa de pesquisa. Ela permite encontrar testes por qualquer parâmetro: nome do programa, por instrumento, por período gráfico, por tipo de simulação, etc.
Escolhida um das tarefas na página inicial, você é reencaminhado para um ajuste mais preciso dos parâmetros de teste: escolha de EA, de instrumento, de período gráfico, etc. Para facilitar o trabalho, estão ocultos todos os parâmetros que não são necessários para a tarefa selecionada. Por exemplo, se você escolher cálculos matemáticos, precisará definir apenas dois parâmetros: escolha um programa para teste e um modo de otimização. As configurações para o período de teste, atrasos e geração de ticks serão ocultadas.
Todos os parâmetros de teste disponíveis serão discutidos abaixo.
Execute o comando " Testar " no menu de contexto do expert desejado na janela "Navegador".
Depois disso, o expert será selecionado no testador de estratégias.
O testador permite efetuar, no histórico, a verificação de estratégias que foram 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 do teste do expert multimonetário, ative os instrumentos exigidos para o teste na "Observação do mercado". No menu de contexto pressione " Símbolos" e ative a exibição dos instrumentos necessários.
Antes do início do teste, selecione em qual instrumento financeiro vai ser realizado o estudo do trabalho do robô, por qual período e em que modo.
Selecione o gráfico principal para teste e otimização. A seleção do símbolo é necessária 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, que usam os parâmetros do gráfico atual (por exemplo, o Símbolo() e o Período()) Em outras palavras, aqui é selecionado o gráfico ao qual seria anexado o expert.
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.
Essa opção permite que você verifique os resultados do teste para a exclusão de execuções em determinados períodos de tempo. Ao fazer um teste avançado, 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).
A primeira parte se chama período de backtest. Nele se efectua a adaptação do trabalho do expert. A segunda parte se chama período de teste avançado, nele são verificados os parâmetros selecionados do expert.
Indique o modo de negociação que será simulado pelo testador de estratégias. 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 o desempenho 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, o EA recebe um requote.
Observe que o atraso funciona apenas para operações executadas por um Expert Advisor (colocar ordens, alterar 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 atraso
Nesse modo, todas as ordens são executadas de acordo com os preços solicitados, e não há requotes. O modo sem atraso é usado para testar o Expert Advisor em condições "ideais".
Atraso arbitrário
O modo de atrasos arbitrários se destina a testar os Expert Advisors em condições próximas às reais. 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 probabilidade de um atraso de 0 a 8 segundos é de 90% e a probabilidade de um atraso de 9 a 18 segundos é de 10%.
Atraso fixo
Você pode escolher um dos sugeridos ou definir seu próprio valor de atraso fixo. A plataforma mede o ping até do 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.
Selecione um dos modos de geração de ticks:
Pode ler uma descrição mais detalhada sobre geração de ticks nessa seção separada.
Também neste modo, praticamente não há controle de margem. Use-o apenas para uma rápida avaliação aproximada da estratégia e verifique os resultados em modos mais precisos.
Especifique o valor do depósito inicial para testar e otimizar o EA. Por padrão, é usada a moeda de depósito da conta que no momento está conectada, mas você pode especificar qualquer outra. Observe que, para testes corretos na conta, devem estar disponíveis os pares de moedas Forex para recálculo do lucro e da margem na moeda de depósito especificada. Como cotações de Forex, podem ser usados apenas instrumentos com o tipo de cálculo "Forex" ou "Forex No Leverage".
Em seguida, selecione a alavancagem para testes e otimização. Dele dependerá a quantidade de fundos reservados na conta para garantir posições e ordens.
Se você tiver o código-fonte do Expert Advisor selecionado, use esse botão para ser reencaminhado rapidamente para sua edição no MetaEditor.
Use esse menu para gerenciar convenientemente as configurações do testador, salvar conjuntos de configurações para diferentes experts como arquivos ini, para que retornar a eles em alguns cliques mais tarde. Você também pode copiar as configurações atuais de teste para a área de transferência, simplesmente pressionando Ctrl+C. Em seguida, edite-as em qualquer editor de texto, copie e carregue-as no testador pressionando Ctrl+V.
Aqui você pode selecionar rapidamente os últimos programas usados, as últimas configurações de gráficos e períodos de teste.
Você também pode retornar rapidamente a um dos resultados de otimização anteriores e às configurações com as quais ele foi alcançado.
Você pode alterar as configurações do instrumento de negociação principal com base no qual é realizada o teste/otimização. Você dispõe de quase todos os parâmetros de especificação: volumes, modo de negociação, requisitos de margem, modo de execução e muito mais.
Defina suas próprias configurações de conta de negociação ao testar estratégias - limites de negociação, configurações de margem e comissão. Assim, você pode simular as diferentes condições de negociação das corretoras.
No modo de teste visual você verá exatamente como o Expert Advisor realiza operações de negociação ao testar com base em dados históricos. Cada transação realizada com base no instrumento financeiro é exibida em seu gráfico.
|
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 diferentes períodos da média móvel usada para análise do mercado e tomada de decisões, etc.
Defina o valor para cada parâmetro de entrada.
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:
Você pode definir suas próprias configurações de conta comercial ao testar estratégias: limites de negociação, configurações de margem e comissão. Isso permite simular as diferentes condições de negociação das corretoras.
Configurações gerais
Nessa seção, você pode definir o número máximo de ordens e posições abertas que pode ter simultaneamente na conta. Também aqui você pode configurar os pregões em que o programa testado será proibido de negociar.
Margem
Aqui você pode controlar completamente como a margem será reservada e qual sistema de registro de posição será usado durante o teste:
Modelo de gerenciamento de risco: negociado no mercado de balcão e negociado em bolsa, com compensação e cobertura.
Nível de fundos na conta, que, ao ser atingido, ativa o estado de Margin call.
Nível de fundos, que, ao ser atingido, remove as ordens à força na conta e fecha as posições de negociação. Ambos os níveis podem ser especificados em termos de dinheiro e porcentagem. No primeiro caso, os níveis são determinados como o valor do indicador "Fundos" na conta. Ao selecionar a opção "Em porcentagem", os níveis são determinados como o valor do indicador "Nível da margem" na conta (Fundos/Margem*100).
Esse campo indica como será levado em consideração o lucro/perda atual não registrado na margem livre:
Esse campo indica como será levado em consideração o lucro/perda atual registrado pelo trader durante o pregão na margem livre:
Liberar lucro acumulado no final do dia – essa opção estará disponível apenas se a opção "Usar perda fixa diária" estiver ativada. Se estiver ativada, no final do pregrão, o lucro acumulado durante o dia será liberado e registrado no saldo (e, consequentemente, levado em consideração na margem livre). Caso contrário, não será considerado.
Comissão
Nessa seção, você tem controle total sobre como a comissão é cobrada em todas as operações de negociação:
Para usar as configurações de comissão da conta de negociação atual, ative a opção "Usar comissões predefinidas".
Habilite essa opção para usar as configurações de comissão da conta de negociação atual, em vez das configurações personalizadas mostradas abaixo.
Especifique o nome do símbolo para o qual a comissão é definida. Várias configurações podem ser adicionadas para cada símbolo. Por exemplo, dessa maneira, você pode criar comissões de vários níveis que dependem do volume da transação ou do volume de negócios.
A comissão pode ser cobrada imediatamente após cada transação concluída ou acumulada durante o dia ou mês de negociação e, em seguida, cobrada em uma única operação:
Além disso, a comissão pode ser cobrada dependendo do volume de cada transação ou do volume de negócios diário ou mensal. A opção selecionada determina os volumes indicados nos campos "De" e "Para" – transações ou volume de negócios.
No modo diário e mensal, as comissões são cobradas ao fazer transações nas duas direções (ao abrir/aumentar uma posição e ao fechar/fechar parcialmente). Para comissões imediatas, você pode definir manualmente a direção das transações.
Para transações de reversão no modo "Transações de entrada", a comissão é cobrada apenas pelo volume da posição recém-aberta, já no modo "Transações de saída", somente a partir do volume fechado. Para as transações para fechamento de uma posição por uma posição oposta (Close By), aplicam-se as seguintes regras:
Volume mínimo de transação (volume de negócios), do qual será debitada dada comissão. Intervalos configuráveis não devem se sobrepor. Caso contrário, a comissão será debitada para todos os intervalos em que cai a operação de negociação.
Volume máximo de transações (volume de negócios), do qual será debitada dada comissão. Intervalos configuráveis não devem se sobrepor. Caso contrário, a comissão será debitada para todos os intervalos em que cai a operação de negociação.
Valor das taxas de comissão. As unidades de medida dependem do método de cálculo da comissão selecionada no campo "Modo".
Volume mínimo de comissão cobrada. As unidades nas quais o valor é indicado depende do método de débito selecionado (na moeda base, na moeda do grupo, em pips etc.). Para não limitar a comissão mínima, defina o valor como 0.
Volume máximo de comissão cobrada. As unidades nas quais o valor é indicado depende do método de débito selecionado (na moeda base, na moeda do grupo, em pips etc.). A comissão máxima não deve ser inferior à mínima. Para não limitar o tamanho máximo da comissão, defina o valor como 0.
Unidades para calcular taxas de comissão:
Tipo de comissão:
Agora você pode alterar as configurações do instrumento principal no qual ocorre o teste/otimização. Você dispõe de quase todos os parâmetros de especificação: volumes, modo de negociação, requisitos de margem, modo de execução e muito mais. Desse modo, para verificar o EA sob outras condições de negociação, agora é opcional criar um símbolo personalizado e carregar o histórico nele. Você pode simplesmente alterar as configurações do instrumento padrão.
Ao alterar a especificação de um símbolo, o ícone de configurações, bem como o ícone do próprio símbolo, são marcados com um asterisco na lista. Assim, você sempre saberá que o teste vem com configurações personalizadas.
Para começar o teste, clique em "Iniciar" na guia "Configurações". À esquerda será mostrado o seu progresso.
Os resultados do teste dos experts são exibidos nas guias "Backtest" e "Gráfico".
Os resultados detalhados sobre cada teste são exibidos na guia "Backtest". Aqui são exibidos os resultados globais dos testes, o lucro, o número de transações de negociação e muitos indicadores estatísticos que ajudarão a avaliar a qualidade do trabalho do robô.
Além disso, aqui são apresentados os gráficos de distribuição do número e êxito das negociações por horas, dias e meses, bem como gráficos que caracterizam o grau de risco da estratégia de negociação.
As informações detalhadas sobre os indicadores são exibidas na seção "Relatório de teste".
Na guia "Gráfico", você pode facilmente determinar visualmente o quão bem-sucedido foi o trabalho do expert no instrumento selecionado no intervalo de tempo selecionado.
Basicamente, nas guias são exibidas as alterações de curvas do saldo (linha azul) e dos fundos (linha verde). Na escala horizontal são exibidas as datas, e na vertical os valores do saldo/fundos.
|
Na parte inferior da guia é exibido o histograma de carga no depósito, está é calculada como a razão entre a margem e o capital (margin/equity).
O progresso, no teste, é exibido na guia "Diário". Adicionalmente, no diário são exibidas as mensagens do prórpio expert. Quando você ativa o teste visual, o seu progresso pode ser visto diretamente no gráfico.
Após finalizar o teste, você pode abrir o gráfico que foi usado para testar o expert (símbolo e período selecionados). Para isso, clique em " Abrir o gráfico no menu de contexto da guia "Backtest". No gráfico são exibidas todas as negociações efetuadas pelo expert durante o teste. Se houver um modelo com o nome tester.tpl no diretório /profiles/templates da plataforma de negociação, ele será aplicado no gráfico aberto. Na sua ausência, será aplicado um modelo padrão (default.tpl).
Se no expert testado forem utilizados indicadores, que trabalhem no símbolo e no período de teste, eles também serão exibidos no gráfico. Nesse caso, nele não serão exibidos os indicadores para os quais está prevista a descarga forçada no código do expert (função IndicatorRelease).
A execução repetida do expert 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:
|
Ao ativar o teste avançado, 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.
Os resultados do teste no período avançado são exibidos na guia "Avançada". No gráfico, a data de início do período avançado é marcada pela linha vertical.
Você pode encontrar informação mais detalhada sobre os resultados dos testes na seção "Onde ver os resultados do teste".
O testador de estratégias na plataforma de negociação permite testar os experts e indicadores em modo visual. Isso dá a possibilidade de ver, de modo patente, como é que o expert efetua negociações ao testar segundo o histórico de dados. Cada negociação é realizada segundo o instrumento financeiro exibido em seu gráfico.
Para o teste visual selecione "Visualização" nas configurações:
|
Configure os parâmetros de teste e os parâmetros de entrada, e clique em "Iniciar".
O teste visual é executado em uma nova janela que simula uma plataforma de negociação separada: nela serão exibidos gráficos, observação do mercado e a janela caixa de ferramentas, onde você pode ver as transações e o diário.
Para pausar, acelerar ou desacelerar o teste, use a barra de ferramentas. Aqui você pode procurar testes segundo a data que lhe interessa.
O teste pode ser também convenientemente gerenciado usando as teclas de atalho listadas ao lado dos comandos no menu.
O objetivo principal desse tipo de teste é monitorizar visualmente o trabalho do expert. O gráfico é construído no modo de tempo real usando os preços gerados e as negociações do robô exibidas nele.
As negociações são exibidas no gráfico na forma de ícones (operação de compra) e (operação de venda). Entre operações de entrada e saída do mercado, é exibida uma linha tracejada.
Na janela "Observação do mercado" são exibidos os preços gerados no processo de teste. Ele é semelhante à janela com o mesmo nome da plataforma de negociação, embora tenha uma série de particularidades. Para exibir/ocultar essa janela você pode executar o comando "Observação do mercado" no menu "Exibir" ou pressione "Ctrl+M".
Na guia "Símbolos" é exibida a informação de preço atual, segundo os instrumentos financeiros. A lista de símbolos exibidos é limitada pelo símbolo básico de teste e pelos que são usados pelo expert.
Na guia "Ticks" é exibido o gráfico de preços gerados durante o processo de teste. O número de ticks exibidos é limitado a 64 mil.
Na janela de dados, você pode ver informação sobre preços (OHLC), data e hora da barra, spread, volume e indicadores utilizados. Aqui, você pode rapidamente obter a informação necessária sobre uma barra separada e indicadores sobrepostos no ponto selecionado do gráfico. Para ativar/desativar essa janela, clique em "Janela de dados" no menu "Exibir" ou utilize o atalho "Ctrl+D".
A parte superior da janela contém o nome do instrumento financeiro e o período do gráfico. Abaixo é exibida a informação sobre a posição atual do cursor no gráfico. A informação sobre indicadores, abertos em subjanelas, é exibida em blocos separados.
Para um estudo mais detalhado das negociações do expert utilize a janela "Caixa de ferramentas". Nela, em guias separadas, aparecem:
A informação sobre os parâmetros de negociações está disponível nas seções Negociação e Histórico. |
Você pode encontrar informação adicional sobre testes no Diário. Nele estão inscritas todas as informações sobre o teste e ações do expert durante a sua duração.
Enquanto o visualizador estiver aberto, os registros do diário do agente de teste não são enviados para o testador de estratégias na plataforma de negociação. No entanto, eles podem ser visualizados através do comando "Diário dos agentes locais" no menu de contexto. |
Você pode ver o comportamento do indicador nos dados históricos no modo de teste visual. Essa possibilidade permite facilmente verificar o indicador antes da sua compra no Mercado. Simplesmente, faça o download da versão demo gratuita do indicador e a execute no testador.
Selecione o tipo de programas "Indicador" selecione o indicador desejado e clique em "Iniciar". O modo de visualização será ativado automaticamente. Os restantes parâmetros serão dados do mesmo modo que acontece ao testar os robôs de negociação.
O comportamento do indicador é mostrado no gráfico que é construído numa seqüência de ticks modelada no testador.