Attach a band drawn behind the plots (an Ichimoku cloud).
Add the pane-legend row (name + inline up/down/hide/maximize/close).
Optionalcolor?: stringOptionalhasSource?: booleanThe descriptor's hasSource, so the row can offer a source button.
Add a reference level. One options object rather than seven positional arguments: the list grew a width and a dash style in 1.7.1, and a call site of seven bare values is where the next one gets passed in the wrong slot.
Kept for hosts predating lineStyle; always lineStyle === 'dashed'.
OptionaladdAttach an arbitrary primitive to a pane, and detach it again. Carries both
the descriptor's drawing layer and whatever a Tier-2 attach lifecycle
wants to paint, so those two do not need a host method each.
Optional, like timezone, so a host predating it still satisfies this
interface: an indicator that draws simply draws nothing there.
A series for one plot. The study writes it with setData for a whole pass
and, from 2.5.8, with update for the points a live tick moved (older
points included), so a host's own series must implement both as documented.
OptionalpriceFormat: PriceFormatAxis/crosshair formatting for the scale this plot maps to.
Attach a corner-pinned summary grid to a pane, and detach it again.
OptionalassignOptionalbindOptionaldataOptional instrument identity and source-range notifications.
OptionalemitOptionalflushOptionalformatWrite a number the way the price axis of that pane writes it.
The legend sits inches from the axis and names the same quantity, so the
two disagreeing is the reading a user has to reconcile themselves. Deriving
the format here from a tick got that wrong twice over: a study pane carries
no tick at all, so a percentage read 0.618 beside an axis saying 0.62,
and a price pane's tick alone misses the precision floor and the host's own
formatter, so a volume study read seven digits where its axis said 1.20M.
Asking the scale removes the second opinion. Optional so a host driving this module alone still works, falling back to the magnitude ladder.
Optionalseries: SeriesApiOptionalindicatorOptionalindicatorOptionalindicatorOptionalintervalOptionallegendOptionalnowOptionalpolicyOptionalprimaryCurrent slot of the chart's price pane, where an on-chart study and every
overlay plot, band, table and price-anchored mark draws. Read at each
use, since the price pane can be moved below the studies. Optional so a
host predating it still satisfies this interface; absent means slot 0.
OptionalprimaryDetach a signal-marker layer. There is no matching add: the layer comes
from series.createMarkers() on a plot's own series, or on the instrument's
for marks sent to the candles, so it already lands in the right pane.
Removing a series does not remove its primitives, hence this.
OptionalremoveOptionalrequestBars of another instrument or interval, from wherever the host keeps its
history. Optional: without it the attach context's requestBars rejects,
which a study reads as "not available on this chart".
OptionalrequestOptionalrequestOptionalresourcesRestore the host's study stack after settings replace series or attached
visuals. Also called from inside a calculation pass when that pass first
creates a layer for an output target (see IndicatorOutputTarget), so the
layer takes its study's place among the targeted layers instead of landing
above every later study's. During that call the instances report their
targeted layers alone, so nothing else moves. It must only restack:
recomputing studies from it would run them in the middle of another
study's pass.
OptionalsetPublish an indicator's per-bar colours onto the primary price series,
or withdraw them with null. owner is the instance id: a host holds one
overlay at a time and only lets its current owner withdraw it, so a second
publisher taking over does not get cleared by the first one's teardown.
Optional, like timezone: a host that does not implement it simply gives a
barColors descriptor nowhere to publish, and the indicator's own plots are
unaffected.
OptionalsetOptionalsetOptionalsourceOptional mutation metadata; absent hosts retain the legacy timestamp heuristic.
OptionalstudyOptionalsubscribeOptionalsubscribeOptionalsymbolOptionaltickTick size of the named pane's price scale, or undefined when none is set. Optional so a host predating it still satisfies this interface.
Per pane, and the panes genuinely differ: a pane that does not quote the
instrument has no tick to report. The price pane (primaryPaneIndex) is
the one to ask for the instrument's own step.
OptionaltimezoneThe chart's configured IANA zone. Optional so a host predating the option still satisfies this interface; absent means the shipped default.
A descriptor is handed bars and settings and never the chart, so this is
how the calendar an anchor resets on (a VWAP session, a seasonality month)
reaches the calculation. See IndicatorInstance._descriptorSettings.
OptionalunderlyingThe host's bars under a transformed primary series and the source bar each
of sourceBars was completed on (null when they are one to one), or null
when the chart draws its bars as given. Optional; without it a study on the
underlying bars computes on sourceBars, and one on the chart's bars is
never told they are transformed (IndicatorCalcContext.transformed).
Optionalvalidate
The slice of the chart the runtime needs. Keeps this module testable alone.