@qtsurfer/sdk
    Preparing search index...

    Interface SweepRequest

    A parameter sweep over one instrument and one window: the same strategy run once per parameter vector, scored and ranked against a single objective.

    const request: SweepRequest = {
    strategy: source,
    exchangeId: 'binance',
    instrument: 'BTC/USDT',
    from: '2026-01-01T00:00:00Z',
    to: '2026-02-01T00:00:00Z',
    params: {
    rsiPeriod: { from: 7, to: 28, step: 1 },
    useTrendFilter: { values: [true, false] },
    },
    objective: 'sharpe',
    };

    Sweep against a dataset you uploaded instead of an exchange instrument by replacing instrument with datasetId (and exchangeId: 'user'):

    const request: SweepRequest = {
    strategy: source,
    exchangeId: 'user',
    datasetId: 'ds_123',
    from: '2026-01-01T00:00:00Z',
    to: '2026-02-01T00:00:00Z',
    params: { rsiPeriod: { from: 7, to: 28, step: 1 } },
    };
    interface SweepRequest {
        datasetId?: string;
        datasetVersionId?: string;
        equityCurve?: EquityCurveRequest;
        exchangeId: string;
        from: string;
        instrument?: string;
        objective?: SweepObjective;
        params: Record<string, ParamAxis>;
        sampler?: SweepSampler;
        samples?: number;
        seed?: number;
        strategy: string;
        to: string;
        walkForward?: SweepWalkForward;
    }
    Index
    datasetId?: string

    Id of a dataset you uploaded, in place of instrument. Exactly one of instrument/datasetId is required. Pairs with exchangeId: 'user'.

    datasetVersionId?: string

    Optional specific version of datasetId; omit to use its current version. Requires datasetId.

    equityCurve?: EquityCurveRequest

    Which trial curves to retain and how their points are transformed.

    exchangeId: string

    Exchange id, e.g. binance, or the reserved value user when sweeping against datasetId.

    from: string

    Range start (ISO-8601, ISO DATE, or BASIC ISO DATE).

    instrument?: string

    Instrument symbol, e.g. BTC/USDT. Exactly one of instrument/datasetId is required.

    objective?: SweepObjective

    The metric to optimize and rank by; omit to keep the platform default ('sharpe'). It is also what Sweep.sensitivity aggregates unless told otherwise.

    params: Record<string, ParamAxis>

    The grid: one ParamAxis per strategy property to vary. At least one.

    sampler?: SweepSampler

    How the grid becomes the list of vectors actually run. Omit to keep the platform default, the full cross product.

    samples?: number

    How many vectors to draw for 'random' and 'lhs'; ignored by 'grid'.

    seed?: number

    Reproducibility seed. Omit to let the platform generate one and report it back on Sweep.accepted, so a randomly sampled sweep can be replayed exactly by submitting the same seed again.

    strategy: string

    Strategy source code (Java), compiled once and reused by every trial.

    to: string

    Range end (same formats as from; must be later than from).

    walkForward?: SweepWalkForward

    Opt into walk-forward validation, which changes both what runs and the shape of the answer. Omit to run an ordinary sweep.