Interface IHeatmapIndicatorContext
- Namespace
- ATAS.Indicators.Heatmap
- Assembly
- ATAS.Indicators.dll
Live runtime context exposed to a heatmap indicator. Unlike the v1
HeatmapIndicatorContext record (snapshot at reset), this is a
read-only interface whose properties reflect the host's current state
at every read. Indicators query it on demand — there are no
"context changed" events because the most volatile field
(Viewport) updates every render frame and a cross-thread
notification per change would dominate the cost.
Stable across the indicator's lifetime: InstrumentId, TickSize, LotSize, TimeZone, TradingSessionId. A change in any of these triggers a platform-initiated reset before the context reports the new value.
Updates as data flows: DataStartTimeNanos moves backward
when historical data loads (a separate
OnHistoricalDataLoadedAsync notification fires for indicators
that need to react), DataEndTimeNanos tracks the latest
loaded timestamp (null in live mode = wall-clock now).
Updates per frame in live mode: Viewport. Indicators MUST treat the viewport as a hint (e.g. for decimation decisions); it MUST NOT be used for correctness — there is no guarantee the viewport read inside one callback matches the one the renderer drew with.
Added in ATAS 8.0.15.
public interface IHeatmapIndicatorContext
- Extension Methods
Properties
DataEndTimeNanos
Latest timestamp for which heatmap data is currently loaded.
null in live mode (= "wall clock now"); set to a finite value
in playback / historical replay modes.
long? DataEndTimeNanos { get; }
Property Value
- long?
DataStartTimeNanos
Earliest timestamp for which heatmap data is currently loaded. Moves backward as the user pans into history and the host loads more.
long DataStartTimeNanos { get; }
Property Value
- long
InstrumentId
The instrument the heatmap is bound to.
string InstrumentId { get; }
Property Value
- string
LotSize
Multiplier converting lots into volume for the active instrument.
decimal LotSize { get; }
Property Value
- decimal
MboDataSource
Shared Market-By-Order analytics source for the active instrument. Null when the host or instrument does not expose the capability. Indicators opt into callbacks through IHeatmapMboConsumer; this property is available for diagnostics and the current snapshot.
IHeatmapMboDataSource? MboDataSource { get; }
Property Value
TickSize
Minimum price increment for the active instrument.
decimal TickSize { get; }
Property Value
- decimal
TimeZone
Exchange / session time zone — use to format timestamps for the user.
TimeZoneInfo TimeZone { get; }
Property Value
- TimeZoneInfo
TradingSessionId
Optional session identifier; null when the host has no session concept.
string? TradingSessionId { get; }
Property Value
- string
Viewport
Last reported visible viewport. Updated by the host with sub-frame latency in live mode but with no realtime guarantee. Use for decimation hints; do not use for correctness.
HeatmapViewport Viewport { get; }