Interface MarketSnapshot
- All Known Implementing Classes:
KlineSnapshot, TickerSnapshot
Immutable primitive view over a market data point (ticker or kline). Sealed so the dispatcher
in the indicator wiring layer can switch exhaustively over the two concrete shapes.
All accessors return primitives so indicators consuming snapshots avoid repeated
BigDecimal.doubleValue() on the hot path.
Semantics of close():
- For a
TickerSnapshot— the last traded price observed attimestamp(). - For a
KlineSnapshot— the closing price of the bar that ends attimestamp().
-
Method Details
-
instrument
Instrument instrument() -
open
double open() -
high
double high() -
low
double low() -
close
double close() -
volume
double volume() -
quoteVolume
double quoteVolume() -
timestamp
long timestamp()Observation timestamp, epoch milliseconds.The backend NATS/QuestDB pipeline uses microseconds; the engine has historically operated in milliseconds (XChange Ticker, Kline, signals). Cross-pipeline integration with micro-resolution data is a separate refactor — a
timestampMicros()method can be added additively without breaking existing snapshots.
-