A session window in minutes from local midnight. end <= start means the window crosses midnight (an overnight session), which is why the test below is a wrap-aware range check rather than a plain >= start && < end.

"Local" is zone when the window names one, and MarketProfileOptions.timezone otherwise. A window that names its own zone selects the same real instants whatever the rest of the profile is read on.

interface SessionWindow {
    endMinute: number;
    name?: string;
    startMinute: number;
    zone?: string;
}

Properties

endMinute: number
name?: string

Shown on the chart when the renderer draws a session label.

startMinute: number

Minutes from midnight, 0..1439. Equal start and end means all hours.

zone?: string

IANA zone the two minute counts are written in. Omitted means "read them on MarketProfileOptions.timezone", which is what a caller hand-writing a window for their own market wants. This module is a pure calculation and is never handed the chart, so a host that wants the two to agree passes chart.timezone() into the options.