# Core Concepts
**Level: Standard** • About 15 minutes • Previous: [Getting Started](./getting_started.md.html) • Next: [Learning the Interface](./learning_the_ui.md.html)
The handful of ideas everything else in SOAP2 builds on: the main window, the Options Analysis window (OA), symbols, accounts and trades.
> **Videos:** [SOAP2 first steps](https://www.youtube.com/watch?v=q3gJKk3oNgc) · [Understanding trade status](https://www.youtube.com/watch?v=eXm8JFYBZks) · [Live Watchlist](https://www.youtube.com/watch?v=ldIqUDPkMlY) · [Watchlist setup](https://www.youtube.com/watch?v=gvHnNGKeUS0) · [All videos](./videos.md.html)
---
## On this page
- [The main window](#the-main-window)
- [What is an OA?](#what-is-an-oa)
- [Tickers (watchlist)](#tickers-watchlist)
- [Data Chart (historical chart)](#data-chart)
- [Accounts](#accounts)
- [Trades](#trades)
- [Executions and allocating them to trades](#executions-and-allocating-them-to-trades)
- [Importing trades from ONE](#importing-trades-from-one)
- [Data usage limits (IB pacing)](#data-usage-limits-ib-pacing)
---
## The main window
The main window includes a watchlist, account/trade management, and a list of open OAs. See the top toolstrip:
- The top-left dropdown selects the symbol (ticker).
- The top-right dropdown selects the account.
- The **Show Selected OA** button shows the current OA; **Shift+Click** it to open a new OA for the selected symbol/account instead.
- The bottom-left OA icon list shows open OAs (click to switch between them).
- The bottom bar also shows session status and data usage per category (e.g., Live, TLog, other background data).
- If the IB icon is red, SOAP2 is not connected to TWS. Click it to connect (or reconnect).
More on the toolstrips: [Top Toolstrip](./toolstrip_tutorial.md.html) · [Status Bar](./bottomtoolstrip_tutorial.md.html)
---
## What is an OA ("Options Analysis")?
OAs are where you analyze options chains and prepare trades. Trades are saved per account and can be loaded into OAs for analysis and preparation.
An **OA** is a window tied to a specific:
- **Symbol**
- **Account**
- **Trade**
Internally this is a **SAT** triplet (Symbol-Account-Trade). There can be several OAs for the same symbol/account if you analyze several trades, but each OA is tied to a single trade.
How to create one:
- Select a **Symbol** from the watchlist (top-left dropdown).
- **Shift+Click** the **Show Selected OA** button on the main toolbar.
- The default is a **Model Trade** (a simulation not saved to the account until committed).
- Select an **expiry** to populate the chain and enable the risk graph. The correct trading class is generally auto-detected, but you can override it in the OA settings if needed.
Note: the Symbol is taken from the main SOAP2 window when the OA is created and cannot be changed later. To analyze a different symbol, create a new OA.
OAs are listed in the OA dropdown (top of the OA window) and in the bottom-left list of the main window.
Related guides:
- [OptionsChain (OA Window) Guide](./optionschain_overview.md.html)
- [Handling expiries in SOAP2](./optionschain_expiries.md.html)
- [Commit Window (Order Preparation)](./commit_overview.md.html)
- [Settings Menu](./settings_tutorial.md.html)
---
## Tickers (watchlist)
The default watchlist includes: `SPX`, `RUT`, `NDX`, `SPY`, `IWM`, `QQQ` (restored at startup if inadvertently deleted).
You can manage symbols in **Settings → Symbols**:
The symbols you can use depend on your IB market data subscriptions:
- https://www.interactivebrokers.com/en/accounts/trading-and-market-data.php
Unsubscribed symbols may show limited delayed data or no data at all. Error messages in the Message Log may indicate subscription issues.
Open the Watchlist window via the **glasses** icon on the top toolstrip.
Notes:
- Multi-currency support exists, but only **USD** is enabled currently.
- Futures / FX are not fully supported yet. Currently testing the feature for index futures.
**Removing symbols:** Pressing **Delete** on a symbol in the Watchlist grid, or in the "Add to Watchlist" search results, closes any open OA windows for that symbol. From the search results grid, Delete removes the symbol entirely (including its saved settings/chain files) after a confirmation prompt, whether or not the symbol had been added to the Watchlist yet. A small set of default symbols (`SPX`, `SPY`, `NDX`, `QQQ`, `RUT`, `IWM`) cannot be removed this way.
**Temporarily hiding a symbol:** In the Live Watchlist (glasses icon), pressing **Delete** on a ticker row disables that symbol for the current session only. It closes its OAs and stops its data, but the Watchlist itself is not saved, so the symbol comes back on the next run. Use this to work with a reduced set of symbols without permanently changing your Watchlist. The Live Watchlist also shows a **Last Update** column with the time of each row's most recent quote.
More:
- [Watchlist: Setup, Live Quotes & Symbol Management](./watchlist_user_guide.md.html): searching and adding symbols, the trade-in-use delete guard, the Live Watchlist's per-row start/stop, and saved window position/size.
- [More on Symbol Settings](./symbolsettings.md.html)
---
## Data Chart (historical chart)
A historical OHLC/candlestick chart for the selected symbol, opened via the top toolstrip's **Historical Chart** menu item (or a "chart this symbol" action from an open OA). There is one window per symbol: reselecting a symbol that already has a chart open brings it to the front instead of duplicating it.
- [Data Chart: Controls & Indicators](./datachart_indicators_user_guide.md.html): symbol switching, Heikin-Ashi, manual Y-axis zoom/pan/reset, keeping Murrey Math out of the auto-scale, and the ALMA/JMA/Cycle/Pivots indicator tabs.
---
## Accounts
A **Demo Account** is always available for testing/demos.
Create and manage accounts with the Accounts form (**Alt+C**) or **Settings → Accounts**.
Settings → Accounts also has **IB Accounts** (live Account Summary/Updates/Positions/Family Codes) and **Financial Advisor** (aliases/allocation groups/profiles, Premium only):
- [Accounts, Financial Advisor & IB Account Info](./accounts_user_guide.md.html)
---
## Trades
Trades are saved per account (text files in account folders). The Demo Account includes sample trades.
Trades are listed in the Trade List form (**Alt+T**) where you can view, rename, delete, and import/export them.
- [Trade List Guide](./TradeList.md.html)
- [Portfolio (Trade Tiles)](./portfolio_user_guide.md.html): book-wide dashboard with one tile per trade (P&L, RegT margin, Greeks, quick payoff chart), **Alt+K**.
- [Trade Reporting & Saved Reports](./trade_reporting_user_guide.md.html): the Symbol/Account/Trade dashboard, saving and browsing per-trade snapshots and final reports, comparing them over time.
- [Model & Trade Import/Export](./model_trade_importexport_user_guide.md.html): portable JSON export/import for trades and saved models, plus rolling a model onto a new expiry before it's pruned.
- [Trade Rules (BETA)](./trade_rules_user_guide.md.html): per-trade and per-account Time, Greeks, Financial and Positioning rules, watched live with an Alert/Adjust/Roll/Reduce/Close recommendation; a dashboard, acknowledge/snooze, and Portfolio/OA flags.
Two common modes:
- **Model Trade**: a simulation (not saved until Commit). Unlimited legs.
- **Recorded Trade**: a saved trade.
Limits and behaviour:
- Recorded combo commit supports up to **6 legs** (Commit is disabled above that number, except for straight conversion by passing IB).
- Trades without a Trade Log are cleaned at startup.
- Recorded trades with Trade Logs are kept.
Related: [Commit Window (Order Preparation)](./commit_overview.md.html)
---
## Executions and allocating them to trades
Executions filled by IB are retrieved in the **Orders** window's Execs tab, then booked into a trade either directly from there (right-click a ticked execution → pick a trade, or **New Trade**) or via the fuller **Trade Allocations** window. Trade Allocations has its own Symbol selector and auto-loads execs on open, lets you tick/untick which fills (or combo legs) actually get allocated, collates combo (BAG) legs, and can register a brand-new trade on the fly while allocating.
> **Video:** [Allocating fills](https://www.youtube.com/watch?v=_JUZSQEWO30) (0:57)
- [Checking Executions and Allocating them to Trades](./executions_allocation.md.html)
---
## Importing trades from ONE
Trades must first be exported from ONE in the Report section → Export Trades (Excel or CSV format).
Then, in SOAP2, use the **Trades** menu item, then "Import". The import reads ONE's export files and creates the corresponding trades in SOAP2.
---
## Data usage limits (IB pacing)
IB restricts API pacing (maximum requests per second or minute). SOAP2 reduces load by requesting data mainly for **visible** strikes on data grids.
If you open many OAs or scroll aggressively:
- you may see delays or temporary pacing blocks
- reduce the number of open OAs and let data catch up