---
title: "Estratégias de otimização - Trading algorítmico, robôs comerciais - Ajuda para o MetaTrader 5"
description: "O testador de estratégias permite testar e otimizar estratégias de negociação ( experts ) antes de as usar em uma... - Estratégias de otimização - Trading algorítmico, robôs comerciais - Ajuda para o MetaTrader 5"
image: "https://www.metatrader5.com/i/logo_metatrader5.png"
url: "https://www.metatrader5.com/pt/terminal/help/algotrading/strategy_optimization"
---

[Ajuda para o MetaTrader 5](https://www.metatrader5.com/pt/terminal/help) → [Trading algorítmico, robôs comerciais](https://www.metatrader5.com/pt/terminal/help/algotrading) → Estratégias de otimização

# Otimização de estratégias

O testador de estratégias permite testar e otimizar estratégias de negociação ([experts](https://www.metatrader5.com/pt/terminal/help/algotrading/autotrading#type)) 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](https://www.metatrader5.com/pt/terminal/help/algotrading/strategy_optimization#agents) 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](https://www.metatrader5.com/pt/terminal/help/algotrading/strategy_optimization#farm). Além disso, no testador de estratégias está disponível uma enorme rede de computação em nuvem [MQL5 Cloud Network](https://www.metatrader5.com/pt/terminal/help/mql5cloud). 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](https://www.metatrader5.com/pt/terminal/help/algotrading/visualization). Essa função permite facilmente verificar as versões demo dos indicadores baixados a partir do [Mercado](https://www.metatrader5.com/pt/terminal/help/market).

## Como otimizar [#](#optimize)

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](https://www.metatrader5.com/i/help/terminal/en/video_market_test.png)](https://www.metatrader5.com/video/1/ouEh29q3QJ4/video.mp4)
>
> 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 rápida de tarefas de otimização [#](#start_page)

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.

![Selecione uma das tarefas típicas na página inicial para ser reencaminhado rapidamente para o teste](https://www.metatrader5.com/i/help/terminal/en/tester_start_page.png)

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 otimização disponíveis serão discutidos abaixo.

### Seleção de um robô de negociação para fazer testes [#](#ea)

Execute o comando "![Testar](https://www.metatrader5.com/i/help/terminal/en/test_icon.png) Testar " no menu de contexto do expert desejado na janela ["Navegador"](https://www.metatrader5.com/pt/terminal/help/startworking/interface).

![Seleção de um robô de negociação para fazer testes](https://www.metatrader5.com/i/help/terminal/en/test_select_ea.png)

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 [#](#mw)

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](https://www.metatrader5.com/i/help/terminal/en/symbols_icon.png) Símbolos" e ative a exibição dos instrumentos necessários.

![Ativação dos símbolos necessários na janela &quot;Observação do mercado&quot; para experts multimonetários](https://www.metatrader5.com/i/help/terminal/en/test_show_symbols.png)

### Seleção das configurações de otimização [#](#settings)

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.

![Selecionando configurações de teste](https://www.metatrader5.com/i/help/terminal/en/tester_settings_optimization.png)

### Símbolo e período

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()) 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](https://www.metatrader5.com/pt/terminal/help/algotrading/testing#result) 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](https://www.metatrader5.com/pt/terminal/help/algotrading/strategy_optimization#forward), 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"](https://www.metatrader5.com/pt/terminal/help/algotrading/strategy_optimization#forward) e ["Resultados de teste avançado"](https://www.metatrader5.com/pt/terminal/help/algotrading/strategy_optimization#forward).

### Modo de negociação

O testador de estratégias permite simular atrasos na rede quando um Expert Advisor executa operações de negociação, a fim de aproximar o processo de teste das condições reais de negociação. 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](https://www.metatrader5.com/pt/terminal/help/trading/general_concept#execution_type), 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](https://www.metatrader5.com/pt/terminal/help/trading/performing_deals#deviation) especificado na ordem, o EA recebe um requote.

Observe que o atraso funciona apenas para operações executadas por um Expert Advisor (colocar [ordens](https://www.metatrader5.com/pt/terminal/help/trading/general_concept#order_type), alterar [níveis de stop](https://www.metatrader5.com/pt/terminal/help/trading/performing_deals#position_modify), 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.

### Modo de geração de ticks

Selecione um dos modos de geração de ticks:

- Todos os ticks – é o mais preciso, mas também o modo de simulação 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](https://www.metatrader5.com/pt/terminal/help/algotrading/tick_generation#real) (segundo intrumentos financeiros) acumulados pela corretora. Não se realiza a modelagem. Como os dados de ticks são grandes, ao iniciar o primeiro teste, baixá-los do servidor da corretora pode demorar 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 nessa [seção separada](https://www.metatrader5.com/pt/terminal/help/algotrading/tick_generation#tick_mode).

O cálculo do lucro em pips permite acelerar o processo de teste devido ao fato de que o lucro não será convertido na moeda do depósito usando outras taxas de câmbio (e, portanto, não será necessário fazer o download do histórico de preços). Também neste modo, não são calculados swaps e comissões.

```json
{"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ {"@type": "ListItem", "position": 1, "item": {"@id": "https://www.metatrader5.com/pt/terminal/help", "name": "Ajuda para o MetaTrader 5"}}, {"@type": "ListItem", "position": 2, "item": {"@id": "https://www.metatrader5.com/pt/terminal/help/algotrading", "name": "Trading algorítmico, robôs comerciais"}}, {"@type": "ListItem", "position": 3, "item": {"@id": "https://www.metatrader5.com/pt/terminal/help/algotrading/strategy_optimization", "name": "Estratégias de otimização"}} ]}
```
