Attach a band drawn behind the plots (an Ichimoku cloud).
Add the pane-legend row (name + inline up/down/hide/maximize/close).
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.
OptionalpriceFormat: PriceFormatAxis/crosshair formatting for the scale this plot maps to.
Attach a corner-pinned summary grid to a pane, and detach it again.
OptionaldataOptional 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.
OptionalindicatorOptionalintervalOptionalnowDetach a signal-marker layer. There is no matching add: the layer comes
from series.createMarkers() on a plot's own series, so it already lands in
the right pane. Removing a series does not remove its primitives, hence this.
OptionalremoveOptionalsetPublish 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.
OptionalsubscribeOptionalsymbolOptionaltickTick 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. Pane 0 is the price pane, so it 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.
The slice of the chart the runtime needs. Keeps this module testable alone.