EnginePine Script

Plots and outputs

Read visible chart series and named raw Pine data through the correct shape.

The native runtime exposes chart-ready output and raw named plots. Choose the representation intentionally; their point shapes are not interchangeable.

Output surfaces

SurfacePurpose
context.pineState.chartData.seriesSeries prepared for the chart renderer
context.pineState.plotsNamed Pine plot data, including hidden signal plots
context.pineState.valuesRuntime values exposed by the native result
Native order intents and alertsAdditional runtime output, handled through their own paths

For a numeric signal bridge, use an explicitly named plot such as pine.signal. Stable names are easier to keep aligned with SJS than visual color or marker position.

Raw plots versus chart points

The raw numeric plot data used by the new signal observer has objects with time and value. The chart series path can contain arrays such as [time, value] or chart objects with fields such as x, time, and y.

Do not use a chart-point parser on raw plot objects without adapting its field names. Reject missing, non-finite, or unexpected signal values rather than treating any object as a signal.

Hidden plots remain useful

display.none lets the example retain numeric signal output without adding a visible line. The chart can therefore look quiet while a named plot remains available for SJS.

A sparse arrow series can retain an older last point after the event has passed. “Last point” does not mean “signal for the current frame.” Inspect the timestamp and define expiration explicitly.

Incremental updates

The native runner maintains state and updates the active candle instead of replaying all history on each ordinary update. Same-open-time input can replace the open candle, and drawing output can change before confirmation.

Separate the question “was output calculated?” from “did the UI receive and render its update?” when inspecting missing live plots, especially around warmup and reconnects.

Continue with signals in SJS.

On this page