CandleEvent¶
CandleEvent represents a finalized OHLCV candle for a specific instrument and time interval, emitted by CandleAggregator and delivered via CandleBus.
struct CandleEvent {
using Listener = IMarketDataSubscriber;
SymbolId symbol{}; // instrument identifier
InstrumentType instrument = InstrumentType::Spot; // Spot | Future | Option
Candle candle{}; // aggregated OHLCV data
uint64_t tickSequence = 0; // global sequencing
};
Purpose¶
- Encapsulate a single time-aggregated candle with instrument metadata for downstream processing and filtering.
Responsibilities¶
| Field / Aspect | Description |
|---|---|
| symbol | Unique SymbolId of the instrument. |
| instrument | Instrument class (Spot, Future, or Option) for fast filtering. |
| candle | Aggregated OHLCV data (open, high, low, close, volume, timeframe). |
| tickSequence | Monotonic sequence number for deterministic ordering (sync mode). |
| Listener | Defines IMarketDataSubscriber as the subscriber interface for CandleBus. |
Notes¶
instrumentremoves the need for a registry lookup in hot paths.tickSequenceguarantees strict ordering whenCandleBusruns in synchronous mode.- Used identically in live trading and back-testing environments.