Loading...
Searching...
No Matches
ATAS.Indicators.Heatmap.IHeatmapProfileConsumer Interface Reference

Public Member Functions

IReadOnlyCollection< HeatmapProfilePeriod > GetRequiredProfilePeriods ()
 The market-profile periods this instance actually consumes. The platform's profile pump unions the declared periods across all active consumers and only subscribes to / requests those, instead of every available HeatmapProfilePeriod. Each extra period the host pumps is a separate server-side profile subscription kept live tick-by-tick, so declaring a narrow set avoids that cost for periods the indicator never reads. Returning an empty set means the instance needs no profile data right now (e.g. every profile-driven level is disabled), and the host pumps nothing for it.
 
ValueTask ProcessProfileAsync (HeatmapMarketProfileSnapshot profile, CancellationToken cancellationToken)
 

Member Function Documentation

◆ GetRequiredProfilePeriods()

IReadOnlyCollection< HeatmapProfilePeriod > ATAS.Indicators.Heatmap.IHeatmapProfileConsumer.GetRequiredProfilePeriods ( )

The market-profile periods this instance actually consumes. The platform's profile pump unions the declared periods across all active consumers and only subscribes to / requests those, instead of every available HeatmapProfilePeriod. Each extra period the host pumps is a separate server-side profile subscription kept live tick-by-tick, so declaring a narrow set avoids that cost for periods the indicator never reads. Returning an empty set means the instance needs no profile data right now (e.g. every profile-driven level is disabled), and the host pumps nothing for it.

Declaring the needed periods is mandatory for every profile consumer: there is no "all periods" fallback, precisely so a consumer can never silently pull data it does not use.

Threading. Unlike ProcessProfileAsync and the other serialised lifecycle callbacks, this method may be invoked from the host's pump thread at any time, concurrently with the instance's own consumer task. Implementations MUST be thread-safe, cheap, and non-blocking: return an immutable snapshot derived from already-published state (e.g. a volatile field refreshed inside HeatmapIndicator<TSettings>.ConfigureAsync(TSettings, CancellationToken)), and never mutate indicator state from here.

◆ ProcessProfileAsync()

ValueTask ATAS.Indicators.Heatmap.IHeatmapProfileConsumer.ProcessProfileAsync ( HeatmapMarketProfileSnapshot  profile,
CancellationToken  cancellationToken 
)

The documentation for this interface was generated from the following file: