{"id":15733,"date":"2026-10-31T20:42:04","date_gmt":"2026-10-31T20:42:04","guid":{"rendered":"https:\/\/bjftradinggroup.com\/?p=15733"},"modified":"2026-10-31T20:42:04","modified_gmt":"2026-10-31T20:42:04","slug":"forex-tick-data-backtesting","status":"publish","type":"post","link":"https:\/\/bjftradinggroup.com\/pt\/forex-tick-data-backtesting\/","title":{"rendered":"Dados de tick do forex para backtesting: fontes, verifica\u00e7\u00f5es de qualidade e armadilhas"},"content":{"rendered":"<p><\/p>\n<div class=\"ftd-page\">\n<div class=\"ftd-hero\">\n<span class=\"ftd-hero-tag\">BJF TRADING GROUP \u00b7 BACKTESTING NO FOREX<\/span><\/p>\n<h2>Dados de tick do forex para backtesting: <span class=\"ftd-gold\">fontes, verifica\u00e7\u00f5es de qualidade e armadilhas<\/span><\/h2>\n<p class=\"ftd-hero-sub\">Um backtest s\u00f3 pode ser t\u00e3o honesto quanto os pre\u00e7os que voc\u00ea fornece a ele. Para scalping, arbitragem e qualquer estrat\u00e9gia que vive dentro de poucos pips, barras de um minuto n\u00e3o bastam: voc\u00ea precisa da sequ\u00eancia real de cota\u00e7\u00f5es bid e ask. Este guia explica de onde v\u00eam os dados de tick do forex, por que dois conjuntos de dados do mesmo par nunca coincidem, quais verifica\u00e7\u00f5es de qualidade fazer antes de confiar em um resultado e como transformar ticks brutos em um teste que se pare\u00e7a com a negocia\u00e7\u00e3o real.<\/p>\n<\/div>\n<div class=\"ftd-toc\">\n<strong>Neste guia<\/strong><\/p>\n<ol>\n<li><a href=\"#ftd-what\">O que s\u00e3o dados de tick do forex<\/a><\/li>\n<li><a href=\"#ftd-bars\">Dados de tick vs dados de barras: o que a interpola\u00e7\u00e3o esconde<\/a><\/li>\n<li><a href=\"#ftd-sources\">De onde v\u00eam os dados de tick do forex<\/a><\/li>\n<li><a href=\"#ftd-feeds\">O feed da sua corretora vs um feed de refer\u00eancia<\/a><\/li>\n<li><a href=\"#ftd-time\">Timestamps, fusos hor\u00e1rios e hor\u00e1rio de ver\u00e3o<\/a><\/li>\n<li><a href=\"#ftd-quality\">Verifica\u00e7\u00f5es de qualidade antes de confiar em um conjunto de dados<\/a><\/li>\n<li><a href=\"#ftd-steps\">Passo a passo: preparando dados de tick para um backtest<\/a><\/li>\n<li><a href=\"#ftd-spread\">Spread vari\u00e1vel: o custo que um spread fixo esconde<\/a><\/li>\n<li><a href=\"#ftd-impact\">Quanto a premissa sobre os dados muda o resultado<\/a><\/li>\n<li><a href=\"#ftd-exec\">Ticks s\u00e3o necess\u00e1rios, mas n\u00e3o suficientes: tempo de execu\u00e7\u00e3o<\/a><\/li>\n<li><a href=\"#ftd-storage\">Armazenamento, formatos e manuseio<\/a><\/li>\n<li><a href=\"#ftd-pitfalls\">Armadilhas comuns<\/a><\/li>\n<li><a href=\"#ftd-faq\">Perguntas frequentes<\/a><\/li>\n<\/ol>\n<\/div>\n<h2 id=\"ftd-what\">O que s\u00e3o dados de tick do forex<\/h2>\n<p class=\"ftd-answer\"><strong>Resposta curta:<\/strong> dados de tick do forex s\u00e3o o registro de cada mudan\u00e7a de cota\u00e7\u00e3o em um par de moedas: um timestamp (geralmente em milissegundos), o pre\u00e7o bid, o pre\u00e7o ask e, \u00e0s vezes, o volume cotado de cada lado. Ao contr\u00e1rio dos dados de barras, que guardam apenas a abertura, a m\u00e1xima, a m\u00ednima e o fechamento de cada per\u00edodo, os dados de tick preservam a ordem, o momento e o spread de cada atualiza\u00e7\u00e3o de pre\u00e7o, que \u00e9 exatamente o que uma estrat\u00e9gia de curto prazo negocia.<\/p>\n<p>Uma linha t\u00edpica tem esta apar\u00eancia:<\/p>\n<div class=\"ftd-code\">2026.10.14 08:00:00.137, 1.08512, 1.08519, 1.50, 2.25<\/div>\n<p>Isso \u00e9 o hor\u00e1rio, o bid, o ask e o volume dispon\u00edvel no bid e no ask (em milh\u00f5es, se a fonte fornecer). O spread neste tick \u00e9 de 0.7 pips. Um segundo depois pode haver mais cinco linhas, ou nenhuma.<\/p>\n<p>H\u00e1 uma coisa que voc\u00ea precisa entender antes de tudo: <strong>o mercado forex \u00e0 vista n\u00e3o tem uma fita central<\/strong>. A\u00e7\u00f5es e futuros t\u00eam uma bolsa que publica a sequ\u00eancia oficial de neg\u00f3cios. O forex \u00e9 negociado no mercado de balc\u00e3o entre muitos bancos, ECNs e corretoras, e cada um deles transmite suas pr\u00f3prias cota\u00e7\u00f5es. Por isso, todo conjunto de dados de tick do forex \u00e9 a vis\u00e3o do mercado de um \u00fanico local de execu\u00e7\u00e3o ou de um \u00fanico agregador. Duas fontes podem divergir em uma fra\u00e7\u00e3o de pip e em dezenas de milissegundos no mesmo instante, e ambas podem estar corretas para o seu pr\u00f3prio local.<\/p>\n<p>Esse fato orienta a maior parte deste guia. &#8220;Estes dados de tick s\u00e3o precisos?&#8221; \u00e9 a pergunta errada. As perguntas \u00fateis s\u00e3o: precisos <em>para qual local de execu\u00e7\u00e3o<\/em>, registrados <em>como<\/em> e limpos <em>como<\/em>?<\/p>\n<h3>Ticks de cota\u00e7\u00e3o vs ticks de neg\u00f3cios<\/h3>\n<p>A maioria dos conjuntos de dados de forex \u00e9 composta por <strong>ticks de cota\u00e7\u00e3o<\/strong>: mudan\u00e7as do melhor bid ou do melhor ask. Eles n\u00e3o s\u00e3o neg\u00f3cios. Uma cota\u00e7\u00e3o pode mudar dez vezes sem um \u00fanico neg\u00f3cio, e um neg\u00f3cio grande pode nem alterar o topo do livro. Alguns dados de FX baseados em futuros ou negociados em bolsa cont\u00eam <strong>ticks de neg\u00f3cios<\/strong> (\u00faltimo pre\u00e7o e tamanho), mas para backtesting de forex \u00e0 vista voc\u00ea quer cota\u00e7\u00f5es bid e ask, porque \u00e9 contra elas que suas ordens ser\u00e3o executadas: compras no ask, vendas no bid.<\/p>\n<h2 id=\"ftd-bars\">Dados de tick vs dados de barras: o que a interpola\u00e7\u00e3o esconde<\/h2>\n<p>Muitas ferramentas de backtesting que afirmam testar &#8220;todos os ticks&#8221; n\u00e3o usam ticks registrados. Elas pegam barras de um minuto e <strong>geram<\/strong> ticks sint\u00e9ticos dentro de cada barra, normalmente um caminho suave da abertura at\u00e9 a m\u00e1xima e a m\u00ednima e depois at\u00e9 o fechamento. O resultado parece dados de tick, mas n\u00e3o cont\u00e9m nenhuma informa\u00e7\u00e3o que a barra j\u00e1 n\u00e3o tivesse.<\/p>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/interpolated-vs-recorded-ticks-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"Ticks de forex registrados comparados com ticks sint\u00e9ticos interpolados a partir de uma barra OHLC de um minuto (ilustrativo)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Dentro de um minuto: os ticks bid registrados saltam, param e revertem; ticks gerados a partir do OHLC da barra seguem um caminho suave e inventam a ordem da m\u00e1xima e da m\u00ednima. Dados ilustrativos.<\/figcaption><\/figure>\n<p>Veja por que isso importa. Considere uma barra de um minuto de EUR\/USD: abertura 1.08500, m\u00e1xima 1.08540, m\u00ednima 1.08480, fechamento 1.08520. Uma posi\u00e7\u00e3o comprada est\u00e1 aberta com take-profit em 1.08530 e stop-loss em 1.08485. Os dois n\u00edveis est\u00e3o dentro da barra. A opera\u00e7\u00e3o ganhou ou perdeu?<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Se a m\u00ednima veio primeiro<\/strong>, o stop foi atingido em 1.08485 e a opera\u00e7\u00e3o perdeu 1.5 pips.<\/li>\n<li><strong>Se a m\u00e1xima veio primeiro<\/strong>, o take-profit foi atingido em 1.08530 e a opera\u00e7\u00e3o ganhou 3 pips.<\/li>\n<\/ul>\n<p>A barra n\u00e3o consegue dizer. O gerador escolhe uma ordem (muitas vezes por uma regra fixa, como &#8220;uma barra de alta vai primeiro \u00e0 m\u00ednima&#8221;), e o backtest informa um resultado confiante que \u00e9, em parte, um cara ou coroa. Para uma estrat\u00e9gia de swing com alvo de 100 pips isso raramente importa. Para uma estrat\u00e9gia cujos alvos e stops ficam a poucos pips da entrada, isso decide uma grande parte das opera\u00e7\u00f5es.<\/p>\n<p>A interpola\u00e7\u00e3o tamb\u00e9m apaga tr\u00eas coisas que os ticks registrados preservam:<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>O que a estrat\u00e9gia precisa<\/th>\n<th>Ticks registrados<\/th>\n<th>Ticks gerados a partir de barras<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Ordem da m\u00e1xima e da m\u00ednima dentro de um minuto<\/td>\n<td>Exata<\/td>\n<td>Adivinhada por uma regra<\/td>\n<\/tr>\n<tr>\n<td>Saltos de pre\u00e7o (um movimento de 1.5 pip em uma \u00fanica cota\u00e7\u00e3o)<\/td>\n<td>Presentes<\/td>\n<td>Suavizados em pequenos passos<\/td>\n<\/tr>\n<tr>\n<td>Spread em cada cota\u00e7\u00e3o<\/td>\n<td>Presente (bid e ask)<\/td>\n<td>Normalmente um spread fixo ou um valor por barra<\/td>\n<\/tr>\n<tr>\n<td>Intervalo entre cota\u00e7\u00f5es (segundos calmos vs agitados)<\/td>\n<td>Presente<\/td>\n<td>Espa\u00e7ado de forma uniforme ou inventado<\/td>\n<\/tr>\n<tr>\n<td>Atividade de cota\u00e7\u00f5es em torno de not\u00edcias e do rollover<\/td>\n<td>Presente<\/td>\n<td>Perdida<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Os saltos s\u00e3o o ponto cr\u00edtico para a <a href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage\/\">arbitragem de lat\u00eancia<\/a>: o sinal <em>\u00e9<\/em> o salto. Um caminho sint\u00e9tico que vai de 1.08500 a 1.08515 em quinze pequenos passos n\u00e3o produz sinal nenhum, ent\u00e3o uma estrat\u00e9gia que operaria ao vivo parece morta no teste, ou uma estrat\u00e9gia que compra recuos parece melhor do que realmente \u00e9.<\/p>\n<h2 id=\"ftd-sources\">De onde v\u00eam os dados de tick do forex<\/h2>\n<p>Existem cinco fontes realistas. Elas diferem em custo, profundidade e, principalmente, em qu\u00e3o pr\u00f3ximas est\u00e3o dos pre\u00e7os que voc\u00ea realmente vai negociar.<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Fonte<\/th>\n<th>O que voc\u00ea obt\u00e9m<\/th>\n<th>Pontos fortes<\/th>\n<th>Limita\u00e7\u00f5es<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Sua pr\u00f3pria grava\u00e7\u00e3o<\/strong> (pela API da corretora ou sess\u00e3o FIX)<\/td>\n<td>Cada cota\u00e7\u00e3o que sua conta recebeu, com o seu hor\u00e1rio local de recebimento<\/td>\n<td>Correspond\u00eancia exata com o seu local de execu\u00e7\u00e3o; voc\u00ea controla os timestamps e o formato<\/td>\n<td>Come\u00e7a apenas quando voc\u00ea come\u00e7a a gravar; exige uma m\u00e1quina est\u00e1vel; lacunas se a conex\u00e3o cair<\/td>\n<\/tr>\n<tr>\n<td><strong>Download do hist\u00f3rico da corretora<\/strong><\/td>\n<td>Bid\/ask hist\u00f3rico do pr\u00f3prio feed da corretora<\/td>\n<td>Pr\u00f3ximo do seu local de execu\u00e7\u00e3o; muitas vezes anos de hist\u00f3rico<\/td>\n<td>A qualidade varia; algumas corretoras reduzem ou filtram ticks antigos; os timestamps podem estar no hor\u00e1rio do servidor<\/td>\n<\/tr>\n<tr>\n<td><strong>Arquivos p\u00fablicos gratuitos<\/strong> (oferecidos por algumas corretoras ECN e agregadores, por exemplo Dukascopy, TrueFX, HistData.com)<\/td>\n<td>Ticks bid\/ask dos principais pares, muitas vezes desde os anos 2000<\/td>\n<td>Gratuitos, hist\u00f3rico longo, bons para pesquisa e testes de robustez<\/td>\n<td>A vis\u00e3o de um local ou agregador, n\u00e3o a sua; spreads e frequ\u00eancia de cota\u00e7\u00f5es diferem dos da sua corretora; verifique a conven\u00e7\u00e3o de fuso hor\u00e1rio de cada fonte<\/td>\n<\/tr>\n<tr>\n<td><strong>Fornecedores comerciais de dados<\/strong><\/td>\n<td>Hist\u00f3rico de ticks limpo, normalizado e de v\u00e1rios locais<\/td>\n<td>Metodologia documentada, formatos consistentes, suporte<\/td>\n<td>Caros; ainda assim n\u00e3o \u00e9 o feed da sua corretora<\/td>\n<\/tr>\n<tr>\n<td><strong>Feeds de refer\u00eancia \/ r\u00e1pidos<\/strong> (por exemplo, hist\u00f3rico de ticks do BJF Feed a partir dos n\u00f3s de Londres, T\u00f3quio e Nova York)<\/td>\n<td>Um fluxo de pre\u00e7os de refer\u00eancia r\u00e1pido e independente<\/td>\n<td>Necess\u00e1rios para testar estrat\u00e9gias que comparam um feed lento com um r\u00e1pido<\/td>\n<td>Precisam ser combinados com os ticks da pr\u00f3pria corretora em testes de arbitragem<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>A regra pr\u00e1tica: <strong>use o hist\u00f3rico limpo mais longo que conseguir para pesquisa e os dados mais pr\u00f3ximos do seu local de execu\u00e7\u00e3o para a decis\u00e3o final.<\/strong> Uma estrat\u00e9gia que s\u00f3 funciona em um arquivo gratuito e falha nos ticks registrados da sua corretora n\u00e3o funciona. Uma estrat\u00e9gia que se sustenta em ambos, com custos realistas, passou por um teste significativo.<\/p>\n<p>Se voc\u00ea pretende rodar uma estrat\u00e9gia por meses, comece a gravar os ticks da sua corretora hoje, mesmo antes de a estrat\u00e9gia estar pronta. Tr\u00eas meses do seu pr\u00f3prio feed valem mais para a verifica\u00e7\u00e3o final do que dez anos do feed de outra pessoa.<\/p>\n<h2 id=\"ftd-feeds\">O feed da sua corretora vs um feed de refer\u00eancia<\/h2>\n<p>Como cada local transmite suas pr\u00f3prias cota\u00e7\u00f5es, o mesmo instante parece um pouco diferente visto de lugares diferentes. As diferen\u00e7as t\u00eam uma estrutura:<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Diferen\u00e7a de pre\u00e7o.<\/strong> Os pre\u00e7os m\u00e9dios normalmente concordam dentro de uma fra\u00e7\u00e3o de pip nos hor\u00e1rios l\u00edquidos e se afastam em mercados finos, no rollover e em torno de not\u00edcias.<\/li>\n<li><strong>Diferen\u00e7a de tempo.<\/strong> Uma corretora que agrega pre\u00e7os de provedores de liquidez, aplica sua pr\u00f3pria margem e executa verifica\u00e7\u00f5es de risco frequentemente mostra um movimento mais tarde do que um feed de refer\u00eancia r\u00e1pido. O atraso pode ser de alguns milissegundos ou de v\u00e1rias centenas.<\/li>\n<li><strong>Frequ\u00eancia de cota\u00e7\u00f5es.<\/strong> Alguns feeds enviam cada mudan\u00e7a, outros limitam a taxa (por exemplo, no m\u00e1ximo uma atualiza\u00e7\u00e3o a cada 100 ms por s\u00edmbolo). Um feed limitado tem menos ticks e saltos maiores.<\/li>\n<li><strong>Perfil de spread.<\/strong> Um feed ECN bruto e um feed de varejo com margem podem diferir em um pip inteiro no spread m\u00e9dio e muito mais no rollover.<\/li>\n<\/ul>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/broker-vs-reference-feed-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"Dois feeds de forex no mesmo minuto: o feed de refer\u00eancia \u00e0 frente do feed da corretora, com a distribui\u00e7\u00e3o do atraso (ilustrativo)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Mesmo par, mesmo minuto, dois feeds. O feed da corretora repete os movimentos da refer\u00eancia com atraso e menos atualiza\u00e7\u00f5es; o painel da direita mostra a distribui\u00e7\u00e3o desse atraso. Dados ilustrativos, n\u00e3o uma medi\u00e7\u00e3o de nenhuma corretora espec\u00edfica.<\/figcaption><\/figure>\n<p>Para a maioria das estrat\u00e9gias, isso significa que voc\u00ea deve testar no feed em que vai operar. Para a arbitragem de lat\u00eancia significa algo mais forte: a vantagem da estrat\u00e9gia <em>\u00e9<\/em> a diferen\u00e7a entre dois feeds, ent\u00e3o voc\u00ea precisa dos dois fluxos, registrados com timestamps do mesmo rel\u00f3gio. Testar uma estrat\u00e9gia de arbitragem com os ticks de um \u00fanico fornecedor n\u00e3o tem sentido. Descrevemos como comparar feeds tick a tick em nosso artigo sobre <a href=\"https:\/\/bjftradinggroup.com\/the-critical-role-of-tick-comparison-in-forex-arbitrage-and-high-frequency-trading-hft\/\">compara\u00e7\u00e3o de ticks na arbitragem de forex e HFT<\/a>, e por que o lado de refer\u00eancia precisa ser r\u00e1pido no guia sobre <a href=\"https:\/\/bjftradinggroup.com\/fast-feed-for-arbitrage\/\">feeds de dados r\u00e1pidos para arbitragem<\/a>.<\/p>\n<h2 id=\"ftd-time\">Timestamps, fusos hor\u00e1rios e hor\u00e1rio de ver\u00e3o<\/h2>\n<p>Problemas de timestamp causam mais erros silenciosos em backtests do que pre\u00e7os ruins. Quatro coisas para verificar:<\/p>\n<h3>1. Em qual fuso hor\u00e1rio est\u00e3o os dados?<\/h3>\n<p>As conven\u00e7\u00f5es comuns s\u00e3o UTC\/GMT, hor\u00e1rio do leste dos EUA (com ou sem hor\u00e1rio de ver\u00e3o) e o &#8220;hor\u00e1rio do servidor&#8221; da corretora, que muitas corretoras definem como GMT+2 no inverno e GMT+3 no ver\u00e3o para que o dia de negocia\u00e7\u00e3o feche \u00e0s 17:00 no hor\u00e1rio de Nova York. Se a sua estrat\u00e9gia diz &#8220;operar a abertura de Londres \u00e0s 08:00&#8221;, uma diferen\u00e7a de uma hora significa que ela opera em outro regime de mercado.<\/p>\n<h3>2. O hor\u00e1rio de ver\u00e3o \u00e9 aplicado, e de quem?<\/h3>\n<p>A Europa e os Estados Unidos mudam os rel\u00f3gios em datas diferentes. Durante cerca de tr\u00eas semanas em mar\u00e7o e uma semana entre o fim de outubro e o in\u00edcio de novembro, a diferen\u00e7a entre Londres e Nova York \u00e9 de quatro horas em vez de cinco. Um conjunto de dados convertido com a regra errada desloca a l\u00f3gica baseada em sess\u00f5es em uma hora durante essas semanas. O erro \u00e9 pequeno, sazonal e muito dif\u00edcil de perceber em uma curva de capital.<\/p>\n<h3>3. Onde o timestamp foi registrado?<\/h3>\n<p>Um tick pode trazer o hor\u00e1rio em que o local gerou a cota\u00e7\u00e3o, o hor\u00e1rio em que ela saiu do servidor do local ou o hor\u00e1rio em que a sua m\u00e1quina a recebeu. Para uma estrat\u00e9gia de tend\u00eancia a diferen\u00e7a n\u00e3o importa. Para estrat\u00e9gias sens\u00edveis \u00e0 lat\u00eancia, essa \u00e9 a quest\u00e3o central: dois feeds s\u00f3 podem ser comparados se ambos forem marcados no mesmo rel\u00f3gio, idealmente o seu pr\u00f3prio hor\u00e1rio de recebimento sincronizado com NTP ou PTP.<\/p>\n<h3>4. Resolu\u00e7\u00e3o e ordena\u00e7\u00e3o<\/h3>\n<p>Timestamps com resolu\u00e7\u00e3o de segundos n\u00e3o bastam para o trabalho de curto prazo: dezenas de cota\u00e7\u00f5es podem compartilhar o mesmo segundo, e sua ordem dentro dele pode se perder ap\u00f3s uma ordena\u00e7\u00e3o. Use resolu\u00e7\u00e3o de milissegundos (ou mais fina) e mantenha a ordem original do arquivo como crit\u00e9rio de desempate.<\/p>\n<h2 id=\"ftd-quality\">Verifica\u00e7\u00f5es de qualidade antes de confiar em um conjunto de dados<\/h2>\n<p>Dados de tick brutos sempre cont\u00eam erros. O objetivo n\u00e3o \u00e9 a perfei\u00e7\u00e3o, mas saber o que h\u00e1 nos dados e remover o que distorceria o teste. Estas s\u00e3o as verifica\u00e7\u00f5es que fazemos em qualquer novo conjunto de dados antes de us\u00e1-lo em uma otimiza\u00e7\u00e3o:<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Verifica\u00e7\u00e3o<\/th>\n<th>O que procurar<\/th>\n<th>A\u00e7\u00e3o t\u00edpica<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Tempo monot\u00f4nico<\/td>\n<td>Timestamps que voltam no tempo<\/td>\n<td>Reordenar apenas se a causa for conhecida; caso contr\u00e1rio, sinalizar o arquivo<\/td>\n<\/tr>\n<tr>\n<td>Duplicatas<\/td>\n<td>Linhas id\u00eanticas (mesmo hor\u00e1rio, bid, ask)<\/td>\n<td>Remover duplicatas exatas; manter pre\u00e7os repetidos com hor\u00e1rios diferentes<\/td>\n<\/tr>\n<tr>\n<td>Spread cruzado ou zero<\/td>\n<td>Ask &le; bid<\/td>\n<td>Remover; casos frequentes indicam uma fonte defeituosa ou feeds mesclados<\/td>\n<\/tr>\n<tr>\n<td>Spread anormal<\/td>\n<td>Spread acima de, digamos, 10&times; a mediana hor\u00e1ria fora de eventos conhecidos<\/td>\n<td>Sinalizar; manter se coincidir com rollover ou not\u00edcias, remover se for isolado<\/td>\n<\/tr>\n<tr>\n<td>Picos de pre\u00e7o<\/td>\n<td>Um salto do pre\u00e7o m\u00e9dio de muitas vezes a volatilidade recente que se reverte em poucos ticks<\/td>\n<td>Remover picos isolados; nunca filtrar movimentos reais de not\u00edcias<\/td>\n<\/tr>\n<tr>\n<td>Lacunas<\/td>\n<td>Nenhum tick por mais de 60 segundos em hor\u00e1rios l\u00edquidos<\/td>\n<td>Mapear as lacunas; excluir esses per\u00edodos do teste ou marcar as opera\u00e7\u00f5es dentro deles<\/td>\n<\/tr>\n<tr>\n<td>Cota\u00e7\u00f5es paradas<\/td>\n<td>O mesmo bid\/ask repetido por minutos enquanto outras fontes se movem<\/td>\n<td>Tratar como lacuna<\/td>\n<\/tr>\n<tr>\n<td>Ticks de fim de semana e feriados<\/td>\n<td>Cota\u00e7\u00f5es entre o fechamento de sexta-feira e a abertura de domingo<\/td>\n<td>Remover, ou verificar o fuso hor\u00e1rio se uma hora inteira aparecer ali<\/td>\n<\/tr>\n<tr>\n<td>Densidade de ticks<\/td>\n<td>Ticks por hora comparados com a mesma hora em outros dias<\/td>\n<td>Uma queda repentina sugere limita\u00e7\u00e3o de taxa ou um problema de grava\u00e7\u00e3o<\/td>\n<\/tr>\n<tr>\n<td>Escala de pre\u00e7o e d\u00edgitos<\/td>\n<td>Cota\u00e7\u00f5es de 4 vs 5 d\u00edgitos, pares com JPY com 3 casas decimais<\/td>\n<td>Normalizar antes de mesclar fontes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Uma regra simples e robusta para picos: calcule o desvio absoluto mediano (MAD) m\u00f3vel das varia\u00e7\u00f5es do pre\u00e7o m\u00e9dio nos \u00faltimos 200 ticks; sinalize qualquer tick cuja varia\u00e7\u00e3o exceda cerca de 15&times; o MAD <em>e<\/em> seja revertida em grande parte nos tr\u00eas ticks seguintes. Um movimento real de not\u00edcia n\u00e3o se reverte em tr\u00eas ticks; uma cota\u00e7\u00e3o errada normalmente sim. Ajuste os limites para cada par e examine o que voc\u00ea remove, porque um filtro agressivo demais apaga exatamente os movimentos de que uma estrat\u00e9gia de arbitragem ou de not\u00edcias precisa.<\/p>\n<div class=\"ftd-box\"><strong>Mantenha um registro.<\/strong> Anote quantas linhas cada verifica\u00e7\u00e3o removeu ou sinalizou por m\u00eas. Se um m\u00eas perde 8% dos seus ticks enquanto os outros perdem 0.1%, esse m\u00eas tem um problema de fonte, e qualquer resultado de estrat\u00e9gia que dependa dele \u00e9 suspeito.<\/div>\n<h2 id=\"ftd-steps\">Passo a passo: preparando dados de tick para um backtest<\/h2>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/tick-data-cleaning-pipeline-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"Pipeline de limpeza de dados de tick do forex, dos arquivos brutos a um conjunto de dados validado para backtest\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Dos arquivos brutos a um conjunto de dados confi\u00e1vel: cada etapa corrige um problema conhecido ou o registra.<\/figcaption><\/figure>\n<div class=\"ftd-steps\">\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">1<\/span><\/p>\n<div><strong>Escolha a fonte de acordo com a pergunta.<\/strong> Hist\u00f3rico gratuito longo para pesquisa e robustez; os ticks registrados da sua corretora para a verifica\u00e7\u00e3o final; tamb\u00e9m um feed de refer\u00eancia se a estrat\u00e9gia comparar feeds.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">2<\/span><\/p>\n<div><strong>Normalize os timestamps.<\/strong> Converta tudo para UTC com resolu\u00e7\u00e3o de milissegundos, aplique a regra correta de hor\u00e1rio de ver\u00e3o da fonte e mantenha a ordem original como crit\u00e9rio de desempate.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">3<\/span><\/p>\n<div><strong>Normalize os pre\u00e7os.<\/strong> Mesmo n\u00famero de d\u00edgitos por s\u00edmbolo, bid e ask em colunas separadas, nada de dados apenas com pre\u00e7o m\u00e9dio se a estrat\u00e9gia paga o spread.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">4<\/span><\/p>\n<div><strong>Remova erros \u00f3bvios.<\/strong> Duplicatas exatas, spreads cruzados ou zero, ticks de fim de semana, picos isolados que se revertem.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">5<\/span><\/p>\n<div><strong>Mapeie lacunas e per\u00edodos parados.<\/strong> Armazene-os como uma lista de intervalos exclu\u00eddos em vez de preench\u00ea-los com pre\u00e7os inventados.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">6<\/span><\/p>\n<div><strong>Compare com uma segunda fonte.<\/strong> Compare pre\u00e7os m\u00e9dios e spreads por hora com outro conjunto de dados; diferen\u00e7as grandes e persistentes indicam um problema de escala, de fuso hor\u00e1rio ou de feed.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">7<\/span><\/p>\n<div><strong>Divida o per\u00edodo.<\/strong> Reserve uma janela fora da amostra (por exemplo, os \u00faltimos 25%) e um cronograma walk-forward antes de otimizar qualquer coisa.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">8<\/span><\/p>\n<div><strong>Defina as premissas de execu\u00e7\u00e3o.<\/strong> Spread vari\u00e1vel a partir dos ticks, seu tempo de execu\u00e7\u00e3o real em milissegundos, comiss\u00e3o por lote. Depois rode o teste.<\/div>\n<\/div>\n<\/div>\n<h2 id=\"ftd-spread\">Spread vari\u00e1vel: o custo que um spread fixo esconde<\/h2>\n<p>Muitos testes usam um \u00fanico valor de spread, por exemplo 0.8 pips para EUR\/USD. Os spreads reais mudam o dia todo: estreitos na sobreposi\u00e7\u00e3o de Londres e Nova York, mais largos na sess\u00e3o asi\u00e1tica, com v\u00e1rios pips de largura por alguns minutos em torno do rollover di\u00e1rio e de grandes divulga\u00e7\u00f5es. As causas s\u00e3o explicadas em nosso guia sobre <a href=\"https:\/\/bjftradinggroup.com\/forex-spread-widening\/\">por que os spreads do forex se alargam<\/a>.<\/p>\n<p>Um spread fixo est\u00e1 errado de forma sistem\u00e1tica, porque as estrat\u00e9gias n\u00e3o operam em hor\u00e1rios aleat\u00f3rios. Uma estrat\u00e9gia de rompimento tende a disparar quando a volatilidade sobe, que \u00e9 exatamente quando os spreads se alargam. Uma estrat\u00e9gia de revers\u00e3o \u00e0 m\u00e9dia que opera a calma sess\u00e3o asi\u00e1tica encontra spreads acima da m\u00e9dia di\u00e1ria. Com ticks bid\/ask registrados, cada opera\u00e7\u00e3o paga o spread que realmente estava cotado naquele momento.<\/p>\n<p><strong>Exemplo pr\u00e1tico (n\u00fameros ilustrativos).<\/strong> Uma estrat\u00e9gia de scalping faz 400 opera\u00e7\u00f5es completas por m\u00eas em EUR\/USD com 1 lote padr\u00e3o (cerca de $10 por pip).<\/p>\n<div class=\"ftd-cards\">\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">0.8 pip<\/span><span class=\"ftd-card-l\">Spread fixo no teste<\/span><span class=\"ftd-card-n\">400 opera\u00e7\u00f5es &times; 0.8 &times; $10 = $3,200 por m\u00eas em custos de spread<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">1.1 pip<\/span><span class=\"ftd-card-l\">Spread m\u00e9dio realmente pago<\/span><span class=\"ftd-card-n\">a estrat\u00e9gia opera com mais frequ\u00eancia em minutos vol\u00e1teis: 400 &times; 1.1 &times; $10 = $4,400<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">$1,200<\/span><span class=\"ftd-card-l\">Custo mensal que o teste deixou de ver<\/span><span class=\"ftd-card-n\">por lote; se a vantagem bruta \u00e9 de 1.5 pips por opera\u00e7\u00e3o, um erro de 0.3 pip elimina 20% dela<\/span><\/div>\n<\/div>\n<p class=\"ftd-note\">O valor de 1.1 pip \u00e9 um exemplo para mostrar o mecanismo, n\u00e3o um valor medido de nenhuma corretora. Me\u00e7a nos dados de tick o spread m\u00e9dio que as opera\u00e7\u00f5es da sua estrat\u00e9gia realmente encontram.<\/p>\n<h2 id=\"ftd-impact\">Quanto a premissa sobre os dados muda o resultado<\/h2>\n<p>Para mostrar o efeito de cada premissa, o gr\u00e1fico abaixo usa uma estrat\u00e9gia hipot\u00e9tica de curto prazo e muda apenas os dados e o modelo de execu\u00e7\u00e3o. Os n\u00fameros s\u00e3o ilustrativos, constru\u00eddos para refletir a dire\u00e7\u00e3o e o tamanho aproximado dos efeitos que vemos rotineiramente ao passar de testes baseados em barras para testes baseados em ticks com execu\u00e7\u00e3o realista. Eles n\u00e3o s\u00e3o os resultados de uma estrat\u00e9gia espec\u00edfica.<\/p>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/data-assumption-impact-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"Resultado l\u00edquido m\u00e9dio por opera\u00e7\u00e3o de uma estrat\u00e9gia sob quatro premissas de dados e execu\u00e7\u00e3o, de barras interpoladas a ticks reais com tempo de execu\u00e7\u00e3o (ilustrativo)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Cada etapa acrescenta uma parte da realidade: ticks registrados, spread vari\u00e1vel e depois tempo de execu\u00e7\u00e3o. N\u00fameros ilustrativos.<\/figcaption><\/figure>\n<p>O que importa \u00e9 o padr\u00e3o. Cada premissa realista remove parte da vantagem, e a \u00faltima etapa, o tempo de execu\u00e7\u00e3o, muitas vezes remove a maior parte nas estrat\u00e9gias de curto prazo. Se uma estrat\u00e9gia sobrevive \u00e0s quatro etapas com resultado positivo e um n\u00famero sensato de opera\u00e7\u00f5es, ela merece um pequeno teste ao vivo. Se ela s\u00f3 parece boa na primeira coluna, a vantagem pertence ao modelo de dados, n\u00e3o ao mercado.<\/p>\n<h2 id=\"ftd-exec\">Ticks s\u00e3o necess\u00e1rios, mas n\u00e3o suficientes: tempo de execu\u00e7\u00e3o<\/h2>\n<p>Mesmo um conjunto de dados de tick perfeito produz um teste otimista se cada ordem for executada ao pre\u00e7o do tick que a disparou. Ao vivo, sempre h\u00e1 um atraso entre a decis\u00e3o e a execu\u00e7\u00e3o: sua plataforma, a rede, o processamento da corretora. Durante esse atraso o mercado segue em frente. Em um dia calmo o efeito \u00e9 uma fra\u00e7\u00e3o de pip; em um movimento r\u00e1pido \u00e9 a diferen\u00e7a entre uma opera\u00e7\u00e3o vencedora e uma perdedora.<\/p>\n<p>O modelo correto avan\u00e7a pelo fluxo de ticks de acordo com a parte de requisi\u00e7\u00e3o do seu tempo de execu\u00e7\u00e3o e executa no bid ou ask que estava cotado nesse momento posterior. Isso produz slippage realista, positivo e negativo, sem adivinhar um n\u00famero de slippage. Explicamos esse modelo, os quatro componentes da lat\u00eancia e um exemplo pr\u00e1tico no artigo sobre <a href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage-backtest-execution-time-gap\/\">a lacuna do tempo de execu\u00e7\u00e3o em backtests de arbitragem de lat\u00eancia<\/a>, e como medir o slippage em execu\u00e7\u00f5es reais em <a href=\"https:\/\/bjftradinggroup.com\/forex-slippage-explained\/\">slippage no forex explicado<\/a>.<\/p>\n<p>Essa tamb\u00e9m \u00e9 a resposta mais comum \u00e0 pergunta &#8220;por que meus resultados ao vivo diferem do backtest?&#8221; Os dados estavam corretos; o modelo de execu\u00e7\u00e3o sup\u00f4s atraso zero. Uma boa regra pr\u00e1tica \u00e9 testar com o seu tempo de execu\u00e7\u00e3o medido e novamente com 1.5 a 2 vezes esse valor. Uma estrat\u00e9gia que desmorona no valor mais alto \u00e9 fr\u00e1gil.<\/p>\n<h2 id=\"ftd-storage\">Armazenamento, formatos e manuseio<\/h2>\n<p>Dados de tick s\u00e3o volumosos, e o formato escolhido afeta tanto o espa\u00e7o em disco quanto a velocidade com que um otimizador consegue reproduzi-los. Uma estimativa aproximada para um par principal ativo:<\/p>\n<div class=\"ftd-cards\">\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~39 M<\/span><span class=\"ftd-card-l\">Ticks por ano<\/span><span class=\"ftd-card-n\">com cerca de 150,000 cota\u00e7\u00f5es por dia de negocia\u00e7\u00e3o &times; 260 dias (feeds movimentados enviam mais, feeds limitados enviam menos)<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~2 GB<\/span><span class=\"ftd-card-l\">Como texto CSV<\/span><span class=\"ftd-card-n\">cerca de 50 bytes por linha com uma string completa de data e hora, bid e ask<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~0.6 GB<\/span><span class=\"ftd-card-l\">Como bin\u00e1rio compacto<\/span><span class=\"ftd-card-n\">timestamp de 8 bytes + dois pre\u00e7os inteiros de 4 bytes em pontos = 16 bytes por tick, antes da compress\u00e3o<\/span><\/div>\n<\/div>\n<p class=\"ftd-note\">Estimativas de ordem de grandeza. Formatos colunares comprimidos normalmente reduzem os arquivos de ticks v\u00e1rias vezes mais.<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Armazene pre\u00e7os como inteiros em pontos<\/strong> (1.08512 &rarr; 108512). Isso evita arredondamentos de ponto flutuante ao comparar pre\u00e7os e reduz o tamanho pela metade.<\/li>\n<li><strong>Particione por s\u00edmbolo e por dia.<\/strong> Um arquivo por s\u00edmbolo por dia torna simples as verifica\u00e7\u00f5es de lacunas, os recarregamentos parciais e a otimiza\u00e7\u00e3o em paralelo.<\/li>\n<li><strong>Mantenha os arquivos brutos intactos.<\/strong> Fa\u00e7a a limpeza em um conjunto de dados separado e guarde o registro da limpeza, para poder reproduzir qualquer resultado.<\/li>\n<li><strong>Use CSV para interc\u00e2mbio.<\/strong> Um formato simples com timestamp, bid e ask \u00e9 o que a maioria das ferramentas importa. O SharpTrader Optimizer, por exemplo, aceita seus pr\u00f3prios dados de tick em CSV com timestamp, bid e ask.<\/li>\n<\/ul>\n<h2 id=\"ftd-pitfalls\">Armadilhas comuns<\/h2>\n<ul class=\"ftd-checks\">\n<li><strong>Chamar barras interpoladas de &#8220;dados de tick&#8221;.<\/strong> Verifique se a sua ferramenta reproduz cota\u00e7\u00f5es registradas ou as gera a partir de barras.<\/li>\n<li><strong>Testar com pre\u00e7os m\u00e9dios.<\/strong> Um conjunto de dados apenas com pre\u00e7o m\u00e9dio ignora totalmente o spread; os custos precisam vir do bid e do ask.<\/li>\n<li><strong>Misturar fontes em um \u00fanico teste.<\/strong> Juntar arquivos de dois fornecedores cria saltos artificiais na emenda e regimes de spread diferentes em um mesmo per\u00edodo.<\/li>\n<li><strong>Ignorar o fuso hor\u00e1rio e o hor\u00e1rio de ver\u00e3o.<\/strong> Os filtros de sess\u00e3o e a l\u00f3gica do rollover di\u00e1rio se deslocam silenciosamente.<\/li>\n<li><strong>Preencher lacunas com pre\u00e7os inventados.<\/strong> Uma estrat\u00e9gia pode &#8220;operar&#8221; durante uma interrup\u00e7\u00e3o que nunca teve cota\u00e7\u00f5es reais. Exclua as lacunas em vez disso.<\/li>\n<li><strong>Limpeza excessiva.<\/strong> Apagar todo movimento grande remove os picos de not\u00edcias e os saltos que algumas estrat\u00e9gias s\u00e3o feitas para operar.<\/li>\n<li><strong>Execu\u00e7\u00f5es com lat\u00eancia zero.<\/strong> Execu\u00e7\u00f5es perfeitas no tick do sinal fazem quase qualquer estrat\u00e9gia de curto prazo parecer lucrativa.<\/li>\n<li><strong>Otimizar com todos os dados.<\/strong> Sem um per\u00edodo fora da amostra e verifica\u00e7\u00f5es walk-forward, uma grade grande de par\u00e2metros encontrar\u00e1 uma curva que se ajusta ao passado e a nada mais.<\/li>\n<\/ul>\n<h2 id=\"ftd-tools\">Dados de tick no SharpTrader Optimizer<\/h2>\n<p>Constru\u00edmos o <a href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-optimizer\/\">SharpTrader Optimizer<\/a> em torno dos pontos deste guia. Ele reproduz ticks bid\/ask hist\u00f3ricos reais em vez de barras interpoladas, obt\u00e9m o spread de cada tick e permite definir o tempo de execu\u00e7\u00e3o das suas ordens em milissegundos, para que cada execu\u00e7\u00e3o venha do fluxo de ticks ap\u00f3s esse atraso. Voc\u00ea pode usar o hist\u00f3rico de ticks do BJF Feed registrado nos n\u00f3s de Londres, T\u00f3quio e Nova York, ou importar os ticks da sua pr\u00f3pria corretora em CSV. As grades de par\u00e2metros rodam em todos os n\u00facleos da CPU, o que faz diferen\u00e7a quando um ano de um \u00fanico par equivale a dezenas de milh\u00f5es de ticks.<\/p>\n<p>Se voc\u00ea j\u00e1 tem uma estrat\u00e9gia pr\u00f3pria, o artigo sobre <a href=\"https:\/\/bjftradinggroup.com\/optimize-your-own-trading-bot-sharptrader\/\">testar o seu pr\u00f3prio rob\u00f4 no SharpTrader<\/a> mostra o fluxo de trabalho completo, do c\u00f3digo \u00e0 otimiza\u00e7\u00e3o em n\u00edvel de tick.<\/p>\n<div class=\"ftd-cta\">\n<h3>Teste com os ticks que sua estrat\u00e9gia realmente vai encontrar<\/h3>\n<p>Ticks bid\/ask reais, spread vari\u00e1vel em cada cota\u00e7\u00e3o e o tempo de execu\u00e7\u00e3o da sua corretora em milissegundos: os tr\u00eas dados de entrada que decidem se uma estrat\u00e9gia de curto prazo sobrevive \u00e0 negocia\u00e7\u00e3o ao vivo.<\/p>\n<p><a class=\"ftd-btn\" href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-optimizer\/\">Conhe\u00e7a o SharpTrader Optimizer<\/a><a class=\"ftd-btn ftd-btn-alt\" href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage-backtest-execution-time-gap\/\">Leia: a lacuna do tempo de execu\u00e7\u00e3o<\/a>\n<\/div>\n<div class=\"bjf-ff-wrap\"><div class=\"bjf-ff\" id=\"bjfff7988\" style=\"max-width:640px;margin:28px auto;padding:24px 26px;border:1px solid #d9e1ec;border-radius:12px;background:#f6f8fb\">\n<p style=\"margin:0 0 6px;font-size:20px;font-weight:700;color:#0f1b2d\">Scanner de arbitragem gr\u00e1tis + curso curto por e-mail<\/p>\n<p style=\"margin:0 0 16px;font-size:15px;line-height:1.55;color:#44505f\">Receba o link do scanner gr\u00e1tis e alguns e-mails curtos e pr\u00e1ticos do Boris: o que uma diferen\u00e7a de pre\u00e7o realmente significa depois dos custos, como testar uma estrat\u00e9gia antes de arriscar dinheiro real e quais ferramentas combinam com o seu mercado. Sem exageros. Os e-mails s\u00e3o enviados em ingl\u00eas.<\/p>\n<form method=\"post\" novalidate>\n<input type=\"hidden\" name=\"market\" value=\"forex\"><input type=\"hidden\" name=\"source\" value=\"blog\"><input type=\"hidden\" name=\"ts\" value=\"1793488157\"><input type=\"hidden\" name=\"ref\" value=\"forex-tick-data-backtesting\"><input type=\"hidden\" name=\"lang\" value=\"pt\"><div style=\"position:absolute;left:-9999px\" aria-hidden=\"true\"><label>Website<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label><\/div>\n<div style=\"display:flex;flex-wrap:wrap;gap:10px\">\n<input type=\"text\" name=\"first_name\" placeholder=\"Nome\" aria-label=\"Nome\" autocomplete=\"given-name\" style=\"flex:1 1 160px;min-width:0;padding:11px 12px;border:1px solid #c9d3df;border-radius:8px;font-size:15px\">\n<input type=\"email\" name=\"email\" required placeholder=\"E-mail\" aria-label=\"E-mail\" autocomplete=\"email\" style=\"flex:2 1 220px;min-width:0;padding:11px 12px;border:1px solid #c9d3df;border-radius:8px;font-size:15px\">\n<button type=\"submit\" style=\"flex:1 1 160px;padding:11px 16px;border:0;border-radius:8px;background:#c9962a;color:#0f1b2d;font-weight:700;font-size:15px;cursor:pointer\">Quero receber<\/button>\n<\/div>\n<p style=\"margin:10px 0 0;font-size:12px;line-height:1.5;color:#6b7785\">Ao enviar, voc\u00ea concorda em receber e-mails da BJF Trading Group sobre ferramentas de arbitragem e software de trading. Cancele a inscri\u00e7\u00e3o quando quiser. Veja nossa <a href=\"https:\/\/bjftradinggroup.com\/pt\/privacy-policy\/\">Pol\u00edtica de Privacidade<\/a>.<\/p>\n<p class=\"bjf-ff-msg\" role=\"status\" style=\"margin:10px 0 0;font-size:15px;font-weight:600\"><\/p>\n<\/form><\/div>\n<script>(function(){var M={\"invalid\":\"Informe um e-mail v\\u00e1lido.\",\"sending\":\"Enviando\\u2026\",\"done\":\"Pronto! Confira sua caixa de entrada em alguns minutos.\",\"err\":\"Algo deu errado, tente novamente.\",\"net\":\"Erro de rede, tente novamente.\",\"srv\":false};var b=document.getElementById('bjfff7988');if(!b)return;var f=b.querySelector('form'),m=b.querySelector('.bjf-ff-msg');f.addEventListener('submit',function(e){e.preventDefault();var d=new FormData(f);if(!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(d.get('email')||'')){m.style.color='#b42318';m.textContent=M.invalid;return;}var btn=f.querySelector('button');btn.disabled=true;m.style.color='#44505f';m.textContent=M.sending;fetch('\/wp-json\/bjf\/v1\/subscribe',{method:'POST',body:d}).then(function(r){return r.json()}).then(function(j){if(j&&j.ok){m.style.color='#1a7f4b';m.textContent=M.done;f.querySelectorAll('input,button').forEach(function(x){x.disabled=true});if(window.gtag)gtag('event','generate_lead',{form_source:d.get('source')});if(window.fbq)fbq('track','Lead',{content_name:d.get('source')});}else{btn.disabled=false;m.style.color='#b42318';m.textContent=(M.srv&&j&&j.msg)||M.err;}}).catch(function(){btn.disabled=false;m.style.color='#b42318';m.textContent=M.net;});});})();<\/script>\n<\/div>\n<h2 id=\"ftd-faq\">Perguntas frequentes<\/h2>\n<div class=\"ftd-faq\">\n<h3>O que s\u00e3o dados de tick do forex?<\/h3>\n<p>Dados de tick do forex s\u00e3o o registro de cada mudan\u00e7a de cota\u00e7\u00e3o em um par de moedas, com um timestamp, o pre\u00e7o bid, o pre\u00e7o ask e, \u00e0s vezes, o volume cotado. Eles preservam a ordem exata, o momento e o spread das atualiza\u00e7\u00f5es de pre\u00e7o, que os dados de barras perdem.<\/p>\n<h3>Onde posso obter dados de tick do forex gratuitos?<\/h3>\n<p>Algumas corretoras ECN e agregadores publicam gratuitamente ticks bid\/ask hist\u00f3ricos dos principais pares, e muitas corretoras permitem baixar o pr\u00f3prio hist\u00f3rico. Arquivos gratuitos s\u00e3o \u00fateis para pesquisa, mas mostram os pre\u00e7os de um \u00fanico local, ent\u00e3o confirme o resultado final com os ticks registrados da sua pr\u00f3pria corretora.<\/p>\n<h3>Dados de tick s\u00e3o melhores do que dados de 1 minuto para backtesting?<\/h3>\n<p>Para estrat\u00e9gias com alvos e stops a poucos pips, scalping, opera\u00e7\u00f5es com not\u00edcias e arbitragem, sim: barras de um minuto escondem a ordem da m\u00e1xima e da m\u00ednima, os saltos de pre\u00e7o e o spread real. Para estrat\u00e9gias de swing com stops amplos, dados limpos de um minuto com um spread realista costumam ser suficientes.<\/p>\n<h3>Por que obtenho resultados de backtest diferentes com duas fontes de dados?<\/h3>\n<p>O forex \u00e0 vista n\u00e3o tem uma fita central, ent\u00e3o cada fonte \u00e9 a vis\u00e3o de um local diferente. Spreads, frequ\u00eancia de cota\u00e7\u00f5es, fusos hor\u00e1rios, tratamento do hor\u00e1rio de ver\u00e3o e regras de limpeza, tudo difere. Compare os pre\u00e7os e spreads por hora entre os dois conjuntos de dados para encontrar a causa e confie na fonte mais pr\u00f3xima do seu local de execu\u00e7\u00e3o.<\/p>\n<h3>Quanto espa\u00e7o de armazenamento um ano de dados de tick do forex exige?<\/h3>\n<p>Para um par principal ativo, aproximadamente dezenas de milh\u00f5es de ticks por ano: cerca de 2 GB como texto CSV ou em torno de 0.6 GB em um formato bin\u00e1rio compacto antes da compress\u00e3o. V\u00e1rios pares ao longo de v\u00e1rios anos chegam rapidamente a dezenas de gigabytes.<\/p>\n<h3>Por que meu backtest com dados de tick mostra execu\u00e7\u00f5es perfeitas?<\/h3>\n<p>Porque o teste executa cada ordem no tick que gerou o sinal. Ordens reais levam tempo para chegar \u00e0 corretora, e o pre\u00e7o se move nesse intervalo. Modele o tempo de execu\u00e7\u00e3o avan\u00e7ando no fluxo de ticks e executando no bid ou ask posterior, e teste com 1.5 a 2 vezes o atraso que voc\u00ea mediu.<\/p>\n<h3>Preciso de bid e ask, ou o pre\u00e7o m\u00e9dio \u00e9 suficiente?<\/h3>\n<p>Voc\u00ea precisa dos dois. Compras s\u00e3o executadas no ask e vendas no bid, ent\u00e3o o spread \u00e9 um custo real em cada opera\u00e7\u00e3o. Um conjunto de dados apenas com pre\u00e7o m\u00e9dio remove esse custo e faz as estrat\u00e9gias de curto prazo parecerem melhores do que s\u00e3o.<\/p>\n<\/div>\n<p class=\"ftd-note\">Este artigo tem car\u00e1ter educativo e n\u00e3o constitui aconselhamento financeiro. Exemplos, gr\u00e1ficos e n\u00fameros marcados como ilustrativos n\u00e3o s\u00e3o medi\u00e7\u00f5es de nenhuma corretora ou estrat\u00e9gia espec\u00edfica; fontes de dados, conven\u00e7\u00f5es e custos diferem entre fornecedores e mudam com o tempo.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"headline\": \"Dados de tick do forex para backtesting: fontes, verifica\u00e7\u00f5es de qualidade e armadilhas\",\n      \"description\": \"De onde v\u00eam os dados de tick do forex, por que dois conjuntos de dados nunca coincidem, verifica\u00e7\u00f5es de qualidade antes de confiar em um backtest, fusos hor\u00e1rios, spread vari\u00e1vel e tempo de execu\u00e7\u00e3o.\",\n      \"image\": \"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\n      \"author\": {\n        \"@type\": \"Organization\",\n        \"name\": \"BJF Trading Group\",\n        \"url\": \"https:\/\/bjftradinggroup.com\/\"\n      },\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"BJF Trading Group\",\n        \"url\": \"https:\/\/bjftradinggroup.com\/\"\n      },\n      \"datePublished\": \"2026-10-31\",\n      \"dateModified\": \"2026-10-31\",\n      \"mainEntityOfPage\": \"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/\"\n    },\n    {\n      \"@type\": \"HowTo\",\n      \"name\": \"Como preparar dados de tick do forex para um backtest\",\n      \"step\": [\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 1,\n          \"name\": \"Escolha a fonte de acordo com a pergunta\",\n          \"text\": \"Escolha a fonte de acordo com a pergunta. Hist\u00f3rico gratuito longo para pesquisa e robustez; os ticks registrados da sua corretora para a verifica\u00e7\u00e3o final; tamb\u00e9m um feed de refer\u00eancia se a estrat\u00e9gia comparar feeds.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 2,\n          \"name\": \"Normalize os timestamps\",\n          \"text\": \"Normalize os timestamps. Converta tudo para UTC com resolu\u00e7\u00e3o de milissegundos, aplique a regra correta de hor\u00e1rio de ver\u00e3o da fonte e mantenha a ordem original como crit\u00e9rio de desempate.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 3,\n          \"name\": \"Normalize os pre\u00e7os\",\n          \"text\": \"Normalize os pre\u00e7os. Mesmo n\u00famero de d\u00edgitos por s\u00edmbolo, bid e ask em colunas separadas, nada de dados apenas com pre\u00e7o m\u00e9dio se a estrat\u00e9gia paga o spread.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 4,\n          \"name\": \"Remova erros \u00f3bvios\",\n          \"text\": \"Remova erros \u00f3bvios. Duplicatas exatas, spreads cruzados ou zero, ticks de fim de semana, picos isolados que se revertem.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 5,\n          \"name\": \"Mapeie lacunas e per\u00edodos parados\",\n          \"text\": \"Mapeie lacunas e per\u00edodos parados. Armazene-os como uma lista de intervalos exclu\u00eddos em vez de preench\u00ea-los com pre\u00e7os inventados.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 6,\n          \"name\": \"Compare com uma segunda fonte\",\n          \"text\": \"Compare com uma segunda fonte. Compare pre\u00e7os m\u00e9dios e spreads por hora com outro conjunto de dados; diferen\u00e7as grandes e persistentes indicam um problema de escala, de fuso hor\u00e1rio ou de feed.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 7,\n          \"name\": \"Divida o per\u00edodo\",\n          \"text\": \"Divida o per\u00edodo. Reserve uma janela fora da amostra (por exemplo, os \u00faltimos 25%) e um cronograma walk-forward antes de otimizar qualquer coisa.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 8,\n          \"name\": \"Defina as premissas de execu\u00e7\u00e3o\",\n          \"text\": \"Defina as premissas de execu\u00e7\u00e3o. Spread vari\u00e1vel a partir dos ticks, seu tempo de execu\u00e7\u00e3o real em milissegundos, comiss\u00e3o por lote. Depois rode o teste.\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"O que s\u00e3o dados de tick do forex?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Dados de tick do forex s\u00e3o o registro de cada mudan\u00e7a de cota\u00e7\u00e3o em um par de moedas, com um timestamp, o pre\u00e7o bid, o pre\u00e7o ask e, \u00e0s vezes, o volume cotado. Eles preservam a ordem exata, o momento e o spread das atualiza\u00e7\u00f5es de pre\u00e7o, que os dados de barras perdem.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Onde posso obter dados de tick do forex gratuitos?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Algumas corretoras ECN e agregadores publicam gratuitamente ticks bid\/ask hist\u00f3ricos dos principais pares, e muitas corretoras permitem baixar o pr\u00f3prio hist\u00f3rico. Arquivos gratuitos s\u00e3o \u00fateis para pesquisa, mas mostram os pre\u00e7os de um \u00fanico local, ent\u00e3o confirme o resultado final com os ticks registrados da sua pr\u00f3pria corretora.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Dados de tick s\u00e3o melhores do que dados de 1 minuto para backtesting?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Para estrat\u00e9gias com alvos e stops a poucos pips, scalping, opera\u00e7\u00f5es com not\u00edcias e arbitragem, sim: barras de um minuto escondem a ordem da m\u00e1xima e da m\u00ednima, os saltos de pre\u00e7o e o spread real. Para estrat\u00e9gias de swing com stops amplos, dados limpos de um minuto com um spread realista costumam ser suficientes.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Por que obtenho resultados de backtest diferentes com duas fontes de dados?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"O forex \u00e0 vista n\u00e3o tem uma fita central, ent\u00e3o cada fonte \u00e9 a vis\u00e3o de um local diferente. Spreads, frequ\u00eancia de cota\u00e7\u00f5es, fusos hor\u00e1rios, tratamento do hor\u00e1rio de ver\u00e3o e regras de limpeza, tudo difere. Compare os pre\u00e7os e spreads por hora entre os dois conjuntos de dados para encontrar a causa e confie na fonte mais pr\u00f3xima do seu local de execu\u00e7\u00e3o.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Quanto espa\u00e7o de armazenamento um ano de dados de tick do forex exige?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Para um par principal ativo, aproximadamente dezenas de milh\u00f5es de ticks por ano: cerca de 2 GB como texto CSV ou em torno de 0.6 GB em um formato bin\u00e1rio compacto antes da compress\u00e3o. V\u00e1rios pares ao longo de v\u00e1rios anos chegam rapidamente a dezenas de gigabytes.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Por que meu backtest com dados de tick mostra execu\u00e7\u00f5es perfeitas?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Porque o teste executa cada ordem no tick que gerou o sinal. Ordens reais levam tempo para chegar \u00e0 corretora, e o pre\u00e7o se move nesse intervalo. Modele o tempo de execu\u00e7\u00e3o avan\u00e7ando no fluxo de ticks e executando no bid ou ask posterior, e teste com 1.5 a 2 vezes o atraso que voc\u00ea mediu.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Preciso de bid e ask, ou o pre\u00e7o m\u00e9dio \u00e9 suficiente?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Voc\u00ea precisa dos dois. Compras s\u00e3o executadas no ask e vendas no bid, ent\u00e3o o spread \u00e9 um custo real em cada opera\u00e7\u00e3o. Um conjunto de dados apenas com pre\u00e7o m\u00e9dio remove esse custo e faz as estrat\u00e9gias de curto prazo parecerem melhores do que s\u00e3o.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n<\/script>\n<\/div>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>De onde v\u00eam os dados de tick do forex, por que dois conjuntos de dados do mesmo par nunca coincidem e como verificar e limpar os ticks antes de confiar em um backtest: barras interpoladas vs ticks registrados, feeds da corretora vs feeds de refer\u00eancia, fusos hor\u00e1rios e hor\u00e1rio de ver\u00e3o, verifica\u00e7\u00f5es de qualidade, spread vari\u00e1vel, tempo de execu\u00e7\u00e3o e armazenamento.<\/p>\n","protected":false},"author":1,"featured_media":15734,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[53,221],"tags":[],"class_list":["post-15733","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arbitrage-software","category-forex-trading"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.7 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Dados de tick do forex para backtesting: fontes e qualidade<\/title>\n<meta name=\"description\" content=\"De onde v\u00eam os dados de tick do forex, por que diferem e quais verifica\u00e7\u00f5es, ajustes de fuso hor\u00e1rio e spread um backtest realista exige.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bjftradinggroup.com\/pt\/forex-tick-data-backtesting\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dados de tick do forex para backtesting: fontes e qualidade\" \/>\n<meta property=\"og:description\" content=\"De onde v\u00eam os dados de tick do forex, por que diferem e quais verifica\u00e7\u00f5es, ajustes de fuso hor\u00e1rio e spread um backtest realista exige.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bjftradinggroup.com\/pt\/forex-tick-data-backtesting\/\" \/>\n<meta property=\"og:site_name\" content=\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/bjftradinggroup\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-31T20:42:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Boris Fesenko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Boris Fesenko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\"},\"author\":{\"name\":\"Boris Fesenko\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\"},\"headline\":\"Dados de tick do forex para backtesting: fontes, verifica\u00e7\u00f5es de qualidade e armadilhas\",\"datePublished\":\"2026-10-31T20:42:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\"},\"wordCount\":45133,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"articleSection\":[\"Arbitrage Software\",\"Forex trading\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#respond\"]}],\"name\":\"Dados de tick do forex para backtesting: fontes e qualidade\",\"description\":\"De onde v\u00eam os dados de tick do forex, por que diferem e quais verifica\u00e7\u00f5es, ajustes de fuso hor\u00e1rio e spread um backtest realista exige.\",\"publisher\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\",\"name\":\"Dados de tick do forex para backtesting: fontes e qualidade\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"datePublished\":\"2026-10-31T20:42:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\"},\"description\":\"De onde v\u00eam os dados de tick do forex, por que diferem e quais verifica\u00e7\u00f5es, ajustes de fuso hor\u00e1rio e spread um backtest realista exige.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"contentUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"width\":1200,\"height\":630,\"caption\":\"Forex tick data for backtesting: bid and ask quote ticks\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bjftradinggroup.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Forex Tick Data for Backtesting: Sources, Quality Checks and Pitfalls\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"name\":\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\",\"description\":\"FX Software pioneer since 2000\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bjftradinggroup.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\",\"name\":\"Boris Fesenko\",\"pronouns\":\"He\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"caption\":\"Boris Fesenko\"},\"description\":\"Born in 1971 in Ukraine, I graduated from East Ukrainian State University and later completed postgraduate studies at the same university, where I also wrote my PhD dissertation. In 2006, I moved to Canada. I am the founder of BJF Trading Group and specialize in the development and implementation of advanced arbitrage trading systems for the Forex and cryptocurrency markets, as well as other trading solutions.\",\"sameAs\":[\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\",\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.instagram.com\\\/bjftradinggroup\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/bjftradinggroup\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCapi2ct0Iv7axHJ93wN_bsQ\"],\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/pt\\\/author\\\/boris\\\/\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\",\"name\":\"BJF Trading Group Inc.\",\"legalName\":\"BJF Trading Group Inc.\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/logo.png\",\"width\":512,\"height\":512},\"foundingDate\":\"2000\",\"founder\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\\\/#person\"},\"address\":{\"@type\":\"PostalAddress\",\"addressRegion\":\"Ontario\",\"addressCountry\":\"CA\"},\"contactPoint\":[{\"@type\":\"ContactPoint\",\"contactType\":\"customer support\",\"email\":\"support@bjftradinggroup.com\",\"availableLanguage\":[\"English\",\"German\",\"Japanese\",\"Korean\",\"Spanish\",\"Portuguese\",\"Arabic\",\"Indonesian\",\"Vietnamese\"]}],\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/twitter.com\\\/BjfGroup\",\"https:\\\/\\\/www.youtube.com\\\/@bjftradinggroup\",\"https:\\\/\\\/t.me\\\/bjftradinggroup\",\"https:\\\/\\\/instagram.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bjf-trading-group\\\/\"],\"knowsAbout\":[\"Forex arbitrage\",\"Cryptocurrency arbitrage\",\"Latency arbitrage\",\"News trading\",\"FIX API trading\",\"High-frequency trading\",\"Lock arbitrage\",\"Hedge arbitrage\",\"Pair trading\",\"Algorithmic trading software\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dados de tick do forex para backtesting: fontes e qualidade","description":"De onde v\u00eam os dados de tick do forex, por que diferem e quais verifica\u00e7\u00f5es, ajustes de fuso hor\u00e1rio e spread um backtest realista exige.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bjftradinggroup.com\/pt\/forex-tick-data-backtesting\/","og_locale":"pt_PT","og_type":"article","og_title":"Dados de tick do forex para backtesting: fontes e qualidade","og_description":"De onde v\u00eam os dados de tick do forex, por que diferem e quais verifica\u00e7\u00f5es, ajustes de fuso hor\u00e1rio e spread um backtest realista exige.","og_url":"https:\/\/bjftradinggroup.com\/pt\/forex-tick-data-backtesting\/","og_site_name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","article_author":"https:\/\/www.facebook.com\/bjftradinggroup","article_published_time":"2026-10-31T20:42:04+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","type":"image\/webp"}],"author":"Boris Fesenko","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Boris Fesenko","Tempo estimado de leitura":"19 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#article","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/"},"author":{"name":"Boris Fesenko","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9"},"headline":"Dados de tick do forex para backtesting: fontes, verifica\u00e7\u00f5es de qualidade e armadilhas","datePublished":"2026-10-31T20:42:04+00:00","mainEntityOfPage":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/"},"wordCount":45133,"commentCount":0,"image":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","articleSection":["Arbitrage Software","Forex trading"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#respond"]}],"name":"Dados de tick do forex para backtesting: fontes e qualidade","description":"De onde v\u00eam os dados de tick do forex, por que diferem e quais verifica\u00e7\u00f5es, ajustes de fuso hor\u00e1rio e spread um backtest realista exige.","publisher":{"@id":"https:\/\/bjftradinggroup.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/","url":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/","name":"Dados de tick do forex para backtesting: fontes e qualidade","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage"},"image":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","datePublished":"2026-10-31T20:42:04+00:00","author":{"@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9"},"description":"De onde v\u00eam os dados de tick do forex, por que diferem e quais verifica\u00e7\u00f5es, ajustes de fuso hor\u00e1rio e spread um backtest realista exige.","breadcrumb":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","contentUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","width":1200,"height":630,"caption":"Forex tick data for backtesting: bid and ask quote ticks"},{"@type":"BreadcrumbList","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bjftradinggroup.com\/"},{"@type":"ListItem","position":2,"name":"Forex Tick Data for Backtesting: Sources, Quality Checks and Pitfalls"}]},{"@type":"WebSite","@id":"https:\/\/bjftradinggroup.com\/#website","url":"https:\/\/bjftradinggroup.com\/","name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","description":"FX Software pioneer since 2000","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bjftradinggroup.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9","name":"Boris Fesenko","pronouns":"He","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","caption":"Boris Fesenko"},"description":"Born in 1971 in Ukraine, I graduated from East Ukrainian State University and later completed postgraduate studies at the same university, where I also wrote my PhD dissertation. In 2006, I moved to Canada. I am the founder of BJF Trading Group and specialize in the development and implementation of advanced arbitrage trading systems for the Forex and cryptocurrency markets, as well as other trading solutions.","sameAs":["https:\/\/bjftradinggroup.com\/about-boris-fesenko","https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/www.instagram.com\/bjftradinggroup\/","https:\/\/www.linkedin.com\/in\/bjftradinggroup\/","https:\/\/www.youtube.com\/channel\/UCapi2ct0Iv7axHJ93wN_bsQ"],"url":"https:\/\/bjftradinggroup.com\/pt\/author\/boris\/"},{"@type":"Organization","@id":"https:\/\/bjftradinggroup.com\/#organization","name":"BJF Trading Group Inc.","legalName":"BJF Trading Group Inc.","url":"https:\/\/bjftradinggroup.com\/","logo":{"@type":"ImageObject","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/logo.png","width":512,"height":512},"foundingDate":"2000","founder":{"@id":"https:\/\/bjftradinggroup.com\/about-boris-fesenko\/#person"},"address":{"@type":"PostalAddress","addressRegion":"Ontario","addressCountry":"CA"},"contactPoint":[{"@type":"ContactPoint","contactType":"customer support","email":"support@bjftradinggroup.com","availableLanguage":["English","German","Japanese","Korean","Spanish","Portuguese","Arabic","Indonesian","Vietnamese"]}],"sameAs":["https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/twitter.com\/BjfGroup","https:\/\/www.youtube.com\/@bjftradinggroup","https:\/\/t.me\/bjftradinggroup","https:\/\/instagram.com\/bjftradinggroup","https:\/\/www.linkedin.com\/company\/bjf-trading-group\/"],"knowsAbout":["Forex arbitrage","Cryptocurrency arbitrage","Latency arbitrage","News trading","FIX API trading","High-frequency trading","Lock arbitrage","Hedge arbitrage","Pair trading","Algorithmic trading software"]}]}},"_links":{"self":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/posts\/15733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/comments?post=15733"}],"version-history":[{"count":37,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/posts\/15733\/revisions"}],"predecessor-version":[{"id":15775,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/posts\/15733\/revisions\/15775"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/media\/15734"}],"wp:attachment":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/media?parent=15733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/categories?post=15733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/tags?post=15733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}