INTRO
The post summarizes in tabular form the differences between different Analysis modes namely: Scan, Exploration and Backtest.
First and foremost thing to understand is that these three modes serve different and distinct purposes and they by their nature are meant to display different things.
SCAN
The Scan is meant as a quick tool to show raw, unprocessed, non-delayed signals as they are present in Buy/Sell/Short/Cover arrays. Scan does not do ANY processing. Output of scan is not customizable. It merely displays cells/bars where buy/sell/short/cover signals occur.
EXPLORATION
The Exploration is meant as generator of fully user-customizable tables, or Excel-like tabular reports. It does NOT use Buy/Sell/Short/Cover variables. It only uses Filter variable to decide which data rows to display.
You can customize Exploration layout freely. You can define your own columns and content of data displayed. It does NOT do any extra (hidden) processing to displayed data.
BACKTEST
The Backtester is a tool to perform trading system performance testing on historical data. It performs a LOT of internal processing, including trade delays, removing redundant signals, position sizing, applying portfolio-level constraints, etc.
SUMMARY OF MAIN DIFFERENCES
Scan | Exploration | Backtest | |
---|---|---|---|
Uses Buy/Sell/Short/Cover arrays | Yes | No1 | Yes |
Uses Filter array | No | Yes | No |
Uses trade delays set in the settings/ SetTradeDelays() calls | No | No | Yes |
Evaluates stops as set in the settings / ApplyStop() calls | No | No | Yes |
Removes redundant/repetitive signals | No | No | Yes2 |
Ranking PositionScore variable |
Ignored | Ignored | Used |
Position sizing PositionSize var / SetPositionSize() |
Ignored | Ignored | Used |
Portfolio-level constraints like limited cash, min/max pos size, min/max shares | Ignored | Ignored | Used |
Other backtesting-only features (HoldMinBars, multiple currencies) | No | No | Yes |
Custom columns | No | Yes (via AddColumn) | Yes (via custom metrics) |
1 Buy/Sell/Short/Cover arrays are ignored by Exploration mode unless of course you specifically use those to create Filter variable.
2 How signals are processed depends on selected backtest mode, various modes offer different processing
MORE INFORMATION
For more information on portfolio backtesting, see Portfolio-level back testing
For more information about exploration: How to create your own exploration
As you can see these three modes are fundamentally different, meant to serve different purposes and produce different results. If anything is unclear, or needs extra explanation please comment below.