sy-candlestick-chart
Candlestick
Show four prices per period in a candlestick.
sy-candlestick-chart
Explore changes in opening, high, low, and closing prices.
The example uses fictional prices. Match time zones, trading sessions, and adjusted-price conventions to your actual data.
Base chart tier: Pro. Features such as additional renderers and custom branding have separate entitlement requirements.
| Input | Data description |
|---|---|
data | An array of { time, open, high, low, close, volume? }. |
timeScale | ordinal reflects trading order; linear reflects elapsed time. |
volume | Select pane to display volume alongside prices. |
- Run in Components
Change options and view framework-specific code
- Shared installation and integration
Complete implementation example
<div id="chart-container" style="width: 100%; min-width: 0;"></div>
<script type="module">
import { defineCustomElement as define0 } from '@syidax/advanced-pro/components/sy-candlestick-chart.js';
define0();
// Pro: complete registerLicense at app startup using your issued certificate.
// The website preview certificate is not for use in customer apps.
const specs = [
{
"id": "example-chart",
"tag": "sy-candlestick-chart",
"props": {
"data": [
{
"time": 1767225600000,
"open": 100,
"close": 95,
"high": 103,
"low": 92,
"volume": 1200
},
{
"time": 1767312000000,
"open": 104,
"close": 106,
"high": 109,
"low": 101,
"volume": 1337
},
{
"time": 1767398400000,
"open": 107,
"close": 105,
"high": 110,
"low": 102,
"volume": 1474
},
{
"time": 1767484800000,
"open": 109,
"close": 114,
"high": 117,
"low": 106,
"volume": 1611
},
{
"time": 1767571200000,
"open": 108,
"close": 109,
"high": 112,
"low": 105,
"volume": 1748
},
{
"time": 1767657600000,
"open": 106,
"close": 103,
"high": 109,
"low": 100,
"volume": 1885
},
{
"time": 1767744000000,
"open": 102,
"close": 106,
"high": 109,
"low": 99,
"volume": 2022
},
{
"time": 1767830400000,
"open": 100,
"close": 100,
"high": 103,
"low": 97,
"volume": 2159
},
{
"time": 1767916800000,
"open": 98,
"close": 94,
"high": 101,
"low": 91,
"volume": 2296
},
{
"time": 1768003200000,
"open": 99,
"close": 102,
"high": 105,
"low": 96,
"volume": 2433
},
{
"time": 1768089600000,
"open": 101,
"close": 100,
"high": 104,
"low": 97,
"volume": 2570
},
{
"time": 1768176000000,
"open": 105,
"close": 100,
"high": 108,
"low": 97,
"volume": 2707
},
{
"time": 1768262400000,
"open": 109,
"close": 111,
"high": 114,
"low": 106,
"volume": 2844
},
{
"time": 1768348800000,
"open": 113,
"close": 111,
"high": 116,
"low": 108,
"volume": 2981
},
{
"time": 1768435200000,
"open": 115,
"close": 120,
"high": 123,
"low": 112,
"volume": 1318
},
{
"time": 1768521600000,
"open": 115,
"close": 116,
"high": 119,
"low": 112,
"volume": 1455
},
{
"time": 1768608000000,
"open": 114,
"close": 111,
"high": 117,
"low": 108,
"volume": 1592
},
{
"time": 1768694400000,
"open": 111,
"close": 115,
"high": 118,
"low": 108,
"volume": 1729
},
{
"time": 1768780800000,
"open": 108,
"close": 108,
"high": 111,
"low": 105,
"volume": 1866
},
{
"time": 1768867200000,
"open": 105,
"close": 101,
"high": 108,
"low": 98,
"volume": 2003
},
{
"time": 1768953600000,
"open": 105,
"close": 108,
"high": 111,
"low": 102,
"volume": 2140
},
{
"time": 1769040000000,
"open": 107,
"close": 106,
"high": 110,
"low": 103,
"volume": 2277
},
{
"time": 1769126400000,
"open": 110,
"close": 105,
"high": 113,
"low": 102,
"volume": 2414
},
{
"time": 1769212800000,
"open": 114,
"close": 116,
"high": 119,
"low": 111,
"volume": 2551
},
{
"time": 1769299200000,
"open": 119,
"close": 117,
"high": 122,
"low": 114,
"volume": 2688
},
{
"time": 1769385600000,
"open": 121,
"close": 126,
"high": 129,
"low": 118,
"volume": 2825
},
{
"time": 1769472000000,
"open": 123,
"close": 124,
"high": 127,
"low": 120,
"volume": 2962
},
{
"time": 1769558400000,
"open": 121,
"close": 118,
"high": 124,
"low": 115,
"volume": 1299
},
{
"time": 1769644800000,
"open": 119,
"close": 123,
"high": 126,
"low": 116,
"volume": 1436
},
{
"time": 1769731200000,
"open": 116,
"close": 116,
"high": 119,
"low": 113,
"volume": 1573
},
{
"time": 1769817600000,
"open": 113,
"close": 109,
"high": 116,
"low": 106,
"volume": 1710
},
{
"time": 1769904000000,
"open": 112,
"close": 115,
"high": 118,
"low": 109,
"volume": 1847
}
],
"timeScale": "ordinal",
"volume": "off",
"width": 640,
"height": 360,
"brandPosition": "bottom-right",
"brandLogo": ""
}
}
];
const container = document.querySelector('#chart-container');
const elements = specs.map(({ tag, id, props }) => {
const element = document.createElement(tag);
element.id = id;
Object.assign(element, props);
element.setAttribute('aria-label', 'candlestick example chart');
return element;
});
container.replaceChildren(...elements);
const chart = elements.at(-1);
const onEvent = event => {
console.log('pointClick', event.detail);
};
chart.addEventListener('pointClick', onEvent);
const observer = new ResizeObserver(([entry]) => {
const width = Math.max(160, Math.floor(entry.contentRect.width));
elements.forEach(element => { element.width = width; });
});
observer.observe(container);
// In an SPA, call this function when the view is disposed.
function disposeChart() {
observer.disconnect();
chart.removeEventListener('pointClick', onEvent);
container.replaceChildren();
}
</script>Properties
data
An array of { time, open, high, low, close, volume? }.
| Item | Value |
|---|---|
| JavaScript property | data |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CandlestickData |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CandlestickData
Type definition
width
Chart width in pixels. If the container width changes, update width from a ResizeObserver.
| Item | Value |
|---|---|
| JavaScript property | width |
| HTML attribute | width |
| Type | number |
| Default | 900 |
height
Chart height in pixels. Allow space for axes, titles, and the legend.
| Item | Value |
|---|---|
| JavaScript property | height |
| HTML attribute | height |
| Type | number |
| Default | 360 |
brandLogo
The default is the Syidax symbol and wordmark. With the Pro chart.branding entitlement, set none to remove it or provide a PNG, JPEG, or WebP data URL to replace it.
| Item | Value |
|---|---|
| JavaScript property | brandLogo |
| HTML attribute | brand-logo |
| Type | string |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
brandPosition
The corner where the logo is anchored. Community and Pro both support all four corners, using the same position on screen and in image exports.
| Item | Value |
|---|---|
| JavaScript property | brandPosition |
| HTML attribute | brand-position |
| Type | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' |
| Default | 'bottom-right' |
| Allowed values | top-left, top-right, bottom-left, bottom-right |
xAxis
Configure the horizontal axis type, categories, range, and formatting. For a category axis, match the categories order to the value array indices. Charts supporting multiple axes can accept an axis array.
| Item | Value |
|---|---|
| JavaScript property | xAxis |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CartesianAxisInput |
| Default | undefined |
| Literals in the type | auto, off |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CartesianAxisInput
Type definition
yAxis
Configure the vertical axis range, ticks, labels, and direction. Use consistent units for comparisons, and consider a zero baseline when comparing bar lengths.
| Item | Value |
|---|---|
| JavaScript property | yAxis |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | YAxisInput |
| Default | undefined |
| Literals in the type | auto, off |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- YAxisInput
Type definition
gridLines
Allowed values: auto, off. Default: undefined.
| Item | Value |
|---|---|
| JavaScript property | gridLines |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CartesianGridLinesInput |
| Default | undefined |
| Literals in the type | auto, off |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CartesianGridLinesInput
Type definition
crosshair
Crosshair that follows the cursor across the plot.
| Item | Value |
|---|---|
| JavaScript property | crosshair |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CartesianCrosshairInput |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CartesianCrosshairInput
Type definition
zoom
Zoom (Storybook parity, 2026-09-10): 'x' | 'y' | 'xy' | true (x) enable the drag rectangle, the pan, the Ctrl + wheel, the pinch and the keyboard (+ / - / Escape) on the primary axes — x narrows the bar window (slots under the ordinal scale, wall time under linear), y the price; an object refines mode / drag / keyboard / minRangePx / resetButton / pan / wheel / pinch / inside. Off by default; the methods (zoomTo / zoomBy / panBy / resetZoom) work regardless of the gesture switches.
| Item | Value |
|---|---|
| JavaScript property | zoom |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CartesianZoomInput |
| Default | undefined |
| Literals in the type | auto, off, true, false, x, y, xy, inside |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CartesianZoomInput
Type definition
xMin
Explicit domain ends (an omitted end follows the bars; x-axis / y-axis min / max also set them).
| Item | Value |
|---|---|
| JavaScript property | xMin |
| HTML attribute | x-min |
| Type | number |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
xMax
Set as an HTML attribute or JavaScript property. type: number.
| Item | Value |
|---|---|
| JavaScript property | xMax |
| HTML attribute | x-max |
| Type | number |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
yMin
Set as an HTML attribute or JavaScript property. type: number.
| Item | Value |
|---|---|
| JavaScript property | yMin |
| HTML attribute | y-min |
| Type | number |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
yMax
Set as an HTML attribute or JavaScript property. type: number.
| Item | Value |
|---|---|
| JavaScript property | yMax |
| HTML attribute | y-max |
| Type | number |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
padding
The price padding above and below the bars (a fraction of the span; default 0.05).
| Item | Value |
|---|---|
| JavaScript property | padding |
| HTML attribute | padding |
| Type | number |
| Default | 0.05 |
upColor
Set as an HTML attribute or JavaScript property. type: string.
| Item | Value |
|---|---|
| JavaScript property | upColor |
| HTML attribute | up-color |
| Type | string |
| Default | DEFAULT_UP_COLOR |
downColor
Set as an HTML attribute or JavaScript property. type: string.
| Item | Value |
|---|---|
| JavaScript property | downColor |
| HTML attribute | down-color |
| Type | string |
| Default | DEFAULT_DOWN_COLOR |
flatColor
Set as an HTML attribute or JavaScript property. type: string.
| Item | Value |
|---|---|
| JavaScript property | flatColor |
| HTML attribute | flat-color |
| Type | string |
| Default | DEFAULT_FLAT_COLOR |
candleWidth
The body's share of the bar pitch (0 … 1; default 0.7).
| Item | Value |
|---|---|
| JavaScript property | candleWidth |
| HTML attribute | candle-width |
| Type | number |
| Default | CANDLE_DEFAULT_WIDTH_RATIO |
candleMinPx
Set as an HTML attribute or JavaScript property. type: number.
| Item | Value |
|---|---|
| JavaScript property | candleMinPx |
| HTML attribute | candle-min-px |
| Type | number |
| Default | CANDLE_DEFAULT_MIN_PX |
candleMaxPx
Set as an HTML attribute or JavaScript property. type: number.
| Item | Value |
|---|---|
| JavaScript property | candleMaxPx |
| HTML attribute | candle-max-px |
| Type | number |
| Default | CANDLE_DEFAULT_MAX_PX |
wickWidth
The wick width in CSS px.
| Item | Value |
|---|---|
| JavaScript property | wickWidth |
| HTML attribute | wick-width |
| Type | number |
| Default | 1 |
bodyMinPx
The minimum body height in CSS px (a doji stays visible).
| Item | Value |
|---|---|
| JavaScript property | bodyMinPx |
| HTML attribute | body-min-px |
| Type | number |
| Default | 1 |
barStyle
candle (default) or ohlc (a high–low spine, an open tick left, a close tick right); hlc (no open tick). <sy-ohlc-chart> takes ohlc / hlc.
| Item | Value |
|---|---|
| JavaScript property | barStyle |
| HTML attribute | bar-style |
| Type | CandlestickBarStyle |
| Default | 'candle' |
| Allowed values | candle, ohlc, hlc, hilo |
- CandlestickBarStyle
Type definition
tickLength
(carry-over D5) — the OHLC / HLC tick length in CSS px (default: the body half-width).
| Item | Value |
|---|---|
| JavaScript property | tickLength |
| HTML attribute | tick-length |
| Type | number |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
fillAlpha
(carry-over D5) — the band fill alpha 0 … 1 (default 0.12).
| Item | Value |
|---|---|
| JavaScript property | fillAlpha |
| HTML attribute | fill-alpha |
| Type | number |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
bodyStyle
solid (default), hollow, or hollow-up (rising bars hollow, falling filled).
| Item | Value |
|---|---|
| JavaScript property | bodyStyle |
| HTML attribute | body-style |
| Type | CandlestickBodyStyle |
| Default | 'solid' |
| Allowed values | solid, hollow, hollow-up |
- CandlestickBodyStyle
Type definition
bodyBorderPx
the hollow ring's border in CSS px.
| Item | Value |
|---|---|
| JavaScript property | bodyBorderPx |
| HTML attribute | body-border-px |
| Type | number |
| Default | 1 |
wickColor
the wick colour; auto follows the body colour.
| Item | Value |
|---|---|
| JavaScript property | wickColor |
| HTML attribute | wick-color |
| Type | string |
| Default | 'auto' |
antialias
the edge coverage: auto (on while the pitch is at least two device px), on, off.
| Item | Value |
|---|---|
| JavaScript property | antialias |
| HTML attribute | antialias |
| Type | CandlestickAntialias |
| Default | 'auto' |
| Allowed values | auto, off, on |
- CandlestickAntialias
Type definition
pixelSnap
snap the body and the wick to integer device-px widths (crisp, uniform candles).
| Item | Value |
|---|---|
| JavaScript property | pixelSnap |
| HTML attribute | pixel-snap |
| Type | boolean |
| Default | true |
timeScale
ordinal reflects trading order; linear reflects elapsed time.
| Item | Value |
|---|---|
| JavaScript property | timeScale |
| HTML attribute | time-scale |
| Type | CandlestickTimeScale |
| Default | 'ordinal' |
| Allowed values | linear, ordinal |
- CandlestickTimeScale
Type definition
session
the exchange session the labels read: 24x7, us-equity, or an object / JSON string { timezone, sessions, holidays, closedWeekdays }.
| Item | Value |
|---|---|
| JavaScript property | session |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CandlestickSessionInput | string |
| Default | '24x7' |
- CandlestickSessionInput
Type definition
labelLocale
the BCP-47 locale of the month labels.
| Item | Value |
|---|---|
| JavaScript property | labelLocale |
| HTML attribute | label-locale |
| Type | string |
| Default | 'en-US' |
volume
Select pane to display volume alongside prices.
| Item | Value |
|---|---|
| JavaScript property | volume |
| HTML attribute | volume |
| Type | CandlestickVolumeMode |
| Default | 'off' |
| Allowed values | off, pane |
- CandlestickVolumeMode
Type definition
volumeHeight
the volume pane's share of the plot height (0.05 … 0.8).
| Item | Value |
|---|---|
| JavaScript property | volumeHeight |
| HTML attribute | volume-height |
| Type | number |
| Default | 0.25 |
volumeUpColor
the volume bar colours; auto follows up-color / down-color.
| Item | Value |
|---|---|
| JavaScript property | volumeUpColor |
| HTML attribute | volume-up-color |
| Type | string |
| Default | 'auto' |
volumeDownColor
Set as an HTML attribute or JavaScript property. type: string.
| Item | Value |
|---|---|
| JavaScript property | volumeDownColor |
| HTML attribute | volume-down-color |
| Type | string |
| Default | 'auto' |
volumeAlpha
the volume bars' alpha.
| Item | Value |
|---|---|
| JavaScript property | volumeAlpha |
| HTML attribute | volume-alpha |
| Type | number |
| Default | 0.45 |
overlays
moving-average overlays over the closes: spec objects { kind, period?, color?, width?, label? }, a JSON string of them, or the compact "sma:20 ema:50"; the kinds are the stock chart's (sma, ema, wma, dema, tema, vwma, hma, linreg). A legend at the top of the price pane names each line and reads its value under the pointer.
| Item | Value |
|---|---|
| JavaScript property | overlays |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CandlestickOverlayInput | string |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CandlestickOverlayInput
Type definition
chartTitle
The title inside the chart. Explain the data's unit and meaning alongside it.
| Item | Value |
|---|---|
| JavaScript property | chartTitle |
| HTML attribute | chart-title |
| Type | string |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
chartSubtitle
The subtitle inside the chart.
| Item | Value |
|---|---|
| JavaScript property | chartSubtitle |
| HTML attribute | chart-subtitle |
| Type | string |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
enableMouseTracking
Set as an HTML attribute or JavaScript property. type: boolean.
| Item | Value |
|---|---|
| JavaScript property | enableMouseTracking |
| HTML attribute | enable-mouse-tracking |
| Type | boolean |
| Default | true |
tooltip
the bar tooltip (the shared cartesian tooltip input: show / trigger / format / html / connector / draggable …).
| Item | Value |
|---|---|
| JavaScript property | tooltip |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CartesianTooltipInput |
| Default | undefined |
| Literals in the type | auto, off |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CartesianTooltipInput
Type definition
tooltipEnabled
Set as an HTML attribute or JavaScript property. type: boolean.
| Item | Value |
|---|---|
| JavaScript property | tooltipEnabled |
| HTML attribute | tooltip-show |
| Type | boolean |
| Default | true |
tooltipFormat
a plain-text formatter of the default tooltip (tooltip.format wins).
| Item | Value |
|---|---|
| JavaScript property | tooltipFormat |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | (detail: CandlestickPointEventDetail) => string |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CandlestickPointEventDetail
Type definition
animated
Whether to animate initial display and data changes.
| Item | Value |
|---|---|
| JavaScript property | animated |
| HTML attribute | animate |
| Type | boolean |
| Default | false |
animationDuration
Animation duration in milliseconds.
| Item | Value |
|---|---|
| JavaScript property | animationDuration |
| HTML attribute | animation-duration |
| Type | number |
| Default | 600 |
animationEasing
Allowed values: linear, ease-out, ease-in, ease-in-out. Default: 'ease-out'.
| Item | Value |
|---|---|
| JavaScript property | animationEasing |
| HTML attribute | animation-easing |
| Type | CandlestickEasing |
| Default | 'ease-out' |
| Allowed values | linear, ease-out, ease-in, ease-in-out |
- CandlestickEasing
Type definition
animationType
Allowed values: initial, update. Default: undefined.
| Item | Value |
|---|---|
| JavaScript property | animationType |
| HTML attribute | animation-type |
| Type | CandlestickAnimationType |
| Default | undefined |
| Allowed values | initial, update |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CandlestickAnimationType
Type definition
streamSource
A stream source of bars (§3.6); without one appendPoint creates an internal source.
| Item | Value |
|---|---|
| JavaScript property | streamSource |
| HTML attribute | Pass objects, arrays, and callbacks as JavaScript properties |
| Type | CandlestickStreamSource |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
- CandlestickStreamSource
Type definition
streamMax
The bars the internal stream source tracks at most.
| Item | Value |
|---|---|
| JavaScript property | streamMax |
| HTML attribute | stream-max |
| Type | number |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
streamWindow
The newest N streamed bars the chart renders (the whole buffer when unset).
| Item | Value |
|---|---|
| JavaScript property | streamWindow |
| HTML attribute | stream-window |
| Type | number |
| Default | undefined |
undefined means this property was not explicitly set. The effective value may depend on the chart type and other settings.
engine
Renderer selection: auto, standard, or pro. Engine selection is separate from permission to use a Pro chart type.
| Item | Value |
|---|---|
| JavaScript property | engine |
| HTML attribute | engine |
| Type | CandlestickEngineMode |
| Default | 'auto' |
| Allowed values | auto, standard, pro |
- CandlestickEngineMode
Type definition
Events
rendered
Every drawn frame; engine is the engine status (requested / effective / code / the governing license feature).
Event name: rendered. Names are case-sensitive. Read the payload from detail on CustomEvent<CandlestickRenderResult & { tier: CandlestickEngineTier; engine?: ChartEngineStatus }>.
chart.addEventListener('rendered', event => {
console.log(event.detail); // CandlestickRenderResult & { tier: CandlestickEngineTier; engine?: ChartEngineStatus }
});- CandlestickRenderResult
Type definition
- CandlestickEngineTier
Type definition
- ChartEngineStatus
Type definition
pointClick
A point selection event. Read the selected data and index from CustomEvent.detail.
Event name: pointClick. Names are case-sensitive. Read the payload from detail on CustomEvent<CandlestickPointEventDetail>.
chart.addEventListener('pointClick', event => {
console.log(event.detail); // CandlestickPointEventDetail
});- CandlestickPointEventDetail
Type definition
pointHover
CustomEvent.detail type: CandlestickPointEventDetail | null. Event names are case-sensitive.
Event name: pointHover. Names are case-sensitive. Read the payload from detail on CustomEvent<CandlestickPointEventDetail | null>.
chart.addEventListener('pointHover', event => {
console.log(event.detail); // CandlestickPointEventDetail | null
});- CandlestickPointEventDetail
Type definition
crosshairMove
CustomEvent.detail type: CartesianCrosshairEventDetail | null. Event names are case-sensitive.
Event name: crosshairMove. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianCrosshairEventDetail | null>.
chart.addEventListener('crosshairMove', event => {
console.log(event.detail); // CartesianCrosshairEventDetail | null
});- CartesianCrosshairEventDetail
Type definition
pointContextMenu
CustomEvent.detail type: ChartPointContextMenuEventDetail<CandlestickPointEventDetail>. Event names are case-sensitive.
Event name: pointContextMenu. Names are case-sensitive. Read the payload from detail on CustomEvent<ChartPointContextMenuEventDetail<CandlestickPointEventDetail>>.
chart.addEventListener('pointContextMenu', event => {
console.log(event.detail); // ChartPointContextMenuEventDetail<CandlestickPointEventDetail>
});- ChartPointContextMenuEventDetail
Type definition
- CandlestickPointEventDetail
Type definition
appended
CustomEvent.detail type: { count: number; replaced: number }. Event names are case-sensitive.
Event name: appended. Names are case-sensitive. Read the payload from detail on CustomEvent<{ count: number; replaced: number }>.
chart.addEventListener('appended', event => {
console.log(event.detail); // { count: number; replaced: number }
});windowSlid
CustomEvent.detail type: { dropped: number }. Event names are case-sensitive.
Event name: windowSlid. Names are case-sensitive. Read the payload from detail on CustomEvent<{ dropped: number }>.
chart.addEventListener('windowSlid', event => {
console.log(event.detail); // { dropped: number }
});tooltipShow
the tooltip events of the shared contract.
Event name: tooltipShow. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianTooltipEventDetail>.
chart.addEventListener('tooltipShow', event => {
console.log(event.detail); // CartesianTooltipEventDetail
});- CartesianTooltipEventDetail
Type definition
tooltipHide
CustomEvent.detail type: void. Event names are case-sensitive.
Event name: tooltipHide. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.
chart.addEventListener('tooltipHide', event => {
console.log(event.detail); // void
});tooltipAction
CustomEvent.detail type: CartesianTooltipActionEventDetail. Event names are case-sensitive.
Event name: tooltipAction. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianTooltipActionEventDetail>.
chart.addEventListener('tooltipAction', event => {
console.log(event.detail); // CartesianTooltipActionEventDetail
});- CartesianTooltipActionEventDetail
Type definition
chartAnimationStart
CustomEvent.detail type: void. Event names are case-sensitive.
Event name: chartAnimationStart. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.
chart.addEventListener('chartAnimationStart', event => {
console.log(event.detail); // void
});chartAnimationEnd
CustomEvent.detail type: void. Event names are case-sensitive.
Event name: chartAnimationEnd. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.
chart.addEventListener('chartAnimationEnd', event => {
console.log(event.detail); // void
});chartAnimationInterrupted
CustomEvent.detail type: void. Event names are case-sensitive.
Event name: chartAnimationInterrupted. Names are case-sensitive. Read the payload from detail on CustomEvent<void>.
chart.addEventListener('chartAnimationInterrupted', event => {
console.log(event.detail); // void
});zoomChange
Fired after every zoom change (drag / pan / wheel / pinch / keyboard / api / reset) with the new state.
Event name: zoomChange. Names are case-sensitive. Read the payload from detail on CustomEvent<CartesianZoomChangeEventDetail>.
chart.addEventListener('zoomChange', event => {
console.log(event.detail); // CartesianZoomChangeEventDetail
});- CartesianZoomChangeEventDetail
Type definition
Methods
getDataTable
Current normalized table, including the retained stream; independent of GPU availability.
getDataTable(): Promise<ChartDataTable>Return type: Promise<ChartDataTable>. Call the method after element registration and await its Promise result.
- ChartDataTable
Type definition
redraw
Redraw the chart using its current data and options. Inspect the rendered result after the returned Promise resolves.
redraw(): Promise<CandlestickRenderResult>Return type: Promise<CandlestickRenderResult>. Call the method after element registration and await its Promise result.
- CandlestickRenderResult
Type definition
getActiveTier
An asynchronous method. Check the argument and return types below.
getActiveTier(): Promise<CandlestickEngineTier>Return type: Promise<CandlestickEngineTier>. Call the method after element registration and await its Promise result.
- CandlestickEngineTier
Type definition
setData
Replace the bar set.
setData(data: CandlestickData): Promise<void>| Arguments | Type | Required |
|---|---|---|
data | CandlestickData | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
- CandlestickData
Type definition
appendPoint
Append one value to the stream. Check the argument type and the licensing requirements for streaming.
appendPoint(bar: CandlestickBarInput): Promise<void>| Arguments | Type | Required |
|---|---|---|
bar | CandlestickBarInput | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
- CandlestickBarInput
Type definition
appendBatch
Append multiple values to the stream. Check the argument type and the licensing requirements for streaming.
appendBatch(bars: ReadonlyArray<CandlestickBarInput>): Promise<void>| Arguments | Type | Required |
|---|---|---|
bars | ReadonlyArray<CandlestickBarInput> | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
- CandlestickBarInput
Type definition
shift
Drop the oldest streamed bars (the data bars are not the stream).
shift(count: number): Promise<void>| Arguments | Type | Required |
|---|---|---|
count | number | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
replace
Swap the streamed set (replace([]) clears it); the base values never leave. Without chart.streaming the dies upsert into the base like a batch (quietly: no appended, no binChanged, as a ring replace).
replace(bars: ReadonlyArray<CandlestickBarInput>): Promise<void>| Arguments | Type | Required |
|---|---|---|
bars | ReadonlyArray<CandlestickBarInput> | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
- CandlestickBarInput
Type definition
getStreamSource
The stream session's source (Chart Pro): like the stream methods it waits for a license still being confirmed.
getStreamSource(): Promise<CandlestickStreamSource | undefined>Return type: Promise<CandlestickStreamSource | undefined>. Call the method after element registration and await its Promise result.
- CandlestickStreamSource
Type definition
setAnimation
An asynchronous method. Check the argument and return types below.
setAnimation(options: { duration?: number; easing?: CandlestickEasing; enabled?: boolean; type?: CandlestickAnimationType }): Promise<void>| Arguments | Type | Required |
|---|---|---|
options | { duration?: number; easing?: CandlestickEasing; enabled?: boolean; type?: CandlestickAnimationType } | Required |
Return type: Promise<void>. Call the method after element registration and await its Promise result.
- CandlestickEasing
Type definition
- CandlestickAnimationType
Type definition
pauseAnimation
Pause the current animation.
pauseAnimation(): Promise<void>Return type: Promise<void>. Call the method after element registration and await its Promise result.
resumeAnimation
Resume a paused animation.
resumeAnimation(): Promise<void>Return type: Promise<void>. Call the method after element registration and await its Promise result.
replayAnimation
Replay the initial sweep from min → value(s). No-op when animation is off / reduced.
replayAnimation(): Promise<void>Return type: Promise<void>. Call the method after element registration and await its Promise result.
hitTest
The bar under a host-local point (the nearest bar within half a pitch, anywhere inside the plot's height).
hitTest(cssX: number, cssY: number): Promise<CandlestickPointEventDetail | null>| Arguments | Type | Required |
|---|---|---|
cssX | number | Required |
cssY | number | Required |
Return type: Promise<CandlestickPointEventDetail | null>. Call the method after element registration and await its Promise result.
- CandlestickPointEventDetail
Type definition
getBar
The normalised bar at an index (null outside).
getBar(index: number): Promise<CandlestickBar | null>| Arguments | Type | Required |
|---|---|---|
index | number | Required |
Return type: Promise<CandlestickBar | null>. Call the method after element registration and await its Promise result.
- CandlestickBar
Type definition
getBarAt
The bar nearest to a time (null for an empty series).
getBarAt(time: number): Promise<(CandlestickBar & { index: number }) | null>| Arguments | Type | Required |
|---|---|---|
time | number | Required |
Return type: Promise<(CandlestickBar & { index: number }) | null>. Call the method after element registration and await its Promise result.
- CandlestickBar
Type definition
getBarCount
An asynchronous method. Check the argument and return types below.
getBarCount(): Promise<number>Return type: Promise<number>. Call the method after element registration and await its Promise result.
getExtent
An asynchronous method. Check the argument and return types below.
getExtent(): Promise<CandlestickExtent>Return type: Promise<CandlestickExtent>. Call the method after element registration and await its Promise result.
- CandlestickExtent
Type definition
getDomain
The data domain the grid spans.
getDomain(): Promise<CandlestickDomain>Return type: Promise<CandlestickDomain>. Call the method after element registration and await its Promise result.
- CandlestickDomain
Type definition
getVisibleRange
The bars the plot shows: the x-axis window, narrowed by the zoom when one is in place.
getVisibleRange(): Promise<CandlestickVisibleRange>Return type: Promise<CandlestickVisibleRange>. Call the method after element registration and await its Promise result.
- CandlestickVisibleRange
Type definition
showTooltipAtIndex
open the tooltip on a bar by index (null when the tooltip is off or the bar is outside the visible window).
showTooltipAtIndex(index: number): Promise<CartesianTooltipEventDetail | null>| Arguments | Type | Required |
|---|---|---|
index | number | Required |
Return type: Promise<CartesianTooltipEventDetail | null>. Call the method after element registration and await its Promise result.
- CartesianTooltipEventDetail
Type definition
hideTooltip
Close the currently visible tooltip.
hideTooltip(): Promise<void>Return type: Promise<void>. Call the method after element registration and await its Promise result.
focusBarAt
move the keyboard focus ring to a bar (null outside the visible window); emits pointHover like the walk.
focusBarAt(index: number): Promise<CandlestickPointEventDetail | null>| Arguments | Type | Required |
|---|---|---|
index | number | Required |
Return type: Promise<CandlestickPointEventDetail | null>. Call the method after element registration and await its Promise result.
- CandlestickPointEventDetail
Type definition
getOverlays
the overlays: each settled spec with where its PRIMARY line exists and what is visible (the outputs and the band ride on the spec).
getOverlays(): Promise<CandlestickOverlayState[]>Return type: Promise<CandlestickOverlayState[]>. Call the method after element registration and await its Promise result.
- CandlestickOverlayState
Type definition
getOverlayValues
the overlay values at a bar index: the primary output under the overlay id, the others under id.key (null through a warm-up).
getOverlayValues(index: number): Promise<Record<string, number | null>>| Arguments | Type | Required |
|---|---|---|
index | number | Required |
Return type: Promise<Record<string, number | null>>. Call the method after element registration and await its Promise result.
getPanes
the panes: the price pane, the volume pane when it exists, the separator, and why there is none.
getPanes(): Promise<CandlestickPaneRects>Return type: Promise<CandlestickPaneRects>. Call the method after element registration and await its Promise result.
- CandlestickPaneRects
Type definition
getTimeScale
the time scale of the visible range: the kind, the slots, the spacing and the ordinal ticks.
getTimeScale(): Promise<CandlestickTimeScaleState>Return type: Promise<CandlestickTimeScaleState>. Call the method after element registration and await its Promise result.
- CandlestickTimeScaleState
Type definition
zoomTo
Zoom to explicit windows: x / y as { min, max } or [min, max] (null clears that orientation; x in slots under the ordinal scale — bar i sits at i — or epoch ms under linear, y in price); xAxis / yAxis name the axis by id or slot index (default: the primary axis).
zoomTo(request: CartesianZoomRequest): Promise<CartesianZoomChangeEventDetail | null>| Arguments | Type | Required |
|---|---|---|
request | CartesianZoomRequest | Required |
Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.
- CartesianZoomChangeEventDetail
Type definition
- CartesianZoomRequest
Type definition
zoomBy
Scale the current windows by factor (< 1 zooms in) around anchorFraction (0..1, default centre).
zoomBy(factor: number, anchorFraction?: number): Promise<CartesianZoomChangeEventDetail | null>| Arguments | Type | Required |
|---|---|---|
factor | number | Required |
anchorFraction | number | Optional |
Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.
- CartesianZoomChangeEventDetail
Type definition
panBy
Slide the zoomed windows by data units ({ x?, y? } — x in slots or ms, y in price); a no-op at the full extent.
panBy(delta: { x?: number; y?: number }): Promise<CartesianZoomChangeEventDetail | null>| Arguments | Type | Required |
|---|---|---|
delta | { x?: number; y?: number } | Required |
Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.
- CartesianZoomChangeEventDetail
Type definition
resetZoom
Reset the zoomed or panned range to the original data range.
resetZoom(): Promise<CartesianZoomChangeEventDetail | null>Return type: Promise<CartesianZoomChangeEventDetail | null>. Call the method after element registration and await its Promise result.
- CartesianZoomChangeEventDetail
Type definition
getZoom
Read the current zoom range. Check the return type's nullability and the range for each axis.
getZoom(): Promise<CartesianZoomState | null>Return type: Promise<CartesianZoomState | null>. Call the method after element registration and await its Promise result.
- CartesianZoomState
Type definition
getZoomExtent
The full extent (and key) of the primary — or the named — master axes (x: the visible slot range −0.5 … n − 0.5 under ordinal, the ms window under linear; y: the fitted price domain).
getZoomExtent(request?: CartesianZoomExtentRequest): Promise<CartesianZoomExtentDetail | null>| Arguments | Type | Required |
|---|---|---|
request | CartesianZoomExtentRequest | Optional |
Return type: Promise<CartesianZoomExtentDetail | null>. Call the method after element registration and await its Promise result.
- CartesianZoomExtentDetail
Type definition
- CartesianZoomExtentRequest
Type definition
getEngineStatus
Requested engine vs what runs, and why (CHART-ADD-08): the decision for the current inputs, read without side effects (ProChartLicense.engineStatus); a renderer that failed at run time reports engine-unsupported.
getEngineStatus(): Promise<ChartEngineStatus>Return type: Promise<ChartEngineStatus>. Call the method after element registration and await its Promise result.
- ChartEngineStatus
Type definition