define_experiment_protocol
define_experiment_protocolPersist the market scope, train/test split, objective metric, minimum trades, and rejection criteria for the required hypothesisId returned by create_research_hypothesis. In a durable workflow, omit scope fields to inherit the full authorized scope, or repeat that scope exactly. Do not substitute development-window dates: the protected data layer applies the development boundary during measurements.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Short experiment title, at most 200 characters. Put the hypothesis in statement, not this label. | |
| split | No | Optional JSON-stringified train/test split object, e.g. {"trainPct":70,"testPct":30}. | |
| metric | No | ||
| status | No | ||
| symbol | No | ||
| direction | No | ||
| minTrades | No | ||
| timeframe | No | ||
| caseStudyId | No | Optional: bind this call to one of your case studies. Defaults to the bound run's case study. | |
| dateRangeEnd | No | ||
| hypothesisId | Yes | Hypothesis id returned by create_research_hypothesis for this experiment. | |
| rebaseReason | No | Aim for 300 characters or fewer; hard maximum 500. Required when intentionally replacing an existing active protocol or binding the run to a different active hypothesis. Prefer starting a new research run for unrelated pivots. | |
| researchRunId | No | Optional: bind this call to one of your existing research runs. Defaults to this session's most recent unfinished run. | |
| dateRangeStart | No | ||
| mcpIdempotencyKey | No | Unique key for this logical action. Reuse it only when retrying the same arguments. Required for hosted trust-creating actions when no idempotency header is supplied. | |
| rejectionCriteria | No | Optional enforced gates. Use only these fields; null leaves the platform default unchanged. |