What's the difference between a Signal and a Scan?

The difference lies in the context in which the two are used. Scans operate on current data, and can be used to:

  • Find symbols within a given quotepage (and periodicity) that match a given criteria, or...
  • Set properties or V# variables for all the symbols in a given quotepage...

A scan is sometimes called a "screen". A scan can either be run manually by the user, or be scheduled to run periodically. For more information on scans, visit the Scans Tutorial and the Scans feature page. The scan interface is very similar to the signal interface except it has several additional controls/settings. Periodicity ("Period") and quotepage ("QP:") options dictate the symbols and the timeframe of data on which the scan will run. A format option dictates the columns that will be present in the resulting quotepage (which shows all the symbols that returned "true" on the scan criteria). Sorting options allow the user to automatically sort the resulting quotepage on a given column (either ascending or descending).

Signals are basically true/false expressions that can be used historically, in charts, trading system, custom columns, etc. Signals will operate on the periodicity of the chart, trading system, or custom column in which they reside, and therefore do not need a periodicity setting within the Signal itself. Similarly, signals will operate on the symbol in the chart, or the quotepage of the custom column or trading system, and therefore don't need the quotepage, sorting, or format options that scans do.

In charts, signals are used within a variety of indicators: Signal Markers, PaintBars, Signal Statistics, Color Markers, etc. The signal result (true/false) is evaluated and "marked" for each bar historically. In trading systems, each trading system rule involves a signal and an action. The system will evaluate the rule on each bar, and take the resulting action (buy, short, sell, etc). Often, signals are used in "No Action" rules to maintain the values of Targets, V# variables, etc.

In many cases, signals and scans can be used interchangeably. Therefore, a checkbox can be seen in both Scan and Signals windows titled "Enable this Scan for use as a Signal" (or visa versa). When that checkbox is checked, the signal will show up in scan lists (for signals), or the scan will show up in signal lists (for scans).

In a nutshell, scans are used to either find symbols which currently meet a given criteria, or to set properties (V# variables, etc) of the symbols in a quotepage, or sometimes both. Signals can perform the same function, but historically, on each bar.