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
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.
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.
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.
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álculoTroca 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.
ResultadoA 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-01
Operações
Fator de lucro
Drawdown máximo
Qualidade de histórico
Nosso gate
Histórico M1 da corretora, modelo 0 (publicada)
303
1,35
9,92 %
99 %
PASS
Ticks importados, modelo 0
351
1,13
18,18 %
99 %
FAIL
Ticks importados, modelo 4 com ticks reais
345
1,11
18,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.