OptionalanimOptionalanimEase a wheel zoom over a few frames instead of landing the whole step on one. Default true, matching the inertial pan a flick already gets: a chart that glides when panned and jumps when zoomed reads as two different instruments. Off restores the single-frame step.
OptionalariaAccessible label for the chart container (screen readers).
OptionalaxisOptional chrome on the axis strips: the corner clock and the bar-close countdown. Both are off unless asked for, so a chart that omits this block draws the axes it always drew.
OptionalbrandingOpenAlgo corner mark by default. Pass false to hide it or options for custom branding.
OptionalcanvasThe settings dialog's Canvas block: grid, crosshair, scale text/lines and
plot margins. Every field is an override of the theme, so a later
setTheme still restyles anything the dialog did not touch.
OptionalconflateEnable OHLC-preserving conflation when zoomed out (§4.4). Default false.
OptionalconflationConflation aggressiveness (default 1).
OptionalcrosshairCrosshair behaviour. 'normal' (default) — the cross follows the pointer exactly. 'magnet' — the horizontal line snaps to the nearest O/H/L/C of the bar under the cursor (price pane only).
OptionaldocumentOptionaldoubleWhat a double-click on a pane does. 'reset' (the default, and what the
chart has always done) fits every loaded bar on screen and autoscales,
which also lands the viewport on the oldest bar and so wakes a history
loader. 'maximize' gives the pane the whole stack, and a second
double-click puts the stack back, which is what a multi-pane terminal
usually wants from the gesture. 'none' only emits the event. While a
tool is being placed a double-click finishes the shape whatever this says.
OptionalgridGrid lines: visibility (both default to true) plus per-axis colour, dash, width and spacing. Unset colours/dashes fall through to the theme.
OptionallegendWhere indicator legend rows start inside one pane, in media px. A host that draws its own overlay in a pane's top-left corner — an OHLC readout, a symbol line, a trade panel — needs to push these clear of it, or the rows land underneath and their settings / close buttons become invisible and unclickable.
It follows whichever pane currently renders at that corner, which is normally pane 0 — but maximizing a lower pane parks the others at a placeholder weight, so the maximized pane moves into the same corner and inherits the offset. Every other pane keeps the default corner, because a short lower pane would have its legend pushed off it entirely.
Defaults to { top: 6, left: 8 }.
OptionalnavigationSaved navigation preferences, also exposed in the Axes settings tab.
OptionalnowTime source for kinetic animation (defaults to performance.now).
OptionalpixelOptionalpriceOptionalpriceCustom price formatter for every pane's axis tick labels, the last-price
tag, and price-line labels. e.g. (p) => '$' + p.toFixed(2). When omitted,
a tick-size-aware toFixed is used. Change it later via setPriceFormatter.
OptionalpriceDefault price-scale options applied to every pane (tick size minMove,
mode: 'linear' | 'logarithmic' | 'percentage' | 'indexed-to-100',
inverted, and top/bottom margins). minMove is the instrument's, so it
lands only on panes that quote it, see setPriceScaleOptions.
Tune a single pane later via chart.panes()[n].priceScale.setOptions(...).
OptionalrafOptionalrenderBuild the backend directly, one call per pane, bypassing renderer and
the registry. For a host bringing its own backend, and for tests that
want to see what the pane asks a backend to paint. A factory that returns
null gets the 2D backend for that pane.
OptionalrendererWhich backend paints the series. 'canvas2d' (the default) is the 2D
path every chart has always drawn with. 'webgl2' asks for the GPU
backend: it throws when the tier that registers it has not been imported
(a missing import is a mistake in the code), and on a device where that
tier finds no WebGL2 it falls back to canvas2d with one console warning
(a property of the machine the host should still hear about). 'auto'
takes webgl2 when it is registered and available on this device and
canvas2d otherwise, silently. Decided once, at construction; read what
was actually chosen from rendererKind. A GPU backend that loses its
context later moves the chart to canvas2d for the rest of the session
and emits 'renderer:fallback'.
OptionalshortcutsKeyboard shortcuts. Pass a configured ShortcutManager, options to build
one, or false to disable keyboard control. Defaults to the built-in keymap.
OptionalstatusPer-field status-line switches applied to every pane legend on the chart.
OptionalthemeFull palette; pass lightTheme (the default), darkTheme, or a custom ChartTheme.
OptionaltimeOptionaltimeCustom time-axis and crosshair label formatter (receives UTC seconds). When
omitted, labels use IST (Indian market default). e.g. for UTC:
(s) => new Date(s * 1000).toISOString().slice(11, 16).
OptionaltimeHover-revealed zoom / step controls above the time axis, as terminals show.
true by default — they stay invisible until the pointer nears the bottom
of the chart. Pass false to drop them, or an options object to restyle.
OptionaltimeInitial horizontal scale configuration, including spacing limits for wide profiles.
OptionaltimezoneIANA zone the time axis and crosshair label in, e.g. 'America/New_York' or 'Europe/London'. Defaults to 'Asia/Kolkata': a caller who passes nothing gets exactly the labels the chart produced before this option existed.
An IANA name and not a fixed offset, because a zone that observes DST is a
different offset in July than in January and a fixed one is silently wrong
for half the year. Change it at runtime with setTimezone when the terminal
moves between an NSE symbol and a US one. An explicit timeFormatter
outranks this: a host that formats its own labels has settled the question.
Throws if the runtime does not recognise the name.
OptionalwatermarkBackground text, off by default. Blank text follows setDataContext.
OptionalzoomWhat a wheel zoom holds still: the bar under the cursor, or the right edge
(the latest bar). Default 'cursor', which is what the chart has always
done. 'right' keeps the most recent bar pinned while history stretches
away from it, which is what a live chart usually wants.
Ease automatic price ranges during navigation. Defaults to animZoom (true).