MarketDataInterface class abstract

Implementers
Available extensions

Constructors

MarketDataInterface()

Properties

atmSymbols Future<String?>
JSON array of [ceSymbolInfo, peSymbolInfo] for the ATM strike, nearest expiry. Required for scalper right-panel initialization. Awaited on scalper init, so it's safe to resolve this after background data (e.g. option chain) finishes loading. Resolve to null to leave the right panel blank.
no setter
chartTopOptions Future<String>
Stream of top options ranked by active volume (market movers).
no setter
effectiveUnderlying → SymbolInfo

Available on MarketDataInterface, provided by the MKTDataX extension

The underlying SymbolInfo. Falls back to parseSymInfo when underlyingSymbolInfo is null (i.e. the charted symbol is itself the underlying).
no setter
futureSymbols String?
Future contracts for the underlying symbol.
no setter
hashCode int
The hash code for this object.
no setterinherited
indexSymbols String?
All known index symbols available in the app.
no setter
isEffectiveUnderlyingIndex bool

Available on MarketDataInterface, provided by the MKTDataX extension

Whether effectiveUnderlying is a spot index (e.g. NIFTY, BANKNIFTY) — as opposed to symbolIsIndex, which asks about the currently charted symbol itself.
no setter
marketTiming String
Exchange calendar JSON.
no setter
optionSymbols String
Option contracts for the underlying symbol's chain.
no setter
parseFutureSymbols List<SymbolInfo>

Available on MarketDataInterface, provided by the MKTDataX extension

futureSymbols decoded into SymbolInfos, sorted by expiry. Empty when futureSymbols is null or empty.
no setter
parseIndexSymbols List<SymbolInfo>

Available on MarketDataInterface, provided by the MKTDataX extension

indexSymbols decoded into SymbolInfos. Empty when indexSymbols is null or empty.
no setter
parseMarketTiming → MarketTiming

Available on MarketDataInterface, provided by the MKTDataX extension

marketTiming decoded into a MarketTiming.
no setter
parseSymInfo → SymbolInfo

Available on MarketDataInterface, provided by the MKTDataX extension

symbolInfo decoded into a SymbolInfo.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
symbolInfo String
The symbol being charted (option, future, equity, or index).
no setter
symbolIsIndex bool

Available on MarketDataInterface, provided by the MKTDataX extension

Whether the currently-charted symbol ITSELF is a spot index (e.g. NIFTY, BANKNIFTY) — as opposed to isEffectiveUnderlyingIndex, which asks about the underlying. Indices have no traded volume, so indicators that read it (e.g. Volume) should be unavailable rather than showing a flat zero; an option/future ON an index still has real volume and must stay unaffected.
no setter
underlyingSymbolInfo String?
The underlying symbol when symbolInfo is a derivative (option or future). Null when symbolInfo is itself the underlying (equity or index).
no setter

Methods

chartInterfaceForSymbol(String symbolJson) ChartInterface?
Return a ChartInterface configured for the symbol described by symbolJson (same JSON shape as symbolInfo), or null to disable chart navigation from symbol selection
fetchAtmIvIntraday() Future<String>
Historical ATM Implied Volatility, sampled once per minute.
fetchAtmStraddleIntraday() Future<String>
Historical ATM Straddle premium (call + put LTP at the ATM strike), sampled once per minute.
fetchOI({required String underlyingSymbolId, required List<String> expiries}) Future<String?>
Absolute OI (only) as of now, summed across expiries, per strike -- powers the OI Profile indicator's bars, as an alternative to the single feed-provided MarketData.oI. A point-in-time snapshot, so unlike fetchOIChange there's no lookback window to pass.
fetchOIAnalysis({required String underlyingSymbolId, required String expiry, required int timeFrom, required int timeTo}) Future<String?>
OI, OI-change, and previous-OI for the ATM +/- 5 strikes (11 total) of expiry, measured over the window timeFrom..timeTo (unix seconds) -- powers the OI Analysis screen. The SDK does not pass a strike range: implementations must derive the current ATM strike themselves (the same way atmSymbols already does) and resolve data for the 5 strikes on either side of it. parseOIAnalysis additionally trims the result to that window client-side, so an implementation that returns more than 11 strikes is still handled correctly.
fetchOIChange({required String underlyingSymbolId, required List<String> expiries, required int timeFrom, required int timeTo}) Future<String?>
OI change (only) over the window timeFrom..timeTo (unix seconds), summed across expiries, per strike -- powers the OI Profile indicator's change values and the OI Change Analysis screen, as an alternative to the single feed-provided MarketData.oIChng.
fetchOptionDetails({required String underlyingSymbolId}) Future<String>
Option contracts for the underlying symbol's chain.
fetchPcrIntraday() Future<String>
Historical Put/Call OI ratio, pre-computed per strike range, so the Analysis screen's PCR tab can show its full session range immediately
loadData({required String symbolId, required int from, required int to, required int intervalSeconds, required int requiredBars}) Future<String>
Called when the chart needs interval data. symbolId identifies which symbol's OHLC data to fetch.
marketDataStreamer(String symbols) Stream<String>
Multi-symbol live tick stream.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
parseOI({required String underlyingSymbolId, required List<String> expiries}) Future<OIStrikeValues>

Available on MarketDataInterface, provided by the MKTDataX extension

Convenience wrapper over MarketDataInterface.fetchOI that handles the JSON decode -- see that method's doc for the underlying contract.
parseOIAnalysis({required String underlyingSymbolId, required String expiry, required int timeFrom, required int timeTo, required double atm, int eachSide = 5}) Future<OIAnalysisSnapshot>

Available on MarketDataInterface, provided by the MKTDataX extension

Convenience wrapper over MarketDataInterface.fetchOIAnalysis that handles the JSON decode and trims the result to the ATM +/- eachSide window (by strike count, not price distance) using atm -- see that method's doc for the underlying contract.
parseOIChange({required String underlyingSymbolId, required List<String> expiries, required int timeFrom, required int timeTo}) Future<OIStrikeValues>

Available on MarketDataInterface, provided by the MKTDataX extension

Convenience wrapper over MarketDataInterface.fetchOIChange that handles the JSON decode -- see that method's doc for the underlying contract.
searchSymbolsStreamer(String query) Stream<String>
Search for symbols matching query. Called once per debounced keystroke — the chart takes only the stream's first emission, so a single result (or an empty "[]") is enough; no need to keep pushing updates for the same query.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited