Skip to content

Research notes

Crypto candle time zones: compare the actual windows

An hourly candle can turn from red to green when its boundary moves. A six-candle worksheet shows why changing the clock is a different operation.

Offset seams divide two ivory ribbons around a circular ring, illustrating different candle session boundaries.
Illustration for research notes; examples in this article are educational.

Crypto candle time zones matter when they change the start and end of an aggregation window. Changing a chart's displayed clock may only relabel the same candles; changing the session boundary can produce different open, high, low, close and volume values. Compare the actual interval endpoints in UTC before comparing signals. Neither the displayed date nor a label such as “daily” establishes that two charts contain the same trades.

That distinction resolves two different questions: “Why does my candle show a different time?” and “Why does my candle show a different price?” Start with one candle and its boundaries, rather than changing indicator settings until the charts agree.

Separate the clock from the container

A candle needs three time definitions. Its absolute endpoints identify the market interval. Its boundary convention determines how intervals are grouped. Its display timezone determines how a person reads those endpoints.

For example, an interval beginning at 00:00 UTC is displayed as 05:30 at UTC+05:30. Those labels describe the same instant. If the interval endpoints and underlying observations stay fixed, its OHLCV values stay fixed too.

TradingView documents its chart timezone as a display preference that does not change Pine script calculations. A script can have separate time inputs, so moving the visible chart clock does not establish that a script's session rule changed. TradingView's time and timezone documentation

A boundary change is a different operation. Binance's Spot REST kline endpoint defaults to UTC and accepts a timeZone parameter that changes how kline intervals are interpreted. Its startTime and endTime request timestamps remain UTC regardless of that parameter. These are documented Binance Spot API rules; do not assume another venue or a connected application exposes the same controls. Binance Spot candlestick parameters

The practical comparison key is therefore venue, instrument, market type, price basis, interval, and absolute start and end. A BTC spot trade-price candle is a different input from a perpetual mark-price candle even if their clocks agree. The market-data quality audit covers these source-identity checks.

A half-hour offset changes an hourly signal

The following six half-hour candles are invented for this article. They represent one continuous fictional market and are labeled by UTC intervals. Each interval includes its start and excludes its end. Prices and volumes are hypothetical, and the example tests aggregation only.

UTC intervalOpenHighLowCloseVolume units
00:00–00:30100103991024
00:30–01:001021051011046
01:00–01:301041061001015
01:30–02:0010110296978
02:00–02:3097106951057
02:30–03:001051071021033

Construct two research series. Series A groups hours at UTC midnight and every whole UTC hour thereafter. Series B groups hours at local midnight in a fixed UTC+05:30 offset. Its hourly boundaries fall on UTC half-hours.

For any complete group, take the first open, greatest high, smallest low, last close and sum of volumes. Two resulting candles are:

Research candleActual UTC intervalOpenHighLowCloseVolume
A: 01:00–02:00 UTC01:00–02:00104106969713
B: 07:00–08:00 UTC+05:3001:30–02:301011069510515

Series A combines volume 5 + 8 = 13 and closes below its open. Series B combines 8 + 7 = 15 and closes above its open. A rule requiring a candle to close above its open would disagree because it evaluates different windows. The calculation does not show that either timezone is more predictive.

Now merely display A in UTC+05:30. Its label becomes 06:30–07:30, while its open remains 104 and close remains 97. Relabeling A cannot turn it into B. The same distinction applies to daily bars, although the size of the shift and the included observations differ.

Why an hourly export may be insufficient

Suppose you retain only UTC hourly OHLCV and later want the half-hour-aligned series above. The 01:00–02:00 aggregate does not reveal which half contained the high, low or volume. Splitting it at 01:30 requires information the aggregate discarded.

Use source trades or sufficiently fine complete candles whose boundaries fit every requested window. Half-hour candles suffice for this constructed example. They would not suffice for a boundary at 01:45. Do not divide an hour's volume in half or interpolate its close and present the result as recovered exchange history.

Even suitable lower-timeframe data needs explicit grouping rules. Decide which side includes a boundary observation and whether a timestamp labels the opening or closing instant. Keep partial first and last groups identifiable. Software defaults deserve inspection: pandas exposes separate controls for bin closure, labels, grouping origin and offset in its resampling API. pandas resampling parameters

A missing half-hour candle also prevents a verified complete hourly aggregate. A matching row count after filling gaps does not recover the missing price path. Resolve source gaps using the data-quality procedure before evaluating the reconstructed signal.

Record a session manifest before testing

Save a compact manifest beside each dataset and strategy version. It should answer the following questions without requiring someone to inspect a screenshot.

Manifest fieldExample for series BVerification
Boundary conventionFixed UTC+05:30, local whole hoursConvert consecutive endpoints to UTC
Storage and unitsUTC instants, declared timestamp unitRound-trip a known endpoint
MembershipStart included, end excludedPlace a boundary observation once
Label conventionOpening instantCompare label with both endpoints
Input resolutionComplete half-hour candlesCount and inspect both constituents
Completion policyUse only completed, received groupsCompare close and receipt timestamps

The last row is separate from timezone alignment. A correctly grouped candle may still be unfinished or unavailable at the decision time. The multi-timeframe timing walkthrough explains how to choose the latest eligible observation; the look-ahead bias audit tests whether later information changes an earlier decision.

The observation schedule also matters when candle prices value open exposure for a failure model. The risk-of-ruin assumption record distinguishes a boundary crossed during an open position from one assessed only at recorded outcomes.

A local day can have a changing UTC boundary

A fixed offset and a named regional timezone express different policies. UTC−05:00 always has that offset. A regional identifier such as America/New_York follows its applicable clock rules, including daylight-saving changes. TradingView documents this distinction and recommends IANA identifiers when calculations must track a region's observed time. TradingView's fixed-offset and IANA examples

If research intentionally groups by regional calendar days, preserve the timezone identifier and timezone-data version. Test the dates around clock changes; a local calendar day can span 23 or 25 elapsed hours. Such groups are unsuitable for an unqualified comparison of “equal daily volume.” Conversely, if the rule requires fixed 24-hour windows, specify that directly and do not silently substitute local calendar days.

Treat a timezone choice as part of the research procedure. Trying many session boundaries and retaining the best result adds a selection decision. Freeze the choice before the evaluation period and preserve alternatives in the research log; the walk-forward testing guide explains how to keep those decisions outside the held-out test.

Reconcile one candle before changing the strategy

When two systems disagree, compare their complete source identity and absolute endpoints first. If both match, compare constituent observations and completeness. If the windows differ, rebuild a small common interval from adequate source data. Then compare the feature calculation and only afterward the decision.

For a candle-derived execution benchmark, retain that same window identity in the transaction-cost analysis ledger. A closing price from a shifted interval cannot stand in for the original decision-time observation.

For a historical-versus-live comparison, also verify that archive requests and live subscriptions use the same boundary convention. Binance Spot documents separate UTC and UTC+8 candle streams, while their event and candle timestamps remain Unix timestamps. A correctly parsed timestamp therefore does not by itself prove that two subscriptions aggregate the same window. Binance Spot candle stream conventions

Method and limits

This AI-assisted educational article uses primary exchange and software documentation plus an original six-candle aggregation exercise. The fixture, session manifest and boundary tests illustrate reproducibility; no exchange dataset, KLINEO timezone selector or trading return was tested. A reconciled candle removes one source of disagreement, while execution assumptions and the risks of trading remain separate questions.

Keep the context with the example.

Each worked example is illustrative, with its sources and assumptions in the article. Read our editorial standards for authorship, verification and corrections.