
Le soluzioni più rapide dipendono dal tuo obiettivo. Per un grafico dall'aspetto più pulito, usa l'opzione della piattaforma per escludere il weekend o il filtro di sessione. Per il backtesting, importa dati sorgente già puliti invece di filtrare la visualizzazione. Per i grafici programmatici, reindicizza l'asse di plotting su un tipo categoriale o ordinale, così i gap scompaiono senza toccare i timestamp grezzi.
TL;DR:
- Opzioni di filtro come l'esclusione del weekend o i filtri di sessione sono correzioni visive rapide, ma non risolvono gli errori di fondo nei dati che influenzano l'accuratezza del backtesting.
- La pulizia alla fonte, come la rimozione di barre duplicate o con data errata prima del backtesting, garantisce coerenza negli indicatori e previene derive causate da anomalie nei dati.
- Reindicizzare gli assi di plotting su categorie o numeri nelle librerie di programmazione elimina efficacemente i gap del weekend senza alterare i timestamp grezzi, utile per la costruzione di grafici personalizzati.
- Ogni piattaforma richiede passaggi specifici di pulizia o configurazione dei dati, con l'importazione diretta dei dati e la correzione del fuso orario che risultano fondamentali per risultati di backtest accurati e affidabili.
- Verifica regolarmente che i processi di pulizia non rimuovano dati legittimi infrasettimanali confrontando gli output degli indicatori su dataset grezzi e puliti, evitando interpretazioni errate della strategia.
Indice
- Checklist rapida: tre strade per rimuovere le barre del weekend
- Perché pulire la fonte dei dati batte le correzioni solo visive per il backtesting
- Soluzioni con librerie di plotting per chiudere i gap del weekend
- Ricette specifiche per piattaforma per i tool di charting più comuni
- Preparare dati puliti per il backtesting: un workflow pratico
- Risolvere i problemi di fuso orario e sessione dietro le barre del weekend
- Cosa dovrebbero fare i trader che fanno backtesting sul serio
- Come BacktestMarket aiuta con dati puliti, pronti all'importazione
- Fonti
- FAQ
Checklist rapida: tre strade per rimuovere le barre del weekend
Prima di scegliere un metodo, decidi se ti serve un grafico dall'aspetto corretto o un dataset che si comporti correttamente in un backtest. Sono due problemi diversi con soluzioni diverse.
- Toggle della piattaforma o filtro di sessione: l'opzione più veloce, utile per l'ispezione visiva, ma non risolve gli errori di fondo nei dati.
- Pulizia alla fonte: rimuovi le righe del weekend, normalizza i timestamp e deduplica prima del backtesting: la scelta giusta quando i risultati della strategia dipendono dall'accuratezza dei dati.
- Reindicizzazione a livello di plotting: imposta l'asse x della tua libreria di plotting su un indice categoriale o sequenziale così le candele del weekend non vengono mai renderizzate, utile quando controlli il codice del grafico e vuoi candele adiacenti senza gap.
Inizia con il toggle della piattaforma se ti serve solo dare un'occhiata all'andamento del prezzo. Passa alla pulizia alla fonte nel momento in cui prevedi di eseguire un backtest automatizzato o di alimentare i dati in una libreria di indicatori, perché un filtro di visualizzazione non intercetta barre duplicate o con data errata nascoste sotto il grafico.
Suggerimento pratico: Conserva sempre una copia grezza e intatta dei tuoi dati originali prima di applicare qualsiasi passaggio di pulizia, così potrai sempre ricondurre un'anomalia della strategia a una riga specifica.
Perché pulire la fonte dei dati batte le correzioni solo visive per il backtesting
Un filtro di visualizzazione nasconde le candele del weekend dalla vista ma lascia il file sottostante intatto. Se quel file contiene barre duplicate, tick con data errata o timestamp registrati nel fuso orario sbagliato, il tuo grafico apparirà pulito mentre il motore di backtest continuerà a leggere le righe corrotte.
I dataset pre-puliti risolvono questo problema alla fonte: le righe del weekend vengono rimosse, i timestamp vengono normalizzati e la compressione da barre al minuto a barre orarie o giornaliere rimane coerente. Questa coerenza è importante perché gli indicatori costruiti su medie mobili o bande di volatilità derivano quando il numero di barre sottostante o la spaziatura cambiano in modo inatteso.
Alcuni segnali che indicano la necessità di un intervento alla fonte piuttosto che una correzione visiva:
- Timestamp duplicati che compaiono nello stesso giorno di trading.
- Barre datate di sabato o domenica nonostante un feed presumibilmente solo forex.
- Barre giornaliere che non corrispondono alla somma delle barre al minuto sottostanti dopo la compressione.
Individuare questi segnali prima di fidarti di un grafico ti risparmia ore di debug su una strategia che non era mai difettosa, ma semplicemente alimentata con dati cattivi.
Soluzioni con librerie di plotting per chiudere i gap del weekend
Se costruisci i grafici in modo programmatico, la correzione avviene a livello di plotting, non nel file dati. Reindicizza il tuo dataframe su un indice intero sequenziale, poi mappa le stringhe di data originali sulle etichette dei tick dell'asse x. Questo rende ogni candela adiacente alla successiva indipendentemente dal gap di calendario tra le due.
In Matplotlib, impostare l'asse x su un indice non-datetime, in stile ordinale, rimuove i gap del weekend senza alterare i timestamp sottostanti, e un thread Matplotlib sul candlestick illustra passo passo un esempio funzionante di weekday_candlestick. Plotly gestisce la cosa con un asse x di tipo categoria, anche se un thread della community Plotly sui subplot di volume nota che le trace OHLC e i subplot di volume spesso richiedono una gestione separata degli assi per rimanere sincronizzati.
Per le librerie specifiche per candlestick, mplfinance offre un flag show_nontrading, e filtrare il dataframe prima del plotting è una soluzione comune quando quel flag da solo non si adatta al tuo layout.
Suggerimento pratico: Quando devi preservare i timestamp esatti per l'auditing, mantieni una colonna separata con indice intero per il plotting, lasciando intatta la colonna di data originale per il logging.

Ricette specifiche per piattaforma per i tool di charting più comuni
Ogni piattaforma gestisce le barre del weekend in modo diverso, e la "correzione" che funziona in una spesso rompe la compressione in un'altra.
- MT4/MT5: importa direttamente dati al minuto già puliti invece di affidarti al feed integrato, conferma che l'offset GMT corrisponda all'orario server del tuo broker, e ricomprimi le barre giornaliere solo dopo che la pulizia è completa.
- AmiBroker: definisci esplicitamente le sessioni di trading invece di usare un'opzione generica di filtro weekend, poiché le sovrapposizioni di fuso orario possono lasciare barre parziali del weekend nei feed che coprono più sessioni.
- Sierra Chart: l'opzione Do not load weekend data funziona per la maggior parte dei feed, ma verifica che la compressione per giorno di calendario corrisponda ancora a quella per giorno di trading dopo l'operazione.
- ProRealTime: applica filtri sull'intervallo di giorni o un piccolo snippet ProBuilder che esclude le barre che cadono al di fuori dei tuoi giorni di trading definiti.
- Correzioni EA o script di provenienza da forum: possono sistemare rapidamente un feed specifico, ma molti presuppongono un offset di fuso orario fisso e rompono silenziosamente la compressione se il tuo broker cambia l'orario server o le regole dell'ora legale.
Quando uno script da forum funziona su un dataset e fallisce su un altro, la causa solitamente è un'assunzione hardcoded sul fuso orario o sugli orari di sessione che non vale per tutti i broker.
Preparare dati puliti per il backtesting: un workflow pratico
Trasformare un feed grezzo in qualcosa di cui un motore di backtest possa fidarsi segue una sequenza piuttosto fissa.
- Conserva una copia grezza e non modificata del feed originale.
- Normalizza tutti i timestamp su un singolo offset GMT o standard di sessione scelto.
- Elimina le righe del weekend e qualsiasi tick a volume zero che sia sfuggito.
- Deduplica le righe che condividono timestamp identici.
- Ricomprimi le barre al timeframe target e reindicizza.
- Esegui un indicatore noto, come una semplice media mobile, e conferma che produca i valori attesi rispetto a un riferimento affidabile.
Per MT4 e MT5, i file CSV necessitano di un ordine di colonne coerente e di una formattazione della data prima dell'importazione: consulta la guida passo passo all'importazione in MetaTrader per il formato esatto richiesto da ciascuna piattaforma.
Suggerimento pratico: Esegui lo stesso test di indicatore sia sul dataset grezzo che su quello pulito: se i valori divergono significativamente, il passaggio di pulizia ha introdotto un errore invece di risolverne uno.
Acquistare un dataset già pulito da un provider salta del tutto i passaggi da uno a cinque, cosa che conta di più quando stai validando più strategie contemporaneamente e non puoi permetterti di fare debug della pipeline dati ogni volta che un risultato sembra fuori posto.
Risolvere i problemi di fuso orario e sessione dietro le barre del weekend
La maggior parte delle barre del weekend o duplicate ha origine in una manciata di cause: una conversione di fuso orario applicata in modo incoerente, tick arrivati in ritardo dopo la chiusura ufficiale del mercato, transizioni dell'ora legale che spostano l'orario server senza un corrispondente aggiustamento dei dati, oppure una finestra di sessione configurata con l'ora di inizio o fine sbagliata.
Le segnalazioni della community su varie piattaforme di charting indicano in modo coerente i disallineamenti di fuso orario del feed, UTC rispetto alla conversione locale, come causa principale delle barre del weekend o duplicate, secondo le discussioni tra sviluppatori sulla gestione dei fusi orari in AmiBroker, che raccomandano di risolvere il problema tramite una ridefinizione esplicita delle sessioni piuttosto che con un filtro generico del weekend.
Per verificare che una correzione abbia effettivamente funzionato:
- Confronta i timestamp grezzi con il file pulito per confermare che nessuna barra legittima infrasettimanale sia stata eliminata.
- Controlla eventuali date duplicate rimaste dopo la compressione.
- Riesegui un test con un indicatore compresso e conferma che i valori corrispondano al tuo baseline pre-pulizia per i dati infrasettimanali.
Se la compressione giornaliera appare errata dopo una correzione, verifica se la finestra di sessione che hai definito copre davvero l'intera giornata di trading. Un problema correlato da controllare separatamente sono gli errori dell'ora legale nei dati al minuto, che producono un sintomo simile ma hanno una causa radice diversa.
Cosa dovrebbero fare i trader che fanno backtesting sul serio
Pulire il proprio feed è un ragionevole progetto da weekend la prima volta. Farlo ogni volta che cambi broker o aggiungi uno strumento è dove la maggior parte dei trader perde più tempo di quanto il backtest stesso riesca mai a farne risparmiare. I dati al minuto già puliti da un provider eliminano questo costo ricorrente e offrono un punto di partenza riproducibile ogni volta che testi una nuova idea. La pulizia fai-da-te ha ancora un suo spazio per verifiche piccole e occasionali, ma per tutto ciò che prevedi di eseguire ripetutamente, la qualità dei dati alla fonte vale la pena pagarla una volta sola invece di ricostruirla ogni volta.
— Start
Come BacktestMarket aiuta con dati puliti, pronti all'importazione
Invece di ricostruire una pipeline di pulizia ogni volta che aggiungi una nuova coppia o un nuovo feed del broker, puoi partire da un dataset che ha già completato quel processo.

Un data provider offre dati intraday puliti al minuto che coprono vari mercati, con dataset pronti per l'importazione diretta in MT4 e MT5.
- I dataset completi si scaricano come un unico pacchetto invece di file frammentati che devi assemblare da solo.
- Una verifica barra per barra e aggiustamenti documentati mirano a mantenere coerenti compressione e timestamp in tutto il file.
- Il supporto proviene dal team tecnico che mantiene i dati.
Se la tua priorità è tornare a testare le strategie invece di occuparti dell'idraulica dei dati, sfogliare il catalogo Historical Data o dare un'occhiata al Piano Annuale a 119 € l'anno è un punto di partenza più veloce rispetto a pulire un feed grezzo da zero.
Fonti
- How to Remove Weekends in Matplotlib Candlestick Chart?
- Remove weekend gaps from volume bar subplot
- Re: amibroker forex daily bar time-compression problem
FAQ
Rimuovere le barre del weekend cambia i risultati del backtest della mia strategia?
Può succedere, soprattutto se il metodo di rimozione deduplica o elimina righe che facevano parte di dati infrasettimanali legittimi. Confronta sempre i valori degli indicatori prima e dopo la pulizia per confermare che la correzione abbia rimosso solo le righe del weekend e nient'altro.
Qual è la differenza tra nascondere le barre del weekend e pulire i dati?
Nascondere le barre del weekend è un'impostazione solo di visualizzazione che lascia intatto il file sottostante, mentre pulire i dati rimuove effettivamente le righe del weekend, normalizza i timestamp e deduplica il file sorgente. Le correzioni di visualizzazione vanno bene per i grafici visivi, ma il backtesting richiede la pulizia a livello di fonte perché gli errori nascosti continuano a influenzare la logica della strategia.
Il 95% dei day trader perde davvero denaro?
Le performance di trading variano ampiamente in base a strategia, gestione del rischio e condizioni di mercato, e nessuna cifra singola si applica universalmente a tutti i trader e mercati. Una scarsa qualità dei dati, incluse barre del weekend non pulite nei backtest, è uno dei fattori che può far apparire una strategia più redditizia in fase di test rispetto a quanto si rivela poi nel trading live.
Conviene tenere le opzioni aperte durante il weekend?
Dipende dalla specifica strategia in opzioni, dalla dimensione della posizione e dalla tolleranza al rischio del trader, e questo esula dall'ambito della pulizia dei dati forex del weekend. I trader che considerano questa domanda dovrebbero consultare risorse specifiche per i mercati delle opzioni piuttosto che pratiche relative ai dati forex.
Come verifico che la mia correzione delle barre del weekend abbia funzionato correttamente?
Controlla la presenza di timestamp duplicati, conferma che nessuna barra infrasettimanale sia stata eliminata per errore, e riesegui un indicatore semplice come una media mobile per confrontarlo con il tuo baseline pre-pulizia. Se la compressione giornaliera appare errata dopo la correzione, rivedi prima la definizione della finestra di sessione e l'offset di fuso orario.
Consigliati
- Forex Daylight Saving Time: Fixing DST Errors in Minute Data
- Fixing MT4 Missing Data: A Complete Recovery Guide
- Holiday Gaps in Market Data: A Quant's Handling Guide
- Audit First MT5 Backtesting Data: Gap, Timestamp, Ready to Import
Risorse correlate
Esplora i pacchetti di dati storici di BacktestMarket per mettere in pratica le idee di questo articolo.
