Gateway symbol mappings¶
Mappings are stored in gateway_symbol_mappings, separately from provider_config:
{"id":8,"gateway_id":3,"provider_symbol":"EUR/USD","source_name":"EURUSD","quote_enabled":true,"execution_enabled":true}
source_name is the canonical source name used by SymbolRecord.source.
provider_symbol is the name understood by the external provider.
| Direction | Enabled by | Conversion |
|---|---|---|
| Incoming quotes | quote_enabled |
provider_symbol → source_name |
| Outgoing execution | execution_enabled |
SymbolRecord.source → provider_symbol |
Quote mapping is applied to every symbol received in QUOTE_BATCH before it enters the core quote pipeline. Execution mapping is applied before an EXECUTION_REQUEST is sent to the gateway. If no mapping exists for a direction, the symbol passes unchanged for backward compatibility.
Matching is exact and case-sensitive. (gateway_id, provider_symbol) is unique. Multiple quote-only aliases may point to the same source_name, but a gateway can have only one record with execution_enabled=true for a given source_name.
Mappings are managed through dedicated commands:
- MngGetGatewaySymbolMappings
- MngAddGatewaySymbolMapping
- MngUpdateGatewaySymbolMapping
- MngDeleteGatewaySymbolMapping
Mapping writes restart an enabled gateway to install new immutable quote and execution lookup tables. Deleting a gateway deletes all its mappings.