Categoria
Técnico
Nível
Intermediário
Usado em
BacktestingAvaliação de EA

Dados de ticks

Dados de ticks são o registro de cada mudança individual de preço de um símbolo — cada uma com marcação de tempo e com seu próprio bid e ask — e é o que o MT5 reproduz no modelo «cada tick com base em ticks reais» em vez de inventar o caminho entre os candles.

também: histórico de ticks, dados reais de ticks

Atualizado · Revisado

Em palavras simples

Os dados de barras guardam quatro preços por candle: abertura, máxima, mínima e fechamento. Os dados de ticks guardam tudo o que existe entre eles — cada mudança de preço, em ordem, carregando o spread que valia naquele instante. A diferença entre os dois só decide alguma coisa quando uma operação abre e fecha dentro do mesmo candle, que é exatamente onde vive a maior parte do marketing de EAs.

Por que importa

Um backtest só consegue operar os preços que você entrega a ele. Os dados de barras entregam ao testador quatro por candle e deixam que ele invente o caminho entre eles, então qualquer estratégia que entra e sai dentro do candle responde por uma trajetória que ninguém registrou. Os dados de ticks trocam a invenção pelo registro. As nossas próprias execuções acrescentam depois um segundo achado incômodo: de onde você tira os ticks move o resultado muito mais do que passar de ticks inventados para ticks gravados.

  • Ele resolve a ordem dos acontecimentos dentro do candle. Se a trajetória real tocou o stop antes do alvo, uma trajetória inventada que os tocou na ordem inversa inverte o sinal da operação.
  • Ele carrega o spread que de fato valia em cada momento. Numa execução com ticks reais de USD/JPY feita aqui, o arquivo de ticks tinha 227 valores de spread distintos entre 10 e 350 pontos, e nenhum número fixo substitui essa faixa.
  • Ele exige estoque real no terminal. As onze execuções com ticks reais publicadas aqui precisaram de um símbolo personalizado construído a partir de um arquivo importado; nenhum símbolo nativo da corretora do catálogo chegou ao modelo com ticks reais.
  • Ele não é a maior alavanca. Trocar a fonte de dados com o modelo fixo levou uma das nossas execuções de um fator de lucro de 1,35 para 1,13; subir essa mesma fonte de ticks gerados para ticks reais moveu depois outros 0,02.

Usando para validar uma estratégia

Onde é usado

  • Testador de estratégias → Configurações (Settings) → Modelagem, onde «cada tick com base em ticks reais» (modelo 4 / Model 4) reproduz a trajetória gravada e «cada tick» puro (modelo 0 / Model 0) gera uma a partir dos candles M1.
  • Exibir → Símbolos (View → Symbols, Ctrl+U) → a aba Ticks, onde se pede o histórico de ticks de um símbolo para um intervalo de datas antes de o testador poder tocá-lo.
  • A construção de um símbolo personalizado a partir de um arquivo de ticks importado, que é como toda execução com ticks reais deste catálogo conseguiu os seus dados.
  • A repetição de uma estratégia pronta sobre uma segunda fonte de ticks, para descobrir se o resultado pertence às regras ou aos dados.

Como é um resultado confiável

  • A ficha nomeia a fonte de ticks e o modelo do testador na mesma frase, de modo que o leitor pode reconstruir a execução em vez de acreditar nela.
  • O histórico de ticks cobre de fato a janela. Toda execução publicada aqui abre em 2019-01-01, salvo uma, sobre fontes que alcançam essa data.
  • O bid e o ask sobrevivem à importação, então o testador executa ao spread gravado em vez de uma constante colocada no lugar dele.
  • Uma segunda fonte reproduz o resultado — e quando não reproduz, a ficha diz qual das duas falhou.

Sinais de alerta

  • «Dados reais de ticks» sem nomear o fornecedor. O fornecedor acaba sendo a metade da afirmação que decide o resultado.
  • Um percentual de qualidade de histórico agitado como prova de ticks reais. Uma execução em modelo 0 deste catálogo imprimiu 100 %.
  • Uma janela de teste que começa antes dos ticks da fonte, o que devolve em silêncio os primeiros anos à interpolação.
  • Um spread fixo configurado em cima de dados de ticks. No modelo 4 o testador ignora o campo de qualquer forma, então o ajuste engana mais o autor do que o leitor.

Backtest x operação real

  • Os dados de ticks fixam a trajetória do preço e deixam a execução em paz. Latência, requotes, preenchimentos parciais e a política da própria corretora continuam todos fora do testador.
  • O spread gravado pertence a quem o gravou. Outra corretora cotando o mesmo instante pode divergir de forma apreciável, sobretudo fora das sessões principais.
  • O slippage nunca entra no arquivo. O testador executa ao preço gravado; uma ordem real chega uma fração depois e leva o que estiver lá.
  • Espere que o que sobrar da diferença tenha a ver com a execução e não com os preços — uma diferença mais estreita e muito mais previsível do que a que os dados de barras deixam para trás.

Método de validação recomendado

  1. 1Peça primeiro o histórico de ticks do símbolo para a janela inteira e depois leia a aba Ticks para confirmar que o intervalo devolvido a cobre de fato.
  2. 2Anote o número do modelo ao lado do nome da fonte. «Cada tick» e «cada tick com base em ticks reais» ficam a uma linha de distância no mesmo menu suspenso e descrevem dois experimentos diferentes.
  3. 3No modelo 4, deixe o campo de spread do testador em paz e acrescente a comissão à mão. Rodar aqui Spread=10 contra Spread=100 produziu spreads idênticos tick a tick.
  4. 4Rode de novo sobre uma segunda fonte antes de acreditar no número. A discordância entre fontes é o resultado, não um incômodo.

Exemplo

Um EA, uma janela, três execuções. O TidewellSlack opera GBP/JPY em M15 a partir de 2019-01-01, e nós o rodamos de três formas para separar as duas coisas que as fichas costumam misturar: de onde vêm os ticks, e se o testador os reproduz ou os inventa.

Histórico M1 da corretora, modelo 0 (a execução publicada)
PF 1,35, drawdown máximo 9,92 %
303 operações, qualidade de histórico 99 %, e passa no nosso gate.
Ticks importados, ainda modelo 0
PF 1,13, drawdown máximo 18,18 %
351 operações. Só a fonte mudou.
Ticks importados, modelo 4 com ticks reais
PF 1,11, drawdown máximo 18,20 %
345 operações. Só o modelo mudou.

Duas das três execuções não passam no nosso próprio gate, e a sobrevivente é a que roda sobre ticks gerados. É por isso que a ficha publica o seu símbolo e o seu número de modelo em vez do adjetivo «reais».

Cálculo Troca de fonte: −0,22 de fator de lucro e +8,26 pontos de drawdown. A subida para ticks reais em cima disso: −0,02 e +0,02.

Resultado A fonte de dados moveu o resultado onze vezes mais longe do que o modelo de ticks

Como interpretar

Leia os dados de ticks primeiro contra o tempo de permanência e depois contra a fonte. Quanto mais fino o seu alvo em relação ao candle, maior a parte do resultado decidida pela trajetória — mas é a fonte que decide quanto desse resultado viaja para qualquer outro lugar.

Faixa O que significa
EA intradiário ou de scalping, ticks reais, fornecedor nomeado O caso defensável. A trajetória está gravada e um estranho consegue reconstruir a execução só com a ficha.
Sistema de swing de vários dias sobre ticks gerados a partir de candles Costuma bastar. A trajetória interna de um candle raramente decide uma operação segurada por uma semana.
Ticks reais, mas de uma fonte só Meia resposta. A nossa execução de GBP/JPY passou sobre uma fonte e falhou sobre outra, com regras idênticas e janela idêntica.
«Ticks reais» sem fornecedor e sem número de modelo Não verificável, e os dois campos que faltam são justamente os dois que decidem a cifra.
  • Confirme o intervalo que a aba Ticks devolveu antes de escolher o modelo. Uma janela que começa antes dos ticks da fonte volta à interpolação nos primeiros anos e ainda assim informa uma única cifra para a execução inteira.
  • Preserve o bid e o ask. No modelo 4 o testador tira o spread do arquivo de ticks e ignora o número que você digitou — 227 valores distintos entre 10 e 350 pontos numa execução de USD/JPY, nenhum deles o configurado.
  • Repare em como quase ninguém mede o spread. Exatamente uma das 23 execuções publicadas aqui carrega uma média medida, 19,14 pontos gravados dentro do testador, e essa execução usa o modelo 0.
  • Trate a segunda fonte como o experimento, e não como a tarefa chata. A concordância promove um backtest sobre dados de ticks a prova; a discordância ensina mais.

Onze das 23 execuções publicadas aqui usam o modelo 4 e doze usam o modelo 0, e toda execução em modelo 4 carrega o sufixo `_DUKA` no nome do seu símbolo, porque ticks importados só podem viver num símbolo personalizado. Dez desses onze manifestos ainda nomeiam o histórico M1 da corretora no campo de fonte de preços, um resto da linhagem de onde migraram. Leia o número do modelo e o símbolo; a prosa em volta deles envelhece mais rápido.

Erros comuns

Comprar o modelo de ticks e ignorar a fonte de ticks

O modelo é uma linha de um menu suspenso e a fonte é o registro inteiro de outro mercado. Na execução de GBP/JPY acima, mudar a fonte custou 0,22 de fator de lucro e dobrou o drawdown, enquanto a subida para ticks reais sobre essa mesma fonte custou 0,02. Uma ficha que nomeia o seu modelo mas não o seu fornecedor contou a você a metade menor.

Ler uma cifra de qualidade de histórico como prova de ticks reais

O percentual mede o quanto o histórico cobriu a janela, não qual modelo o produziu. A execução-sombra em modelo 0 por trás do KestrelHover imprimiu 100 % — a mesma cifra que a sua irmã com ticks reais imprimiu. Um número que os dois modelos conseguem alcançar não serve para distingui-los.

Configurar um spread fixo em cima de dados de ticks

No modelo 4 o testador executa pelo ask menos o bid do próprio arquivo de ticks e desconsidera o campo por completo; rodar um mesmo teste de USD/JPY com Spread=10 e de novo com Spread=100 devolveu spreads idênticos tick a tick. O ajuste não muda nada na execução e muda em silêncio o que o autor acredita que a execução mediu.

Testar uma janela que os ticks não cobrem

Um teste desde 2015 sobre uma fonte cujos ticks começam em 2019 interpola os primeiros anos, reproduz os últimos e informa os dois como um resultado só. A aba Ticks declara o intervalo que ela tem; o testador nunca avisa que a sua janela passou do fim.

Esperar que os ticks reais fechem a diferença para a operação real

Eles fecham a metade do preço e deixam intacta a metade da execução. Latência, requotes, preenchimentos parciais e a política da corretora ficam fora da simulação, então uma execução com ticks reais continua sendo um relato otimista de como teriam sido os preenchimentos — só que um relato otimista construído sobre uma trajetória que aconteceu de verdade.

Em detalhe

Três execuções, uma variável de cada vez

TidewellSlack — GBP/JPY, M15, a partir de 2019-01-01OperaçõesFator de lucroDrawdown máximoQualidade de históricoNosso gate
Histórico M1 da corretora, modelo 0 (publicada)3031,359,92 %99 %PASS
Ticks importados, modelo 03511,1318,18 %99 %FAIL
Ticks importados, modelo 4 com ticks reais3451,1118,20 %100 %FAIL

Da primeira linha para a segunda só mudam os dados: mesmas regras, mesma janela, mesmo modelo de testador. O fator de lucro cai 0,22 e o drawdown mais ou menos dobra. Da segunda para a terceira só muda o modelo, que sobe os ticks gerados para os gravados do mesmo arquivo, e o fator de lucro cai 0,02 enquanto o drawdown se move dois centésimos de ponto. As duas linhas com ticks importados não passam no nosso gate; a sobrevivente é a execução sobre ticks gerados.

Essa ordem não é universal, que é a parte honesta do assunto. O KestrelHover foi na direção contrária: 291 operações e um fator de lucro de 1,33 com ticks reais, contra 292 operações e 1,30 com os ticks gerados da corretora, e as duas execuções passaram. Às vezes a fonte é a história inteira e às vezes é ruído — e só se descobre rodando duas vezes. Leia a ficha do TidewellSlack ao lado daquela outra e a conclusão se conta sozinha.

Ticks reais custam a você um símbolo personalizado

Onze das 23 execuções publicadas aqui usam o modelo 4 e doze usam o modelo 0. Toda execução em modelo 4 opera um símbolo cujo nome termina em _DUKA, porque ticks importados não podem viver no símbolo da própria corretora — você cria um símbolo personalizado na janela de Símbolos e importa o arquivo para dentro dele. Nenhum símbolo nativo da corretora deste catálogo chegou ao modelo com ticks reais, e essa é a razão prática de tantos backtests publicados não o usarem: o modo é de graça, o estoque por trás dele não é.

Isso também quebra o atalho habitual de confiar num percentual. A execução-sombra em modelo 0 por trás do KestrelHover imprimiu 100 % de qualidade de histórico, a mesma cifra que a sua irmã com ticks reais imprimiu, então o número não serve para distinguir as duas. A qualidade de modelagem responde a outra pergunta — o quanto o histórico cobriu a janela — e a responde igual para os dois modelos.

O spread é a metade que ninguém confere

O segundo presente dos dados de ticks são o bid e o ask gravados, e é o que mais vezes se joga fora. No modelo 4 o testador executa pelo ask menos o bid de cada tick e ignora o spread que você configurou: um mesmo teste de USD/JPY rodado com Spread=10 e de novo com Spread=100 produziu spreads idênticos tick a tick, 227 valores distintos indo de 10 a 350 pontos. O campo parece um controle e se comporta como um comentário.

Quase ninguém mede o custo resultante também. Exatamente uma das 23 execuções daqui declara uma média de spread medida — 19,14 pontos, gravados dentro do testador — e essa execução usa o modelo 0, não ticks reais. Então a leitura honesta da maioria das afirmações sobre ticks reais, inclusive várias das nossas, é que a trajetória ficou gravada e o custo de percorrê-la nunca foi somado.

Perguntas frequentes

Preciso de dados reais de ticks para fazer o backtest de um EA?
Depende de quanto tempo a estratégia segura. Tudo o que abre e fecha dentro do dia deveria usar ticks reais, porque a trajetória dentro do candle decide operações demais para ser presumida. Um sistema de swing que segura por dias mal percebe. Nos dois casos, nomeie a fonte: no nosso teste de GBP/JPY a troca de fonte moveu o fator de lucro 0,22 e a subida para ticks reais moveu 0,02.
De onde vêm os dados de ticks do MT5?
De dois lugares. As corretoras de MetaTrader guardam o histórico de ticks nos seus servidores e o terminal o baixa em Exibir → Símbolos (Ctrl+U) → Ticks, para um símbolo e um intervalo de datas. Fornecedores independentes publicam arquivos de ticks, que você importa para um símbolo personalizado. Toda execução com ticks reais deste catálogo tomou o segundo caminho, e é por isso que cada uma carrega o sufixo _DUKA no nome do seu símbolo.
Por que duas fontes de ticks dão resultados de backtest diferentes?
Porque cada fonte é o registro de um local de negociação, e os preços — sobretudo os spreads — diferem entre eles. O mesmo EA de GBP/JPY sobre a mesma janela marcou um fator de lucro de 1,35 sobre o histórico da própria corretora e 1,13 sobre um arquivo importado, com o drawdown máximo subindo de 9,92 % para 18,18 %. Comparar duas fontes é o teste de robustez mais barato que existe.
Os dados reais de ticks tornam um backtest exato?
Eles tornam a série de preços fiel, o que não é a mesma coisa. A execução fica fora do testador, e a fonte que você escolheu continua dominando. Os nossos dois EAs rodados das duas formas foram parar em lugares opostos: um mal se moveu — 291 operações e um fator de lucro de 1,33 com ticks reais contra 292 operações e 1,30 com ticks gerados — enquanto o outro deixou de passar no seu gate assim que a fonte mudou.
Como eu descubro quais dados de ticks um backtest publicado usou?
Três campos, nesta ordem: o nome do modelo que o testador imprimiu, o símbolo sobre o qual a execução rodou e o fornecedor por trás desse símbolo. O nome de um símbolo personalizado costuma ser a pista de que os ticks foram importados. Se uma ficha mostra um percentual e um adjetivo mas nenhum desses três, trate a afirmação como não verificada em vez de falsa.