Skip to main content
Contents
7 min read

Signals

Signal Library

Find, inspect, organize, sync, and use reusable Signals in a Strategy.

App path

  • Signals -> Signal Library
  • Signals -> Signal Library -> Inspector

Use Signal Library

Signal Library is where you inspect and organize the reusable calculations available to a Strategy. A Signal turns market data, prepared inputs, or another Signal's output into named values such as a moving average, volatility measure, session reference, or market-state label. It does not place orders, size a position, or deploy on its own.

Use Signals -> Signal Library before adding a Signal to a Strategy, after syncing local Signal code, or when you need to understand why an input is not available for a particular Dataset.

Find the right Signal

Use Search and Group to narrow the catalog, then select a row to open its Inspector. The table gives you the quickest compatibility check:

FieldWhat it tells you
NameThe human-readable calculation. Use the stable Signal ID in Advanced when exact identity matters.
InputsThe market fields or upstream Signal outputs it reads.
Data NeededThe minimum data shape it expects. This is a requirement, not a promise that your selected Dataset can satisfy it.
SourceWhether the entry came from a local plugin or a stored Signal Program.
OutputsThe named values a Strategy or another Signal can use.

Search and grouping help you find an installed Signal; they do not prove that it is suitable for every market, time window, or execution path. Open the Inspector before using it.

Upstream and downstream dependencies

An upstream dependency is something a Signal must have before it can calculate: a market field, prepared input, context value, or exact output from another Signal. A downstream dependency is a Signal, Strategy, Study, or saved result that uses this Signal's output.

For example, Session VWAP True Z-Score reads session_id, close, and volume directly and produces session_vwap, weighted_sd, distance, and zscore. It has no upstream Signal. A Strategy can then use its zscore and weighted_sd outputs.

Some Signals do form a chain. Session VWAP Distance reads the output of Session VWAP, then produces distance, rolling standard deviation, and z-score. When a Strategy uses that z-score, Study validation resolves the full chain; you do not bind every intermediate output to the Strategy yourself.

When changing or sharing a Signal, review both directions: a changed upstream input can affect every downstream calculation, while a new Signal version does not silently replace the version already used by a Strategy or saved result.

Data needed: examples by level

Data Needed describes what the calculation requires. It is separate from a Strategy's execution mode: Vector, Bar, Tick, Quote, and Depth describe how a Strategy is evaluated, not the minimum input for a Signal.

Requirement shown in Signal LibraryShipped exampleWhat it uses
OHLCV BarsSMAclose values from prepared bars. This is the normal requirement for a moving average.
Volumetric BarsBar DeltaPer-bar delta, derived from bid/ask volume classification. It does not need a full price-by-price footprint.
Tick ReplayStacked ImbalanceReplayed trades and the prepared fixed-width footprint volume fields at levels 1–3.
OHLCV Bars + Volumetric BarsSession Cumulative DeltaSession context together with per-bar delta.
OHLCV Bars + Tick ReplayPrior-Session POC ConfluenceBar close together with prepared prior-session profile information from replayed trades.
OHLCV Bars + Aligned Secondary SeriesRelative Close SpreadThe primary close and a time-aligned benchmark close.
OHLCV Bars + Instrument ContextInitial Balance / Opening RangeBars plus facts such as timezone and session information.

The market-data fidelity ladder is Bars, Trades, L1 quotes, L2 market-by-price, and L3 market-by-order. In the current shipped Signal catalog, the examples above cover bar data and trade-derived volumetric or Tick Replay inputs. No bundled Signal currently declares a direct L1, L2, or L3 market-book requirement. The fixed levels 1–3 used by footprint Signals are prepared trade-volume features; they are not a claim that the Signal consumes a full L1, L2, or L3 order book.

Read the Inspector

The Inspector describes the exact Signal declaration currently in the catalog.

Metadata and launch details

Metadata shows the name, group, labels, category, library status, data needed, and last update. A library state of Missing from library means the catalog remembers a plugin-backed Signal that is no longer found in the local Signal Library. It does not rewrite earlier Strategies or results.

When present, Launch Contract summarizes the calculation family, formula, history it needs, implementation label, and any caveats. Read caveats as operating limits, not as a marketing description.

Inputs, parameters, and outputs

Declared Inputs lists what the Signal reads. An input can be a market field such as close, or an exact output from another Signal. Instrument Context lists non-column facts the calculation needs, such as tick size, timezone, or a session calendar.

Parameters control how the calculation behaves. For each one, review its type, default, and allowed minimum/maximum values. A value of 20 means different things for 20 bars, 20 trades, and 20 seconds; use the Signal's description and formula to understand the unit before changing it. Saving parameter defaults or ranges changes catalog settings, not the Signal's source code or its semantic version.

Outputs are the columns exposed to downstream work. Choose an output by its meaning and type, not only by the Signal's display name. For example, a Signal may provide a numeric value for comparison and a separate Boolean state for a condition.

Open Advanced when you need the precise Signal ID, version, source path, streaming declaration, or raw declaration details for support or reproducible work. These are inspection details; do not edit source paths or identifiers there.

Organize the catalog

Groups and labels make the Library easier to browse. They do not change what a Signal calculates.

  • Update Group or comma-separated Labels, then select Save Metadata.
  • Use Manage Signal Groups to move the selected Signal or return a group to General.
  • Use labels for useful discovery terms such as session, trend, or volume, rather than to imply a validation or performance status.

Treat a group as navigation metadata. Do not use it as the only record of a Signal's data requirement, version, or suitability.

Sync a local Signal

Select Sync Plugins to rescan the configured local Signal Library and update the catalog. Select Sync in a Signal's Inspector when you changed one known plugin and want to import only that Signal.

Sync reads and validates the local declaration, then updates the catalog entry for that exact Signal. It does not run a Study, create a trading result, or silently update Strategies that reference an older version. If sync reports a duplicate, load error, or ID mismatch, correct the plugin instead of changing a catalog row to hide the problem.

Only sync code you wrote or reviewed. Signal plugins are trusted local code and may be loaded during discovery and evaluation.

Use a Signal in a Strategy

Select Use in Strategy from the Inspector to begin a new Strategy Composer draft with the reviewed Signal version. In the Strategy, choose the exact output and write the condition that uses it.

The handoff confirms that Composer can reference the declaration. It does not prove that the selected Dataset has the necessary fields or coverage, that an output already exists, or that a future Study will pass every readiness check. Those questions are resolved when the Strategy and its data context are validated.

Change or remove a Signal deliberately

Changing a Signal's formula, inputs, outputs, or parameter meaning should create a new Signal version. Existing Strategies and results should retain the version they used until you intentionally make a new Strategy version.

Delete removes the selected entry from the active catalog; it does not erase the plugin source or rewrite historical references. Review the Signal's use in Strategies and prior work before deleting it. If the local plugin remains in its configured location, a later sync can discover it again.

A quick pre-use check

Before you bind a Signal to a Strategy:

  1. confirm the calculation, inputs, parameters, and output you intend to use;
  2. check the data requirement against the Dataset you plan to study;
  3. note the exact version in Advanced when reproducibility matters;
  4. use the Signal in a new or deliberately updated Strategy; and
  5. validate the Strategy with its actual Dataset and time window.

For a custom calculation, continue to Signal SDK. For help turning an idea into an authoring brief, continue to Author with AI Companion.