The rows one chart's candles actually have, in order.
One rule with two callers: the trace builds its grid, its braille and its
section walk from this, and LiveDataService resolves the row to announce
a newly streamed candle on. They must agree -- a close looked up in
CANDLESTICK_SECTIONS is row 4, which on a chart with no open is
past the last row there is.
Asked of every candle rather than of any: the rows are a property of
the chart, since the values form a rectangular grid, so an open is a row
here only if every candle can fill it. A series stating one for some
periods and not others is read as the high-low-close it can be read as
throughout, which is what they have in common.
The rows one chart's candles actually have, in order.
One rule with two callers: the trace builds its grid, its braille and its section walk from this, and
LiveDataServiceresolves the row to announce a newly streamed candle on. They must agree -- acloselooked up in CANDLESTICK_SECTIONS is row 4, which on a chart with no open is past the last row there is.Asked of every candle rather than of any: the rows are a property of the chart, since the values form a rectangular grid, so an open is a row here only if every candle can fill it. A series stating one for some periods and not others is read as the high-low-close it can be read as throughout, which is what they have in common.