interface IndicatorState {
    barSource?: IndicatorBarSource;
    indicatorId: string;
    instanceId?: string;
    paneIndex: number;
    plotPriceScaleIds?: Readonly<Record<string, PriceScaleId>>;
    policy?: IndicatorPolicy;
    priceScaleId?: PriceScaleId;
    settings: IndicatorSettings;
    studyInputs?: readonly string[];
    visible?: boolean;
}

Properties

barSource?: IndicatorBarSource

'underlying' for a study computing on the bars under a transformed chart, written only then, so a study on the chart's bars saves what it always did. Omission restores it on the chart's bars.

indicatorId: string
instanceId?: string

Stable workspace identity. Dependency templates remap it when copied.

paneIndex: number
plotPriceScaleIds?: Readonly<Record<string, PriceScaleId>>

Explicit plot assignments, including plots drawn on the price pane.

The restrictions its host set, written only when a flag is false, so an unrestricted study saves exactly what it always did. Omission restores it unrestricted.

priceScaleId?: PriceScaleId

Whole-study scale override. Omission retains the descriptor's plot assignments.

studyInputs?: readonly string[]

Settings keys carrying declared study references, for portable template remapping.

visible?: boolean

Omitted by older layouts, which restore the indicator as visible.