{"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\/it\/forex-tick-data-backtesting\/","title":{"rendered":"Dati tick forex per il backtest: fonti, controlli di qualit\u00e0 e insidie"},"content":{"rendered":"<p><\/p>\n<div class=\"ftd-page\">\n<div class=\"ftd-hero\">\n<span class=\"ftd-hero-tag\">BJF TRADING GROUP \u00b7 BACKTEST FOREX<\/span><\/p>\n<h2>Dati tick forex per il backtest: <span class=\"ftd-gold\">fonti, controlli di qualit\u00e0 e insidie<\/span><\/h2>\n<p class=\"ftd-hero-sub\">Un backtest pu\u00f2 essere onesto solo quanto i prezzi che gli fornisci. Per lo scalping, l\u2019arbitraggio e qualsiasi strategia che vive in pochi pip, le barre a un minuto non bastano: ti serve la sequenza reale delle quotazioni bid e ask. Questa guida spiega da dove provengono i dati tick forex, perch\u00e9 due dataset sulla stessa coppia non coincidono mai, quali controlli di qualit\u00e0 eseguire prima di fidarti di un risultato e come trasformare i tick grezzi in un test che somigli al trading reale.<\/p>\n<\/div>\n<div class=\"ftd-toc\">\n<strong>In questa guida<\/strong><\/p>\n<ol>\n<li><a href=\"#ftd-what\">Che cosa sono i dati tick forex<\/a><\/li>\n<li><a href=\"#ftd-bars\">Dati tick e dati a barre: cosa nasconde l\u2019interpolazione<\/a><\/li>\n<li><a href=\"#ftd-sources\">Da dove provengono i dati tick forex<\/a><\/li>\n<li><a href=\"#ftd-feeds\">Il feed del tuo broker e un feed di riferimento<\/a><\/li>\n<li><a href=\"#ftd-time\">Timestamp, fusi orari e ora legale<\/a><\/li>\n<li><a href=\"#ftd-quality\">Controlli di qualit\u00e0 prima di fidarti di un dataset<\/a><\/li>\n<li><a href=\"#ftd-steps\">Passo dopo passo: preparare i dati tick per un backtest<\/a><\/li>\n<li><a href=\"#ftd-spread\">Spread variabile: il costo che uno spread fisso nasconde<\/a><\/li>\n<li><a href=\"#ftd-impact\">Quanto l\u2019ipotesi sui dati cambia il risultato<\/a><\/li>\n<li><a href=\"#ftd-exec\">I tick sono necessari, non sufficienti: il tempo di esecuzione<\/a><\/li>\n<li><a href=\"#ftd-storage\">Archiviazione, formati e gestione<\/a><\/li>\n<li><a href=\"#ftd-pitfalls\">Errori comuni<\/a><\/li>\n<li><a href=\"#ftd-faq\">Domande frequenti<\/a><\/li>\n<\/ol>\n<\/div>\n<h2 id=\"ftd-what\">Che cosa sono i dati tick forex<\/h2>\n<p class=\"ftd-answer\"><strong>Risposta breve:<\/strong> i dati tick forex sono la registrazione di ogni variazione di quotazione di una coppia di valute: un timestamp (di solito in millisecondi), il prezzo bid, il prezzo ask e talvolta il volume quotato su ciascun lato. A differenza dei dati a barre, che conservano solo apertura, massimo, minimo e chiusura di ogni periodo, i dati tick preservano l\u2019ordine, la tempistica e lo spread di ogni aggiornamento di prezzo, ed \u00e8 proprio su questo che una strategia di breve termine opera davvero.<\/p>\n<p>Una riga tipica ha questo aspetto:<\/p>\n<div class=\"ftd-code\">2026.10.14 08:00:00.137, 1.08512, 1.08519, 1.50, 2.25<\/div>\n<p>Contiene l\u2019orario, il bid, l\u2019ask e il volume disponibile sul bid e sull\u2019ask (in milioni, se la fonte lo fornisce). Lo spread su questo tick \u00e8 di 0.7 pip. Un secondo dopo potrebbero esserci altre cinque righe, oppure nessuna.<\/p>\n<p>C\u2019\u00e8 una cosa da capire prima di tutto: <strong>il mercato forex spot non ha un registro centrale delle transazioni<\/strong>. Azioni e futures hanno una borsa che pubblica la sequenza ufficiale degli scambi. Il forex invece si negozia over the counter tra molte banche, ECN e broker, e ognuno di essi trasmette le proprie quotazioni. Quindi ogni dataset di tick forex \u00e8 la visione del mercato di una singola sede di negoziazione o di un singolo aggregatore. Due fonti possono differire di una frazione di pip e di decine di millisecondi nello stesso istante, ed entrambe possono essere corrette per la propria sede.<\/p>\n<p>Questo fatto guida gran parte della guida. \u201cQuesti dati tick sono accurati?\u201d \u00e8 la domanda sbagliata. Le domande utili sono: accurati <em>per quale sede di esecuzione<\/em>, registrati <em>come<\/em> e puliti <em>come<\/em>?<\/p>\n<h3>Tick di quotazione e tick di transazione<\/h3>\n<p>La maggior parte dei dataset forex \u00e8 composta da <strong>tick di quotazione<\/strong>: variazioni del miglior bid o del miglior ask. Non sono transazioni. Una quotazione pu\u00f2 cambiare dieci volte senza un solo scambio, e una grossa operazione pu\u00f2 non modificare affatto il top of book. Alcuni dati FX basati su futures o negoziati in borsa contengono <strong>tick di transazione<\/strong> (ultimo prezzo e quantit\u00e0), ma per il backtest del forex spot ti servono le quotazioni bid e ask, perch\u00e9 \u00e8 contro di esse che i tuoi ordini verranno eseguiti: acquisti all\u2019ask, vendite al bid.<\/p>\n<h2 id=\"ftd-bars\">Dati tick e dati a barre: cosa nasconde l\u2019interpolazione<\/h2>\n<p>Molti strumenti di backtest che dichiarano di testare \u201cogni tick\u201d in realt\u00e0 non usano affatto tick registrati. Prendono barre a un minuto e <strong>generano<\/strong> tick sintetici all\u2019interno di ciascuna barra, tipicamente un percorso regolare dall\u2019apertura al massimo e al minimo e poi alla chiusura. Il risultato sembra un dato tick, ma non contiene alcuna informazione che la barra non avesse gi\u00e0.<\/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=\"Tick forex registrati a confronto con tick sintetici interpolati da una barra OHLC a un minuto (illustrativo)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>All\u2019interno di un minuto: i tick bid registrati saltano, si fermano e invertono; i tick generati dall\u2019OHLC della barra seguono un percorso regolare e inventano l\u2019ordine di massimo e minimo. Dati illustrativi.<\/figcaption><\/figure>\n<p>Ecco perch\u00e9 \u00e8 importante. Prendi una barra EUR\/USD a un minuto: apertura 1.08500, massimo 1.08540, minimo 1.08480, chiusura 1.08520. \u00c8 aperta una posizione long con take-profit a 1.08530 e stop-loss a 1.08485. Entrambi i livelli sono all\u2019interno della barra. L\u2019operazione ha vinto o perso?<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Se \u00e8 arrivato prima il minimo<\/strong>, lo stop \u00e8 stato colpito a 1.08485 e l\u2019operazione ha perso 1.5 pip.<\/li>\n<li><strong>Se \u00e8 arrivato prima il massimo<\/strong>, il take-profit \u00e8 stato colpito a 1.08530 e l\u2019operazione ha guadagnato 3 pip.<\/li>\n<\/ul>\n<p>La barra non pu\u00f2 dirtelo. Il generatore sceglie un ordine (spesso in base a una regola fissa, come \u201cuna barra rialzista va prima al minimo\u201d) e il backtest riporta con sicurezza un risultato che in parte \u00e8 un lancio di moneta. Per una strategia swing con un target di 100 pip questo conta raramente. Per una strategia i cui target e stop si trovano a pochi pip dall\u2019ingresso, decide una larga parte delle operazioni.<\/p>\n<p>L\u2019interpolazione cancella anche tre cose che i tick registrati conservano:<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Di cosa ha bisogno la strategia<\/th>\n<th>Tick registrati<\/th>\n<th>Tick generati dalle barre<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Ordine di massimo e minimo all\u2019interno di un minuto<\/td>\n<td>Esatto<\/td>\n<td>Indovinato con una regola<\/td>\n<\/tr>\n<tr>\n<td>Salti di prezzo (un movimento di 1.5 pip in una sola quotazione)<\/td>\n<td>Presenti<\/td>\n<td>Smussati in piccoli passi<\/td>\n<\/tr>\n<tr>\n<td>Spread su ogni quotazione<\/td>\n<td>Presente (bid e ask)<\/td>\n<td>Di solito un unico spread fisso o un valore per barra<\/td>\n<\/tr>\n<tr>\n<td>Tempistica tra le quotazioni (secondi tranquilli e secondi intensi)<\/td>\n<td>Presente<\/td>\n<td>Distribuita uniformemente o inventata<\/td>\n<\/tr>\n<tr>\n<td>Attivit\u00e0 delle quotazioni attorno a notizie e rollover<\/td>\n<td>Presente<\/td>\n<td>Persa<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>I salti sono il punto critico per l\u2019<a href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage\/\">arbitraggio di latenza<\/a>: il segnale <em>\u00e8<\/em> il salto. Un percorso sintetico che va da 1.08500 a 1.08515 in quindici piccoli passi non produce alcun segnale, quindi una strategia che opererebbe dal vivo sembra morta nel test, oppure una strategia che compra sui ritracciamenti sembra migliore di quanto sia.<\/p>\n<h2 id=\"ftd-sources\">Da dove provengono i dati tick forex<\/h2>\n<p>Esistono cinque fonti realistiche. Differiscono per costo, profondit\u00e0 e, soprattutto, per quanto corrispondono ai prezzi su cui opererai realmente.<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Fonte<\/th>\n<th>Cosa ottieni<\/th>\n<th>Punti di forza<\/th>\n<th>Limiti<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>La tua registrazione<\/strong> (tramite l\u2019API del broker o una sessione FIX)<\/td>\n<td>Ogni quotazione ricevuta dal tuo conto, con il tuo orario locale di ricezione<\/td>\n<td>Corrispondenza esatta con la tua sede di esecuzione; controlli tu timestamp e formato<\/td>\n<td>Inizia solo quando inizi a registrare; richiede una macchina stabile; buchi se la connessione cade<\/td>\n<\/tr>\n<tr>\n<td><strong>Download dello storico del broker<\/strong><\/td>\n<td>Bid\/ask storici dal feed del broker stesso<\/td>\n<td>Vicino alla tua sede; spesso anni di storico<\/td>\n<td>Qualit\u00e0 variabile; alcuni broker diradano o filtrano i tick vecchi; i timestamp possono essere nell\u2019ora del server<\/td>\n<\/tr>\n<tr>\n<td><strong>Archivi pubblici gratuiti<\/strong> (offerti da alcuni broker ECN e aggregatori, ad es. Dukascopy, TrueFX, HistData.com)<\/td>\n<td>Tick bid\/ask per le coppie principali, spesso fino agli anni 2000<\/td>\n<td>Gratuiti, storico lungo, ottimi per ricerca e test di robustezza<\/td>\n<td>La visione di una sede o di un aggregatore, non la tua; spread e frequenza delle quotazioni differiscono dal tuo broker; verifica la convenzione di fuso orario di ciascuna fonte<\/td>\n<\/tr>\n<tr>\n<td><strong>Fornitori di dati commerciali<\/strong><\/td>\n<td>Storico tick multi-sede pulito e normalizzato<\/td>\n<td>Metodologia documentata, formati coerenti, supporto<\/td>\n<td>Costosi; comunque non \u00e8 il feed del tuo broker<\/td>\n<\/tr>\n<tr>\n<td><strong>Feed di riferimento \/ veloci<\/strong> (ad es. lo storico tick di BJF Feed dai nodi di Londra, Tokyo e New York)<\/td>\n<td>Un flusso di prezzi di riferimento veloce e indipendente<\/td>\n<td>Necessario per testare strategie che confrontano un feed lento con uno veloce<\/td>\n<td>Va abbinato ai tick del broker per i test di arbitraggio<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>La regola pratica: <strong>usa lo storico pulito pi\u00f9 lungo che riesci a ottenere per la ricerca e i dati pi\u00f9 vicini alla tua sede per la decisione finale.<\/strong> Una strategia che funziona solo su un archivio gratuito e fallisce sui tick registrati del tuo broker non funziona. Una strategia che regge su entrambi, con costi realistici, ha superato un test significativo.<\/p>\n<p>Se prevedi di far girare una strategia per mesi, inizia a registrare oggi i tick del tuo broker, anche prima che la strategia sia finita. Tre mesi del tuo feed valgono di pi\u00f9 per la verifica finale di dieci anni del feed di qualcun altro.<\/p>\n<h2 id=\"ftd-feeds\">Il feed del tuo broker e un feed di riferimento<\/h2>\n<p>Poich\u00e9 ogni sede trasmette le proprie quotazioni, lo stesso istante appare leggermente diverso da luoghi diversi. Le differenze hanno una struttura:<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Scarto di prezzo.<\/strong> I prezzi medi di solito coincidono entro una frazione di pip nelle ore liquide e si allontanano nei mercati sottili, al rollover e attorno alle notizie.<\/li>\n<li><strong>Scarto temporale.<\/strong> Un broker che aggrega i prezzi dai fornitori di liquidit\u00e0, applica il proprio markup ed esegue controlli di rischio mostrer\u00e0 spesso un movimento pi\u00f9 tardi rispetto a un feed di riferimento veloce. Il ritardo pu\u00f2 essere di pochi millisecondi o di diverse centinaia.<\/li>\n<li><strong>Frequenza delle quotazioni.<\/strong> Alcuni feed inviano ogni variazione, altri la limitano (per esempio, al massimo un aggiornamento ogni 100 ms per simbolo). Un feed limitato ha meno tick e salti pi\u00f9 ampi.<\/li>\n<li><strong>Profilo dello spread.<\/strong> Un feed ECN grezzo e un feed retail con markup possono differire di un pip intero nello spread medio e di molto di pi\u00f9 al 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=\"Due feed forex per lo stesso minuto: il feed di riferimento anticipa il feed del broker, con la distribuzione del ritardo (illustrativo)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Stessa coppia, stesso minuto, due feed. Il feed del broker ripete i movimenti del riferimento con un ritardo e meno aggiornamenti; il pannello di destra mostra la distribuzione di quel ritardo. Dati illustrativi, non una misurazione di un broker specifico.<\/figcaption><\/figure>\n<p>Per la maggior parte delle strategie, ci\u00f2 significa che dovresti testare sul feed su cui opererai. Per l\u2019arbitraggio di latenza significa qualcosa di pi\u00f9 forte: il vantaggio della strategia <em>\u00e8<\/em> la differenza tra due feed, quindi ti servono entrambi i flussi, registrati con timestamp dello stesso orologio. Testare una strategia di arbitraggio sui tick di un solo fornitore non ha senso. Descriviamo come confrontare i feed tick per tick nel nostro articolo sul <a href=\"https:\/\/bjftradinggroup.com\/the-critical-role-of-tick-comparison-in-forex-arbitrage-and-high-frequency-trading-hft\/\">confronto dei tick nell\u2019arbitraggio forex e nell\u2019HFT<\/a>, e perch\u00e9 il lato di riferimento deve essere veloce nella guida ai <a href=\"https:\/\/bjftradinggroup.com\/fast-feed-for-arbitrage\/\">feed di dati veloci per l\u2019arbitraggio<\/a>.<\/p>\n<h2 id=\"ftd-time\">Timestamp, fusi orari e ora legale<\/h2>\n<p>I problemi di timestamp causano pi\u00f9 errori silenziosi nei backtest dei prezzi sbagliati. Quattro cose da verificare:<\/p>\n<h3>1. In quale fuso orario sono i dati?<\/h3>\n<p>Le convenzioni comuni sono UTC\/GMT, l\u2019ora della costa orientale degli Stati Uniti (con o senza ora legale) e l\u2019\u201cora del server\u201d del broker, che molti broker impostano su GMT+2 d\u2019inverno e GMT+3 d\u2019estate in modo che la giornata di trading chiuda alle 17:00 ora di New York. Se la tua strategia dice \u201copera all\u2019apertura di Londra alle 08:00\u201d, uno scarto di un\u2019ora significa che opera in un regime di mercato diverso.<\/p>\n<h3>2. L\u2019ora legale \u00e8 applicata, e quale?<\/h3>\n<p>Europa e Stati Uniti cambiano l\u2019ora in date diverse. Per circa tre settimane a marzo e una settimana tra fine ottobre e inizio novembre, la differenza tra Londra e New York \u00e8 di quattro ore invece di cinque. Un dataset convertito con la regola sbagliata sposta di un\u2019ora la logica basata sulle sessioni durante quelle settimane. L\u2019errore \u00e8 piccolo, stagionale e molto difficile da notare in una curva di equity.<\/p>\n<h3>3. Dove \u00e8 stato preso il timestamp?<\/h3>\n<p>Un tick pu\u00f2 riportare l\u2019orario in cui la sede ha generato la quotazione, l\u2019orario in cui \u00e8 uscita dal server della sede o l\u2019orario in cui la tua macchina l\u2019ha ricevuta. Per una strategia trend la differenza non conta. Per le strategie sensibili alla latenza \u00e8 tutta la questione: due feed possono essere confrontati solo se entrambi sono marcati con lo stesso orologio, idealmente il tuo orario di ricezione sincronizzato con NTP o PTP.<\/p>\n<h3>4. Risoluzione e ordinamento<\/h3>\n<p>I timestamp con risoluzione al secondo non bastano per il lavoro di breve termine: decine di quotazioni possono condividere lo stesso secondo e il loro ordine al suo interno pu\u00f2 andare perso dopo l\u2019ordinamento. Usa una risoluzione al millisecondo (o pi\u00f9 fine) e conserva l\u2019ordine originale del file come criterio di spareggio.<\/p>\n<h2 id=\"ftd-quality\">Controlli di qualit\u00e0 prima di fidarti di un dataset<\/h2>\n<p>I dati tick grezzi contengono sempre errori. L\u2019obiettivo non \u00e8 la perfezione, ma sapere cosa c\u2019\u00e8 nei dati e rimuovere ci\u00f2 che distorcerebbe il test. Questi sono i controlli che eseguiamo su ogni nuovo dataset prima di usarlo in un\u2019ottimizzazione:<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Controllo<\/th>\n<th>Cosa cercare<\/th>\n<th>Azione tipica<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Tempo monotono<\/td>\n<td>Timestamp che tornano indietro<\/td>\n<td>Riordina solo se la causa \u00e8 nota; altrimenti segnala il file<\/td>\n<\/tr>\n<tr>\n<td>Duplicati<\/td>\n<td>Righe identiche (stesso orario, bid, ask)<\/td>\n<td>Rimuovi i duplicati esatti; mantieni i prezzi ripetuti con orari diversi<\/td>\n<\/tr>\n<tr>\n<td>Spread incrociato o nullo<\/td>\n<td>Ask &le; bid<\/td>\n<td>Rimuovi; casi frequenti indicano una fonte difettosa o feed uniti<\/td>\n<\/tr>\n<tr>\n<td>Spread anomalo<\/td>\n<td>Spread superiore, per esempio, a 10&times; la mediana oraria al di fuori di eventi noti<\/td>\n<td>Segnala; mantieni se coincide con rollover o notizie, rimuovi se isolato<\/td>\n<\/tr>\n<tr>\n<td>Picchi di prezzo<\/td>\n<td>Un salto del prezzo medio pari a molte volte la volatilit\u00e0 recente che si inverte in pochi tick<\/td>\n<td>Rimuovi i picchi isolati; non filtrare mai i veri movimenti da notizie<\/td>\n<\/tr>\n<tr>\n<td>Buchi<\/td>\n<td>Nessun tick per pi\u00f9 di 60 secondi nelle ore liquide<\/td>\n<td>Mappa i buchi; escludi quei periodi dal test o contrassegna le operazioni al loro interno<\/td>\n<\/tr>\n<tr>\n<td>Quotazioni ferme<\/td>\n<td>Lo stesso bid\/ask ripetuto per minuti mentre le altre fonti si muovono<\/td>\n<td>Trattale come un buco<\/td>\n<\/tr>\n<tr>\n<td>Tick del fine settimana e dei giorni festivi<\/td>\n<td>Quotazioni tra la chiusura del venerd\u00ec e l\u2019apertura della domenica<\/td>\n<td>Rimuovi, oppure verifica il fuso orario se l\u00ec compare un\u2019ora intera<\/td>\n<\/tr>\n<tr>\n<td>Densit\u00e0 dei tick<\/td>\n<td>Tick per ora confrontati con la stessa ora in altri giorni<\/td>\n<td>Un calo improvviso suggerisce una limitazione del feed o un problema di registrazione<\/td>\n<\/tr>\n<tr>\n<td>Scala dei prezzi e cifre decimali<\/td>\n<td>Quotazioni a 4 e a 5 cifre, coppie JPY con 3 decimali<\/td>\n<td>Normalizza prima di unire le fonti<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Una regola semplice e robusta per i picchi: calcola la deviazione assoluta mediana mobile (MAD) delle variazioni del prezzo medio sugli ultimi 200 tick; segnala ogni tick la cui variazione supera circa 15&times; la MAD <em>e<\/em> si inverte in gran parte entro i tre tick successivi. Un vero movimento da notizia non si inverte in tre tick; una quotazione errata di solito s\u00ec. Regola le soglie per ogni coppia e guarda cosa rimuovi, perch\u00e9 un filtro troppo zelante cancella esattamente i movimenti di cui ha bisogno una strategia di arbitraggio o di notizie.<\/p>\n<div class=\"ftd-box\"><strong>Tieni un registro.<\/strong> Annota quante righe ogni controllo ha rimosso o segnalato per mese. Se un mese perde l\u20198% dei suoi tick mentre gli altri perdono lo 0.1%, quel mese ha un problema di fonte, e qualsiasi risultato di strategia che dipende da esso \u00e8 sospetto.<\/div>\n<h2 id=\"ftd-steps\">Passo dopo passo: preparare i dati tick per un 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 di pulizia dei dati tick forex dai file grezzi a un dataset di backtest validato\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Dai file grezzi a un dataset di cui fidarti: ogni fase corregge un problema noto oppure lo registra.<\/figcaption><\/figure>\n<div class=\"ftd-steps\">\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">1<\/span><\/p>\n<div><strong>Scegli la fonte in base alla domanda.<\/strong> Storico gratuito lungo per ricerca e robustezza; i tick registrati del tuo broker per la verifica finale; anche un feed di riferimento se la strategia confronta feed.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">2<\/span><\/p>\n<div><strong>Normalizza i timestamp.<\/strong> Converti tutto in UTC con risoluzione al millisecondo, applica la regola corretta dell\u2019ora legale della fonte e conserva l\u2019ordine originale come criterio di spareggio.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">3<\/span><\/p>\n<div><strong>Normalizza i prezzi.<\/strong> Stesso numero di cifre per simbolo, bid e ask in colonne separate, niente dati solo sul prezzo medio se la strategia paga lo spread.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">4<\/span><\/p>\n<div><strong>Rimuovi gli errori evidenti.<\/strong> Duplicati esatti, spread incrociati o nulli, tick del fine settimana, picchi isolati che si invertono.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">5<\/span><\/p>\n<div><strong>Mappa i buchi e i periodi di quotazioni ferme.<\/strong> Salvali come elenco di intervalli esclusi invece di riempirli con prezzi inventati.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">6<\/span><\/p>\n<div><strong>Confronta con una seconda fonte.<\/strong> Confronta prezzi medi orari e spread con un altro dataset; differenze grandi e persistenti indicano un problema di scala, di fuso orario o di feed.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">7<\/span><\/p>\n<div><strong>Dividi il periodo.<\/strong> Riserva una finestra out-of-sample (per esempio l\u2019ultimo 25%) e un calendario walk-forward prima di ottimizzare qualsiasi cosa.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">8<\/span><\/p>\n<div><strong>Imposta le ipotesi di esecuzione.<\/strong> Spread variabile dai tick, il tuo tempo di esecuzione reale in millisecondi, commissione per lotto. Poi esegui il test.<\/div>\n<\/div>\n<\/div>\n<h2 id=\"ftd-spread\">Spread variabile: il costo che uno spread fisso nasconde<\/h2>\n<p>Molti test usano un unico valore di spread, per esempio 0.8 pip per EUR\/USD. Gli spread reali si muovono tutto il giorno: stretti nella sovrapposizione Londra\u2013New York, pi\u00f9 ampi nella sessione asiatica, larghi diversi pip per qualche minuto attorno al rollover giornaliero e alle pubblicazioni importanti. Le cause sono trattate nella nostra guida sul <a href=\"https:\/\/bjftradinggroup.com\/forex-spread-widening\/\">perch\u00e9 gli spread forex si allargano<\/a>.<\/p>\n<p>Uno spread fisso \u00e8 sbagliato in modo sistematico, perch\u00e9 le strategie non operano in momenti casuali. Una strategia breakout tende ad attivarsi quando la volatilit\u00e0 sale, che \u00e8 esattamente quando gli spread si allargano. Una strategia mean-reversion che opera nella tranquilla sessione asiatica incontra spread superiori alla media giornaliera. Con tick bid\/ask registrati, ogni operazione paga lo spread effettivamente quotato in quel momento.<\/p>\n<p><strong>Esempio pratico (numeri illustrativi).<\/strong> Una strategia di scalping effettua 400 operazioni complete al mese su EUR\/USD con 1 lotto standard (circa $10 per 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 fisso nel test<\/span><span class=\"ftd-card-n\">400 operazioni &times; 0.8 &times; $10 = $3,200 al mese di costi di spread<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">1.1 pip<\/span><span class=\"ftd-card-l\">Spread medio effettivamente pagato<\/span><span class=\"ftd-card-n\">la strategia opera pi\u00f9 spesso nei minuti volatili: 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\">Costo mensile che il test ha mancato<\/span><span class=\"ftd-card-n\">per lotto; se il vantaggio lordo \u00e8 di 1.5 pip per operazione, un errore di 0.3 pip ne elimina il 20%<\/span><\/div>\n<\/div>\n<p class=\"ftd-note\">Il valore di 1.1 pip \u00e8 un esempio per mostrare il meccanismo, non un valore misurato per alcun broker. Misura nei dati tick lo spread medio che le operazioni della tua strategia incontrano davvero.<\/p>\n<h2 id=\"ftd-impact\">Quanto l\u2019ipotesi sui dati cambia il risultato<\/h2>\n<p>Per mostrare l\u2019effetto di ciascuna ipotesi, il grafico qui sotto prende un\u2019ipotetica strategia di breve termine e cambia solo il modello dei dati e di esecuzione. I numeri sono illustrativi, costruiti per riflettere la direzione e l\u2019entit\u00e0 approssimativa degli effetti che osserviamo abitualmente passando da test basati su barre a test basati su tick con esecuzione realistica. Non sono i risultati di una strategia specifica.<\/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=\"Risultato netto medio per operazione di una strategia sotto quattro ipotesi di dati ed esecuzione, dalle barre interpolate ai tick reali con tempo di esecuzione (illustrativo)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Ogni passo aggiunge un pezzo di realt\u00e0: tick registrati, spread variabile, poi tempo di esecuzione. Numeri illustrativi.<\/figcaption><\/figure>\n<p>Ci\u00f2 che conta \u00e8 lo schema. Ogni ipotesi realistica toglie una parte del vantaggio, e l\u2019ultimo passo, il tempo di esecuzione, spesso \u00e8 quello che toglie di pi\u00f9 alle strategie di breve termine. Se una strategia supera tutti e quattro i passi con un risultato positivo e un numero sensato di operazioni, vale un piccolo test dal vivo. Se sembra buona solo nella prima colonna, il vantaggio appartiene al modello dei dati, non al mercato.<\/p>\n<h2 id=\"ftd-exec\">I tick sono necessari, non sufficienti: il tempo di esecuzione<\/h2>\n<p>Anche un dataset di tick perfetto d\u00e0 un test ottimistico se ogni ordine viene eseguito al prezzo del tick che lo ha generato. Dal vivo c\u2019\u00e8 sempre un ritardo tra la decisione e l\u2019esecuzione: la tua piattaforma, la rete, l\u2019elaborazione del broker. Durante quel ritardo il mercato va avanti. In una giornata tranquilla l\u2019effetto \u00e8 una frazione di pip; in un movimento veloce \u00e8 la differenza tra un\u2019operazione vincente e una perdente.<\/p>\n<p>Il modello corretto avanza nel flusso dei tick della parte di richiesta del tuo tempo di esecuzione ed esegue al bid o all\u2019ask quotato in quel momento successivo. Questo produce uno slippage realistico, positivo e negativo, senza dover indovinare un valore di slippage. Spieghiamo questo modello, le quattro componenti della latenza e un esempio pratico nell\u2019articolo sul <a href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage-backtest-execution-time-gap\/\">divario del tempo di esecuzione nei backtest di arbitraggio di latenza<\/a>, e come misurare lo slippage sulle esecuzioni reali in <a href=\"https:\/\/bjftradinggroup.com\/forex-slippage-explained\/\">lo slippage forex spiegato<\/a>.<\/p>\n<p>Questa \u00e8 anche la risposta pi\u00f9 comune alla domanda \u201cperch\u00e9 i miei risultati dal vivo sono diversi dal backtest?\u201d I dati erano corretti; il modello di esecuzione presupponeva un ritardo nullo. Una buona regola pratica \u00e8 testare con il tempo di esecuzione misurato e di nuovo con un valore da 1.5 a 2 volte superiore. Una strategia che crolla con il valore pi\u00f9 alto \u00e8 fragile.<\/p>\n<h2 id=\"ftd-storage\">Archiviazione, formati e gestione<\/h2>\n<p>I dati tick sono voluminosi, e il formato che scegli influisce sia sullo spazio su disco sia sulla velocit\u00e0 con cui un ottimizzatore pu\u00f2 riprodurli. Una stima approssimativa per una coppia principale attiva:<\/p>\n<div class=\"ftd-cards\">\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~39 M<\/span><span class=\"ftd-card-l\">Tick all\u2019anno<\/span><span class=\"ftd-card-n\">con circa 150,000 quotazioni per giorno di trading &times; 260 giorni (i feed intensi ne inviano di pi\u00f9, quelli limitati di meno)<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~2 GB<\/span><span class=\"ftd-card-l\">Come testo CSV<\/span><span class=\"ftd-card-n\">circa 50 byte per riga con stringa data-ora completa, bid e ask<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~0.6 GB<\/span><span class=\"ftd-card-l\">In binario compatto<\/span><span class=\"ftd-card-n\">timestamp da 8 byte + due prezzi interi da 4 byte in punti = 16 byte per tick, prima della compressione<\/span><\/div>\n<\/div>\n<p class=\"ftd-note\">Stime di ordine di grandezza. I formati colonnari compressi di solito riducono i file tick di diverse volte ancora.<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Memorizza i prezzi come interi in punti<\/strong> (1.08512 &rarr; 108512). Evita gli arrotondamenti in virgola mobile quando confronti i prezzi e dimezza le dimensioni.<\/li>\n<li><strong>Partiziona per simbolo e per giorno.<\/strong> Un file per simbolo al giorno rende semplici i controlli dei buchi, i ricaricamenti parziali e l\u2019ottimizzazione in parallelo.<\/li>\n<li><strong>Lascia intatti i file grezzi.<\/strong> Esegui la pulizia in un dataset separato e conserva il registro di pulizia, cos\u00ec potrai riprodurre qualsiasi risultato.<\/li>\n<li><strong>Mantieni il CSV per lo scambio di dati.<\/strong> Un formato semplice con timestamp, bid e ask \u00e8 quello che la maggior parte degli strumenti importa. SharpTrader Optimizer, per esempio, accetta i tuoi dati tick in CSV con timestamp, bid e ask.<\/li>\n<\/ul>\n<h2 id=\"ftd-pitfalls\">Errori comuni<\/h2>\n<ul class=\"ftd-checks\">\n<li><strong>Chiamare \u201cdati tick\u201d le barre interpolate.<\/strong> Verifica se il tuo strumento riproduce quotazioni registrate o le genera dalle barre.<\/li>\n<li><strong>Testare sui prezzi medi.<\/strong> Un dataset solo sul prezzo medio ignora completamente lo spread; i costi devono derivare dal bid e dall\u2019ask.<\/li>\n<li><strong>Mescolare fonti in un unico test.<\/strong> Unire i file di due fornitori crea salti artificiali nel punto di giunzione e regimi di spread diversi nello stesso periodo.<\/li>\n<li><strong>Ignorare il fuso orario e l\u2019ora legale.<\/strong> I filtri di sessione e la logica del rollover giornaliero si spostano silenziosamente.<\/li>\n<li><strong>Riempire i buchi con prezzi inventati.<\/strong> Una strategia pu\u00f2 \u201coperare\u201d durante un\u2019interruzione in cui non c\u2019erano quotazioni reali. Escludi invece i buchi.<\/li>\n<li><strong>Pulizia eccessiva.<\/strong> Cancellare ogni grande movimento elimina i picchi da notizie e i salti su cui alcune strategie sono costruite per operare.<\/li>\n<li><strong>Esecuzioni a latenza zero.<\/strong> Esecuzioni perfette sul tick del segnale fanno sembrare redditizia quasi qualsiasi strategia di breve termine.<\/li>\n<li><strong>Ottimizzare su tutti i dati.<\/strong> Senza un periodo out-of-sample e verifiche walk-forward, una grande griglia di parametri trover\u00e0 una curva che si adatta al passato e a nient\u2019altro.<\/li>\n<\/ul>\n<h2 id=\"ftd-tools\">I dati tick in SharpTrader Optimizer<\/h2>\n<p>Abbiamo costruito <a href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-optimizer\/\">SharpTrader Optimizer<\/a> attorno ai punti di questa guida. Riproduce tick bid\/ask storici reali invece di barre interpolate, prende lo spread da ogni tick e ti permette di impostare il tempo di esecuzione degli ordini in millisecondi, cos\u00ec ogni esecuzione proviene dal flusso dei tick dopo quel ritardo. Puoi usare lo storico tick di BJF Feed registrato sui nodi di Londra, Tokyo e New York, oppure importare i tick del tuo broker in CSV. Le griglie di parametri girano su tutti i core della CPU, il che \u00e8 importante quando un anno di una sola coppia corrisponde a decine di milioni di tick.<\/p>\n<p>Se hai gi\u00e0 una tua strategia, l\u2019articolo su <a href=\"https:\/\/bjftradinggroup.com\/optimize-your-own-trading-bot-sharptrader\/\">come testare il tuo bot in SharpTrader<\/a> mostra l\u2019intero flusso di lavoro, dal codice all\u2019ottimizzazione a livello di tick.<\/p>\n<div class=\"ftd-cta\">\n<h3>Testa sui tick che la tua strategia incontrer\u00e0 davvero<\/h3>\n<p>Tick bid\/ask reali, spread variabile su ogni quotazione e il tempo di esecuzione del tuo broker in millisecondi: i tre input che decidono se una strategia di breve termine sopravvive al trading reale.<\/p>\n<p><a class=\"ftd-btn\" href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-optimizer\/\">Scopri SharpTrader Optimizer<\/a><a class=\"ftd-btn ftd-btn-alt\" href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage-backtest-execution-time-gap\/\">Leggi: il divario del tempo di esecuzione<\/a>\n<\/div>\n<div class=\"bjf-ff-wrap\"><div class=\"bjf-ff\" id=\"bjfff8227\" 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 di arbitraggio gratuito + breve corso via email<\/p>\n<p style=\"margin:0 0 16px;font-size:15px;line-height:1.55;color:#44505f\">Ricevi il link allo scanner gratuito e alcune email brevi e pratiche di Boris: cosa significa davvero un divario di prezzo dopo i costi, come testare una strategia prima di rischiare denaro reale e quali strumenti sono adatti al tuo mercato. Niente promesse esagerate. Le email sono in inglese.<\/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=\"1793490199\"><input type=\"hidden\" name=\"ref\" value=\"forex-tick-data-backtesting\"><input type=\"hidden\" name=\"lang\" value=\"it\"><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=\"Email\" aria-label=\"Email\" 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\">Inviamelo<\/button>\n<\/div>\n<p style=\"margin:10px 0 0;font-size:12px;line-height:1.5;color:#6b7785\">Inviando il modulo accetti di ricevere email da BJF Trading Group su strumenti di arbitraggio e software di trading. Puoi annullare l\u2019iscrizione in qualsiasi momento. Consulta la nostra <a href=\"https:\/\/bjftradinggroup.com\/it\/privacy-policy\/\">Informativa sulla privacy<\/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\":\"Inserisci un indirizzo email valido.\",\"sending\":\"Invio in corso\\u2026\",\"done\":\"Fatto! Controlla la tua casella di posta tra qualche minuto.\",\"err\":\"Qualcosa \\u00e8 andato storto, riprova.\",\"net\":\"Errore di rete, riprova.\",\"srv\":false};var b=document.getElementById('bjfff8227');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\">Domande frequenti<\/h2>\n<div class=\"ftd-faq\">\n<h3>Che cosa sono i dati tick forex?<\/h3>\n<p>I dati tick forex sono la registrazione di ogni variazione di quotazione di una coppia di valute, con un timestamp, il prezzo bid, il prezzo ask e talvolta il volume quotato. Conservano l\u2019ordine esatto, la tempistica e lo spread degli aggiornamenti di prezzo, che i dati a barre perdono.<\/p>\n<h3>Dove posso trovare dati tick forex gratuiti?<\/h3>\n<p>Alcuni broker ECN e aggregatori pubblicano gratuitamente tick bid\/ask storici per le coppie principali, e molti broker ti permettono di scaricare il proprio storico. Gli archivi gratuiti sono utili per la ricerca, ma mostrano i prezzi di una sola sede, quindi conferma il risultato finale sui tick registrati del tuo broker.<\/p>\n<h3>I dati tick sono migliori dei dati a 1 minuto per il backtest?<\/h3>\n<p>Per strategie con target e stop entro pochi pip, scalping, trading sulle notizie e arbitraggio, s\u00ec: le barre a un minuto nascondono l\u2019ordine di massimo e minimo, i salti di prezzo e lo spread reale. Per strategie swing con stop ampi, dati puliti a un minuto con uno spread realistico spesso bastano.<\/p>\n<h3>Perch\u00e9 ottengo risultati di backtest diversi su due fonti di dati?<\/h3>\n<p>Il forex spot non ha un registro centrale delle transazioni, quindi ogni fonte \u00e8 la visione di una sede diversa. Spread, frequenza delle quotazioni, fusi orari, gestione dell\u2019ora legale e regole di pulizia sono tutti diversi. Confronta prezzi orari e spread tra i due dataset per trovare la causa e fidati della fonte pi\u00f9 vicina alla tua sede di esecuzione.<\/p>\n<h3>Quanto spazio di archiviazione richiede un anno di dati tick forex?<\/h3>\n<p>Per una coppia principale attiva, all\u2019incirca decine di milioni di tick all\u2019anno: circa 2 GB come testo CSV o intorno a 0.6 GB in un formato binario compatto prima della compressione. Diverse coppie su diversi anni raggiungono rapidamente decine di gigabyte.<\/p>\n<h3>Perch\u00e9 il mio backtest su dati tick mostra esecuzioni perfette?<\/h3>\n<p>Perch\u00e9 il test esegue ogni ordine sul tick che ha generato il segnale. Gli ordini reali impiegano tempo per raggiungere il broker e nel frattempo il prezzo si muove. Modella il tempo di esecuzione avanzando nel flusso dei tick ed eseguendo al bid o all\u2019ask successivo, e testa con un ritardo da 1.5 a 2 volte quello misurato.<\/p>\n<h3>Mi servono sia bid che ask, o basta il prezzo medio?<\/h3>\n<p>Ti servono entrambi. Gli acquisti vengono eseguiti all\u2019ask e le vendite al bid, quindi lo spread \u00e8 un costo reale su ogni operazione. Un dataset solo sul prezzo medio elimina quel costo e fa sembrare le strategie di breve termine migliori di quanto siano.<\/p>\n<\/div>\n<p class=\"ftd-note\">Questo articolo ha scopo educativo e non costituisce consulenza finanziaria. Esempi, grafici e cifre contrassegnati come illustrativi non sono misurazioni di alcun broker o strategia specifici; fonti di dati, convenzioni e costi differiscono tra i fornitori e cambiano nel tempo.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"headline\": \"Dati tick forex per il backtest: fonti, controlli di qualit\u00e0 e insidie\",\n      \"description\": \"Da dove provengono i dati tick forex, perch\u00e9 due dataset non coincidono mai, controlli di qualit\u00e0 prima di fidarti di un backtest, fusi orari, spread variabile e tempo di esecuzione.\",\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\": \"Come preparare i dati tick forex per un backtest\",\n      \"step\": [\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 1,\n          \"name\": \"Scegli la fonte in base alla domanda\",\n          \"text\": \"Scegli la fonte in base alla domanda. Storico gratuito lungo per ricerca e robustezza; i tick registrati del tuo broker per la verifica finale; anche un feed di riferimento se la strategia confronta feed.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 2,\n          \"name\": \"Normalizza i timestamp\",\n          \"text\": \"Normalizza i timestamp. Converti tutto in UTC con risoluzione al millisecondo, applica la regola corretta dell\u2019ora legale della fonte e conserva l\u2019ordine originale come criterio di spareggio.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 3,\n          \"name\": \"Normalizza i prezzi\",\n          \"text\": \"Normalizza i prezzi. Stesso numero di cifre per simbolo, bid e ask in colonne separate, niente dati solo sul prezzo medio se la strategia paga lo spread.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 4,\n          \"name\": \"Rimuovi gli errori evidenti\",\n          \"text\": \"Rimuovi gli errori evidenti. Duplicati esatti, spread incrociati o nulli, tick del fine settimana, picchi isolati che si invertono.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 5,\n          \"name\": \"Mappa i buchi e i periodi di quotazioni ferme\",\n          \"text\": \"Mappa i buchi e i periodi di quotazioni ferme. Salvali come elenco di intervalli esclusi invece di riempirli con prezzi inventati.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 6,\n          \"name\": \"Confronta con una seconda fonte\",\n          \"text\": \"Confronta con una seconda fonte. Confronta prezzi medi orari e spread con un altro dataset; differenze grandi e persistenti indicano un problema di scala, di fuso orario o di feed.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 7,\n          \"name\": \"Dividi il periodo\",\n          \"text\": \"Dividi il periodo. Riserva una finestra out-of-sample (per esempio l\u2019ultimo 25%) e un calendario walk-forward prima di ottimizzare qualsiasi cosa.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 8,\n          \"name\": \"Imposta le ipotesi di esecuzione\",\n          \"text\": \"Imposta le ipotesi di esecuzione. Spread variabile dai tick, il tuo tempo di esecuzione reale in millisecondi, commissione per lotto. Poi esegui il test.\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Che cosa sono i dati tick forex?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"I dati tick forex sono la registrazione di ogni variazione di quotazione di una coppia di valute, con un timestamp, il prezzo bid, il prezzo ask e talvolta il volume quotato. Conservano l\u2019ordine esatto, la tempistica e lo spread degli aggiornamenti di prezzo, che i dati a barre perdono.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Dove posso trovare dati tick forex gratuiti?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Alcuni broker ECN e aggregatori pubblicano gratuitamente tick bid\/ask storici per le coppie principali, e molti broker ti permettono di scaricare il proprio storico. Gli archivi gratuiti sono utili per la ricerca, ma mostrano i prezzi di una sola sede, quindi conferma il risultato finale sui tick registrati del tuo broker.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"I dati tick sono migliori dei dati a 1 minuto per il backtest?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Per strategie con target e stop entro pochi pip, scalping, trading sulle notizie e arbitraggio, s\u00ec: le barre a un minuto nascondono l\u2019ordine di massimo e minimo, i salti di prezzo e lo spread reale. Per strategie swing con stop ampi, dati puliti a un minuto con uno spread realistico spesso bastano.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Perch\u00e9 ottengo risultati di backtest diversi su due fonti di dati?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Il forex spot non ha un registro centrale delle transazioni, quindi ogni fonte \u00e8 la visione di una sede diversa. Spread, frequenza delle quotazioni, fusi orari, gestione dell\u2019ora legale e regole di pulizia sono tutti diversi. Confronta prezzi orari e spread tra i due dataset per trovare la causa e fidati della fonte pi\u00f9 vicina alla tua sede di esecuzione.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Quanto spazio di archiviazione richiede un anno di dati tick forex?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Per una coppia principale attiva, all\u2019incirca decine di milioni di tick all\u2019anno: circa 2 GB come testo CSV o intorno a 0.6 GB in un formato binario compatto prima della compressione. Diverse coppie su diversi anni raggiungono rapidamente decine di gigabyte.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Perch\u00e9 il mio backtest su dati tick mostra esecuzioni perfette?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Perch\u00e9 il test esegue ogni ordine sul tick che ha generato il segnale. Gli ordini reali impiegano tempo per raggiungere il broker e nel frattempo il prezzo si muove. Modella il tempo di esecuzione avanzando nel flusso dei tick ed eseguendo al bid o all\u2019ask successivo, e testa con un ritardo da 1.5 a 2 volte quello misurato.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Mi servono sia bid che ask, o basta il prezzo medio?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Ti servono entrambi. Gli acquisti vengono eseguiti all\u2019ask e le vendite al bid, quindi lo spread \u00e8 un costo reale su ogni operazione. Un dataset solo sul prezzo medio elimina quel costo e fa sembrare le strategie di breve termine migliori di quanto siano.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n<\/script>\n<\/div>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Da dove provengono i dati tick forex, perch\u00e9 due dataset sulla stessa coppia non coincidono mai e come verificare e pulire i tick prima di fidarti di un backtest: barre interpolate e tick registrati, feed del broker e feed di riferimento, fusi orari e ora legale, controlli di qualit\u00e0, spread variabile, tempo di esecuzione e archiviazione.<\/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>Dati tick forex per il backtest: fonti e controlli qualit\u00e0<\/title>\n<meta name=\"description\" content=\"Da dove vengono i dati tick forex, perch\u00e9 i dataset differiscono e quali controlli, fusi orari e modelli di spread servono a un backtest realistico.\" \/>\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\/it\/forex-tick-data-backtesting\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dati tick forex per il backtest: fonti e controlli qualit\u00e0\" \/>\n<meta property=\"og:description\" content=\"Da dove vengono i dati tick forex, perch\u00e9 i dataset differiscono e quali controlli, fusi orari e modelli di spread servono a un backtest realistico.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bjftradinggroup.com\/it\/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=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Boris Fesenko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minuti\" \/>\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\":\"Dati tick forex per il backtest: fonti, controlli di qualit\u00e0 e insidie\",\"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\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#respond\"]}],\"name\":\"Dati tick forex per il backtest: fonti e controlli qualit\u00e0\",\"description\":\"Da dove vengono i dati tick forex, perch\u00e9 i dataset differiscono e quali controlli, fusi orari e modelli di spread servono a un backtest realistico.\",\"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\":\"Dati tick forex per il backtest: fonti e controlli qualit\u00e0\",\"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\":\"Da dove vengono i dati tick forex, perch\u00e9 i dataset differiscono e quali controlli, fusi orari e modelli di spread servono a un backtest realistico.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@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\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\",\"name\":\"Boris Fesenko\",\"pronouns\":\"He\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@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\\\/it\\\/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":"Dati tick forex per il backtest: fonti e controlli qualit\u00e0","description":"Da dove vengono i dati tick forex, perch\u00e9 i dataset differiscono e quali controlli, fusi orari e modelli di spread servono a un backtest realistico.","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\/it\/forex-tick-data-backtesting\/","og_locale":"it_IT","og_type":"article","og_title":"Dati tick forex per il backtest: fonti e controlli qualit\u00e0","og_description":"Da dove vengono i dati tick forex, perch\u00e9 i dataset differiscono e quali controlli, fusi orari e modelli di spread servono a un backtest realistico.","og_url":"https:\/\/bjftradinggroup.com\/it\/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":{"Scritto da":"Boris Fesenko","Tempo di lettura stimato":"19 minuti"},"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":"Dati tick forex per il backtest: fonti, controlli di qualit\u00e0 e insidie","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":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#respond"]}],"name":"Dati tick forex per il backtest: fonti e controlli qualit\u00e0","description":"Da dove vengono i dati tick forex, perch\u00e9 i dataset differiscono e quali controlli, fusi orari e modelli di spread servono a un backtest realistico.","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":"Dati tick forex per il backtest: fonti e controlli qualit\u00e0","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":"Da dove vengono i dati tick forex, perch\u00e9 i dataset differiscono e quali controlli, fusi orari e modelli di spread servono a un backtest realistico.","breadcrumb":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@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":"it-IT"},{"@type":"Person","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9","name":"Boris Fesenko","pronouns":"He","image":{"@type":"ImageObject","inLanguage":"it-IT","@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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/15733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bjftradinggroup.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bjftradinggroup.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/it\/wp-json\/wp\/v2\/comments?post=15733"}],"version-history":[{"count":37,"href":"https:\/\/bjftradinggroup.com\/it\/wp-json\/wp\/v2\/posts\/15733\/revisions"}],"predecessor-version":[{"id":15775,"href":"https:\/\/bjftradinggroup.com\/it\/wp-json\/wp\/v2\/posts\/15733\/revisions\/15775"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/it\/wp-json\/wp\/v2\/media\/15734"}],"wp:attachment":[{"href":"https:\/\/bjftradinggroup.com\/it\/wp-json\/wp\/v2\/media?parent=15733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/it\/wp-json\/wp\/v2\/categories?post=15733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/it\/wp-json\/wp\/v2\/tags?post=15733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}