Symbols TCP API¶
Overview¶
The Symbols section describes how trading instruments (symbols) are managed via the TCP API.
The Symbols API allows full lifecycle management of trading instruments, including:
- Retrieving symbols
- Creating new symbols
- Updating existing symbols
- Deleting symbols
- Managing symbol groups
- Retrieving cross-currency pairs
- Generating symbol summary statistics
- Assigning deterministic quote-source policies
All operations are handled internally by the SymbolManager and related
system components.
Access Control¶
Symbol catalog methods are staff-only unless a method explicitly documents public access.
For staff sessions, manager permissions and scope are resolved from the cached staff manager record. The token is used only as the source of manager id and session type.
GetSymbolsandGetSymbolGroupsrequire only a valid enabled staff manager session.- Symbol configuration writes, symbol-group writes, and reindex methods require
set_accounts. GetSymbolsSummaryrequiressee_trades; staff scope is limited by cached managergroups.
What Is a Symbol?¶
A symbol represents a tradable financial instrument such as:
- Forex pairs (EURUSD, GBPUSD)
- CFDs
- Commodities
- Indices
- Crypto pairs
- Stocks
Each symbol contains:
- Trading parameters
- Margin settings
- Execution configuration
- Swap configuration
- Session schedules
- Contract specifications
- A
quote_policy_idselecting its quote-source and failover rules
🏷 Symbol Groups¶
Symbols can be organized into symbol groups (securities groups) for:
- UI categorization
- Trading permissions
- Group-level configuration
- Margin overrides
Groups allow flexible hierarchical organization of instruments.
🧭 Navigation¶
| Method Name | Description |
|---|---|
| Get Symbols List | Retrieve the full list of configured trading symbols |
| Get Symbol | Retrieve detailed configuration of a single symbol |
| Add Symbol | Create a new trading symbol with full configuration |
| Update Symbol | Modify an existing trading symbol |
| Delete Symbol | Remove a symbol from the trading server |
| Get Cross Pair Symbols | Retrieve calculated cross-currency trading pairs |
| Get Symbol Groups List | Retrieve all configured symbol groups |
| Add Symbol Group | Create a new symbol group |
| Update Symbol Group | Update an existing symbol group configuration |
| Delete Symbol Group | Remove a symbol group |
| Get Symbols Summary | Retrieve aggregated trading statistics per symbol |
Quote-source selection is managed separately through the
Quote Policies API. A symbol stores only the
policy reference in quote_policy_id; provider lists, priority and failover
rules are not duplicated in the symbol record.
⚙️ Core Capabilities¶
Symbol Management¶
The API allows complete configuration of:
- Digits and pricing precision
- Margin mode and calculation type
- Swap parameters
- Contract size
- Tick size / tick value
- Spread configuration
- Execution mode
- Trading permissions
- Volume limits
- Session trading hours
- Quote-policy assignment through
quote_policy_id
Quote source flow¶
flowchart LR
F[Feeder] --> P[Quote policy]
G[Gateway] --> P
X[Plugin] --> P
P -->|selected tick| S[Symbol runtime quote]
S --> T[Trading and market data]
The server validates every incoming tick against the symbol's policy. In priority-failover mode only one source is active at a time. A lower-priority source is accepted only when the active source becomes stale; automatic switch-back observes recovery and minimum-active windows to avoid flapping.
Symbol Groups Management¶
Symbol groups provide:
- Instrument categorization
- Group-level trading settings
- Execution and commission rules
- Hierarchical structuring
- Margin overrides
Cross Currency Calculation¶
The API supports automatic retrieval of:
- Derived cross pairs
- Synthetic currency pairs
- Currency conversion symbols
This is useful for:
- Margin calculations
- Multi-currency accounts
- Risk calculations
Symbols Summary¶
The summary endpoint provides:
- Number of orders per symbol
- Buy/sell volume
- Average prices
- Profit statistics
- Coverage statistics
This is typically used for:
- Risk monitoring
- Exposure reporting
- Administrative dashboards
Data Flow¶
flowchart LR
Client --> TCP_API
TCP_API --> SymbolManager
SymbolManager --> ConfigStorage
SymbolManager --> TradeManager
🔐 Validation & Error Handling¶
All endpoints validate:
- Required fields
- Numeric ranges
- String lengths
- Array structures
- Trading constraints
Typical error response:
{
"error": "INVALID_DATA",
"message": "validation error description"
}
Performance Considerations¶
- Avoid frequent full symbol list requests in high-load environments
- Update symbols during maintenance windows
- Reindex after large configuration changes
- Be cautious when deleting symbols with open trades
Use Cases¶
The Symbols API is typically used for:
- Broker configuration
- Trading instrument onboarding
- Margin policy updates
- Risk control adjustments
- Platform administration
- Multi-asset platform management