Skip to content
Practical market worksheet

OHLCV Timestamp, Gap and Duplicate Validator

Find duplicate times, missing intervals and inconsistent candles before analysis.

Your inputsBrowser calculationCSV export

The hypothetical file contains times 00:00, 00:01, a repeated 00:01 and 00:03 UTC at a one-minute interval. It has one duplicate timestamp and one missing interval. Its last row also has high 99 while open and close are 100, so one OHLC row is invalid. Four input rows remain visible in the audit.

What this helps you check

An indicator can look precise even when its candle file contains repeated or impossible rows. This validator audits timestamps, OHLC relationships and volume, while checking gaps on unique valid times. It preserves the original row order and identifies data issues instead of manufacturing replacement candles.

A missing interval identifies a gap in this file, not its cause. No-trade periods, extraction limits and provider behavior need separate investigation. An open or unknown latest-bar state is flagged; structural checks cannot prove that the final bar is complete or that the history is exhaustive.

Your worksheet

No account connection required

Inputs are processed in your browser by this calculator. There is no quote lookup or file upload for the calculation. Site measurement and consent are handled separately by the site's privacy and consent controls.

CSV schema: timestamp (iso8601), open (number), high (number), low (number), close (number), volume (number). Header required; comma delimiter. Numeric fields use decimal points. Timestamps require Z or a numeric UTC offset. The original input remains unchanged.

Unit: minutes. Use a decimal point; do not use thousands separators.
Comma-separated CSV with a header. Maximum 500 rows and 200,000 characters.

Interactive calculation requires JavaScript. The method and hypothetical worked example below remain readable.

Hypothetical worked example

Check the example by hand

The hypothetical file contains times 00:00, 00:01, a repeated 00:01 and 00:03 UTC at a one-minute interval. It has one duplicate timestamp and one missing interval. Its last row also has high 99 while open and close are 100, so one OHLC row is invalid. Four input rows remain visible in the audit.

Input rows
4
Duplicate timestamps
1
Missing intervals
1
Invalid OHLC rows
1
Exact example inputs
{
  "interval_minutes": "1",
  "last_bar_state": "unknown",
  "csv": "timestamp,open,high,low,close,volume\n2026-01-01T00:00:00Z,100,102,99,101,5\n2026-01-01T00:01:00Z,101,103,100,102,4\n2026-01-01T00:01:00Z,101,103,100,102,4\n2026-01-01T00:03:00Z,100,99,98,100,1"
}

The example is invented to demonstrate the method. It is not a current market quote, a provider's fee schedule or verified trading performance.

How the worksheet works

  1. All finite OHLC prices>0 and volume>=0. Require high>=max(open,close,low) and low<=min(open,close,high).
  2. Count later repeated valid timestamps as duplicates.
  3. For gap analysis use unique valid timestamps regardless of independent OHLC validity, sorted chronologically; preserve original row order in the audit.
  4. For adjacent timestamps, delta/interval must be a positive integer; missing_count adds delta/interval-1; off-grid intervals receive a warning rather than a fabricated gap count.
  5. Flag original input out-of-order timestamps; do not silently rewrite or create candles.
  6. Open or unknown last-bar status generates explanatory warning, not a claim of confirmed completeness.

A missing interval identifies a gap in this file, not its cause. No-trade periods, extraction limits and provider behavior need separate investigation. An open or unknown latest-bar state is flagged; structural checks cannot prove that the final bar is complete or that the history is exhaustive.

Boundaries to keep in view

  • Only fixed-duration intervals; no calendar-month or local-DST interval assumptions.
  • No-trade periods can legitimately be absent depending on source.
  • No fabricated candle, ATR, aggregation or source-quality rating.
  • The audit is local and does not fetch market history.

Compare resources for this task

Candle-quality review starts with schema and timestamp semantics. Chart exports, exchange developer documents and libraries describe different coverage and data behavior; each needs to be understood before a raw file becomes an analytical series.

10 Services for Checking OHLCV Data

Official sources and scope

The sources document formats, mechanisms or record workflows. The arithmetic and editorial comparison on this page use the supplied worksheet definitions.

  • CCXT official manual

    OHLCV gaps can mean no trades rather than erroneous data; developer library and schema reference.

    Reference checked 2026-10-01. Consult the source for current product rules.
  • Binance official kline schema

    Klines have open-time identifiers, intervals and explicit time-zone semantics.

    Reference checked 2026-10-01. Consult the source for current product rules.
  • Kraken OHLC schema

    Latest record is an unfinished timeframe; endpoint history is limited.

    Reference checked 2026-10-01. Consult the source for current product rules.
  • Coinbase candles schema

    Product candle records grouped into time buckets; developer documentation.

    Reference checked 2026-10-01. Consult the source for current product rules.
  • OKX API schemas

    Order-book quantities, instrument units and candle completion states; developer documentation.

    Reference checked 2026-10-01. Consult the source for current product rules.
  • TradingView chart CSV

    Export loaded chart data to CSV; not all historical data are automatically included.

    Reference checked 2026-10-01. Consult the source for current product rules.