Generates per-candle CandlestickSelector entries for a Highcharts
candlestick series.
MAIDR's CandlestickTrace expects either a single legacy selector string or
a structured CandlestickSelector whose fields (body, wickHigh,
wickLow, ...) name the sub-elements per candle so they can be highlighted
individually.
Highcharts renders each candlestick as a single <path class="highcharts-point">
whose d attribute contains three subpaths:
Mx_lefty_openLx_lefty_closeLx_righty_closeLx_righty_openZ <-- body (rect-with-Z) Mx_midy_topLx_midy_bodyTop <-- upperwick Mx_midy_bodyBotLx_midy_low <-- lowerwick
(subpath order varies between Highcharts releases; ordering is not assumed).
The adapter (see stampCandlestickIndices / splitCandlestickPath in
adapter.ts) is responsible for splitting that single <path> into three
separate <path> siblings stamped with:
The original <path> loses its highcharts-point class so future class-only
queries skip it. This mirrors the boxplot whisker split (see splitWhiskerPath).
Trade-off: open/close are not provided as separate selectors. MAIDR's
CandlestickTrace derives open/close line segments from the body's edges
via Svg.createLineElement when omitted, which is sufficient for
highlighting the open/close marks.
Generates per-candle CandlestickSelector entries for a Highcharts candlestick series.
MAIDR's
CandlestickTraceexpects either a single legacy selector string or a structuredCandlestickSelectorwhose fields (body,wickHigh,wickLow, ...) name the sub-elements per candle so they can be highlighted individually.Highcharts renders each candlestick as a single
<path class="highcharts-point">whosedattribute contains three subpaths:(subpath order varies between Highcharts releases; ordering is not assumed).
The adapter (see
stampCandlestickIndices/splitCandlestickPathin adapter.ts) is responsible for splitting that single<path>into three separate<path>siblings stamped with:data-maidr-candle-index="N"(per-candle disambiguator)data-maidr-candle-part="body" | "upper-wick" | "lower-wick"(sub-element)The original
<path>loses itshighcharts-pointclass so future class-only queries skip it. This mirrors the boxplot whisker split (seesplitWhiskerPath).Trade-off: open/close are not provided as separate selectors. MAIDR's
CandlestickTracederives open/close line segments from the body's edges viaSvg.createLineElementwhen omitted, which is sufficient for highlighting the open/close marks.