Table of Contents

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

IHeatmapMboDataSource

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; }

Property Value

HeatmapViewport