evaluate_candidate
evaluate_candidateCompare a candidate against baseline evidence for a required experiment protocolId. Declare trade-count floors in the protocol (minTrades for train, holdoutMinTrades for holdout); do not add a per-call totalTrades constraint when the protocol already sets trade floors.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| endDate | Yes | ||
| startDate | Yes | ||
| timeframe | Yes | ||
| mutationId | No | ||
| protocolId | Yes | Experiment protocol id returned by define_experiment_protocol for this exact candidate-evaluation check. | |
| caseStudyId | No | Optional: bind this call to one of your case studies. Defaults to the bound run's case study. | |
| constraints | No | ||
| mutationLabel | No | ||
| researchRunId | No | Optional: bind this call to one of your existing research runs. Defaults to this session's most recent unfinished run. | |
| baselineInputs | No | Optional input overrides as a JSON-stringified object, e.g. '{"SMA Length":14}'. Keys are Pine input names; values are number, string, or boolean. | |
| baselineSource | No | Pine source of the comparison baseline. Omit to use the platform benchmark baseline for this scope, which declares 1bp commission per side and 2 ticks slippage so the comparison is not a costed candidate against a zero-cost control. | |
| evaluationMode | No | ||
| trainTestSplit | No | ||
| candidateInputs | No | Optional input overrides as a JSON-stringified object, e.g. '{"SMA Length":14}'. Keys are Pine input names; values are number, string, or boolean. | |
| candidateSource | Yes | ||
| objectiveMetric | 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. | |
| mutationRationale | No | ||
| objectiveDirection | No | ||
| mutationDescription | No |