Create New Indicator (Python)
Use when adding a new indicator under the Strategy Lab indicators/ workspace.
Constraints (platform rules)
- •Do NOT hardcode indicator id/name/kind in the frontend renderer.
- •Keep the output generic via Plot API (v1 today).
Steps
- •Create the script file
- •Path:
server/indicators/<name>.py(or subfolders underserver/indicators/). - •Must export
calculate(inputs, settings=None). - •Optional:
initialize(ctx)to declare Inputs UI (Manifest).
- •Produce Plot API v1 output (recommended)
- •Return
{"plots": [...]}. - •Prefer index-based coordinates (
index,from/to) so the backend can align to candletime. - •Reference:
docs/public/plot-api-v1.md.
- •No manual registration
- •The backend scans
server/indicators/automatically:- •
server/src/services/indicatorFileService.js - •
server/src/indicatorRegistry/registry.js
- •
- •The indicator id is the relative path including
.py(example:my_indicator.pyormarket_structure/pivots.py).
- •Verify
- •In the app: Strategy Lab -> save the file; Chart -> activate and run.
- •Optional quick check: Debug -> terminal command
run indicator <id> --asset=CL1! --tf=M15 --len=1000. - •Run standard validations: see
skills/verify_changes/SKILL.md.
Template
Start from skills/create_new_indicator/template_indicator.py.