Características e Limites do Testador no MetaTrader 4

MetaQuotes | 13 abril, 2016

Introdução

Este artigo permite um maior conhecimento sobre os recursos e os limites do Testador de Estratégia no MetaTrader 4.

Características Especiais do Testador de Estratégias sobre o Histórico de Dados
  • Algumas funções são processadas/transmitidas sem saída

    Tais funções são: Sleep(), Alert(), SendMail(), PlaySound(), MessageBox(), WindowFind(), WindowHandle(), WindowIsVisible()

  • A negociação é permitida apenas no símbolo sob teste, sem tentativas de teste no portfolio

    As tentativas de negociar com outro símbolo retornará em erro.

  • Tamanhos de lotes (incluindo o tamanho inicial e o passo de incremento), comissões e "swaps" são realizados a partir das configurações da conta do ativo

    Antes do teste é necessário certificar-se de que há pelo menos uma conta ativa na lista da janela "Navegador" no terminal.

  • Todas os "swaps", os requisitos de margem, vencimentos e ordens GTC são modelados

    Os testes são realizados o mais próximo das condições do servidor de negociação, mas pode ocorrer algumas imprecisões na estimativa das exigências de margem em moedas "cross" (pares de moedas que não incluem o dólar americano), devido à falta de informações precisas sobre preços de conversão em cada momento.

  • Barra zero de outro timeframe no mesmo símbolo em teste é modelado aproximadamente

    Open = correct Open, Close = correct Close, Low = min (Open,Close), High = max (Open,Close), Volume = final Volume (false)

  • Modo de Execução Instantânea é usado nas negociações, que estão sendo processadas sem desvios
  • Processamento de ordens, Open/Close sem desvios
  • Teste finailizado após a interrupção das negociações (StopOut)
  • Timeframes semanais, mensais e irregulares não são testados
  • A moeda de depósito pode ser alterada, mas os preços de conversão são definidos e os atuais disponíveis são usados
  • Existem atrasos na execução das operações de negociação

    Um atraso de setup é previsto na introdução do processamento das transações

  • O Histórico da conta fica totalmente disponível e não depende de definições
  • Se outros símbolos e períodos são usados ativamente, então é desejável baixá-los em todas as profundidades possíveis
  • Na modelagem a cada-tick, o testador usa todos os timeframes necessários para o símbolo em teste de forma independente
  • O uso da função MarketInfo gera o erro ERR_FUNCTION_NOT_ALLOWED_IN_TESTING_MODE (4059), porém as informações corretas sobre os preços atuais para o símbolo em teste, sobre as dimensões de nível de stop, sobre o tamanho do ponto, sobre o tamanho de "spread" de qualquer símbolo estará presente na janela das cotações fornecidas.

Características Especiais de Otimização dos Processos

  • Nada é emitido no diário ou na função Print().

    Isto foi idealizado a fim de acelerar o teste e economizar espaço no disco. Se os registros completos são enviados, os arquivos do diário terão centenas de MByte.

  • Desenho de objetos realmente não são definidos.

    Os objetos são desativados de modo a acelerar os testes.

  • A função "Pular resultados inúteis" é usada.

    Para não adulterar a tabela e gráfico com os resultados do teste, a possibilidade de pular resultados muito ruins é usada. Esta função pode ser ativada no menu de contexto "Resultados de Otimização" -> aba "Pular resultados inúteis".