Validate the candle itself
Each row needs a usable timestamp and finite numeric open, high, low, close and volume values. Prices must be positive, and volume cannot be negative. The high must be at least as large as the open, close and low; the low must be no larger than the open or close. A zero-volume candle is different from a missing volume field and can be valid for some datasets. Invalid rows remain part of the diagnostic report rather than silently disappearing before inspection.
Check the time sequence
Duplicate timestamps can cause an indicator to count the same interval twice. Out-of-order rows can create misleading returns and wrong previous-close comparisons. The expected interval tells the checker how far apart adjacent observations should be; a larger separation may indicate missing candles, while a smaller one can reveal mixed frequencies. Review anomalies against the source market's session schedule. A checker cannot decide whether a gap is legitimate without knowing when that instrument actually trades and how its provider labels candle times.
Do not confuse clean syntax with reliable history
Passing these checks establishes internal consistency, not the authenticity of prices or completeness of an exchange export. A provider can revise candles, change volume units or supply data from a different venue without violating OHLC bounds. Keep source, symbol, interval, timezone and download date with each dataset. Do not automatically fill missing candles with invented price movement or remove outliers simply because they are inconvenient. After corrections, rerun validation and compare row counts before feeding the data into indicators or historical strategy calculations.