runnerBacktestDateRange
Returns the intersection of cached OHLCV date ranges for the given pairs on (exchange, tradingMode, timeframe). Drives the backtest / hyperopt drawer's date-range picker clamps so the user cannot select a range where some selected pair has no data.
Semantics:
fromMsis the LATEST start across all pairs — the earliest instant where every pair has cached data.toMsis the EARLIEST end across all pairs — the latest instant where every pair still has cached data.
Returns null when:
pairsis empty, or exchange / timeframe is empty- any pair has no cached file for the given (exchange, mode, timeframe, OHLCV) — the intersection is undefined
- the intersection is empty (earliest end precedes latest start)
Callers should treat null as "no tight bound"; the client-side
"no future dates" clamp still applies regardless.
runnerBacktestDateRange(
runnerID: ID!
exchange: String!
tradingMode: MarketDataTradingMode
pairs: [String!]!
timeframe: String!
): RunnerBacktestDateRange
Arguments
runnerBacktestDateRange.runnerID ● ID! non-null scalar
runnerBacktestDateRange.exchange ● String! non-null scalar
runnerBacktestDateRange.tradingMode ● MarketDataTradingMode enum
runnerBacktestDateRange.pairs ● [String!]! non-null scalar
runnerBacktestDateRange.timeframe ● String! non-null scalar
Type
RunnerBacktestDateRange object
Intersection of cached OHLCV date ranges across a set of (pair,
timeframe) tuples on one (exchange, tradingMode). Produced by
runnerBacktestDateRange. Times are Unix milliseconds (Float to
avoid 32-bit Int overflow).