Skip to main content

BacktestReadinessInput

Input for the runnerBacktestReadiness query. runnerID is a top-level argument to satisfy the @hasScope directive's resource lookup.

input BacktestReadinessInput {
strategyID: ID!
exchange: String!
tradingMode: String!
pairs: [String!]!
coveragePairs: [String!]
pairBlacklist: [String!]
timeframesOverride: [String!]
fromMs: Float!
toMs: Float!
}

Fields

BacktestReadinessInput.strategyID ● ID! non-null scalar

BacktestReadinessInput.exchange ● String! non-null scalar

BacktestReadinessInput.tradingMode ● String! non-null scalar

BacktestReadinessInput.pairs ● [String!]! non-null scalar

Every pair to EVALUATE. The drawer sends the union of the user's selection and the pairs currently visible in the picker, so an unselected row can still show a readiness badge before the user commits to it.

BacktestReadinessInput.coveragePairs ● [String!] list scalar

The subset of pairs the user has actually SELECTED, which the coverage envelope (perPair, intersection, bottlenecks) is computed over. Without this split, a pair the user merely SAW in the picker drags the intersection down and gets named as the bottleneck, telling them to remove something they never chose.

null and [] mean different things. null means the caller draws no selection/evaluation distinction, so coverage falls back to all of pairs — the behaviour before this field existed. An empty list means the caller evaluated pairs while the user selected none, and yields an empty envelope.

BacktestReadinessInput.pairBlacklist ● [String!] list scalar

BacktestReadinessInput.timeframesOverride ● [String!] list scalar

BacktestReadinessInput.fromMs ● Float! non-null scalar

BacktestReadinessInput.toMs ● Float! non-null scalar

Member Of

runnerBacktestReadiness query