Automated Indicator Production Pipeline
Scheduled AI coding agents that take indicator specs from a Notion board, write and compile Pine, NinjaTrader and MetaTrader versions, and hand verified builds to a human tester.
The problem
A trading-tools business ships a steady flow of new indicators across TradingView, NinjaTrader 8 and MetaTrader 4/5. Each product starts as a written spec on a Notion board. Hand-porting every spec to three platforms, compiling it and documenting it was the bottleneck.
What I built
- Lane-based agents: separate scheduled runs for Pine-to-NT8 conversion, new NT8 builds, MT4/MT5 coding, need-fix revisions, licensing retrofits and product uploads. Each run takes exactly one Notion card, then stops.
- Compile gates: Pine is checked in a live TradingView session over the Chrome DevTools protocol. NT8 code is compiled in isolation against the NinjaTrader SDK assemblies. MQL4/MQL5 go through the local MetaEditor compiler. Nothing is written back to Notion until it compiles.
- Safe NT8 builds: a wrapper that never touches the live project directly, and a repair script for the duplicate-attribute errors stray build files cause.
- Notion write-back: scripts that export spec code, replace code blocks in place (chunked to the API limits), and move cards only where a lane allows it.
- Adaptive scheduling: runners poll every 30 minutes while a column has work and back off to one check every 5 hours when it is empty. A cheap Notion pre-check runs before any agent call.
- Status dashboard: a read-only Python web board, grouped by platform, that shows each card’s compile and write state plus a scheduler heartbeat.
- Product standards: written rules the agents follow for signal arrows, plotting, C# 5 compatibility and Pine parity (for example, local Wilder RMA instead of built-in indicators).
Details
The agents own coding and compile checks. A human still does final chart testing and approves each release. Blockers are reported with exact status codes, such as a failed core compile, instead of being shown as partial success.