| name | trading-orchestrator |
| description | Coordinate multi-strategy trading workflows by routing signals to the right executor and managing risk limits. Use when working with trading orchestrator. |
| domain | trading |
| author | oyi77 |
| license | Apache-2.0 |
| subdomain | trading |
| tags | ["algorithms","markets","orchestrator","trading","workflow"] |
| allowed-tools | ["Bash(trading:*)","MCP(notion:*)","MCP(slack:*)","fs","network"] |
| version | 1.0.0 |
Trading Orchestrator
Overview
Orchestrate the full trading pipeline from research → strategy → risk → execution with state management. The Orchestrator serves as the central nervous system of autonomous trading, coordinating all team members (Researcher, Strategist, Risk Manager, Executor) to execute complete trading workflows while maintaining state checkpoints, handling failures gracefully, and implementing safe abort procedures when anomalies are detected.
When to Use
Trigger phrases:
-
"trading orchestrator"
-
"Coordinate multi-strategy trading workflows by routing signals to the right exec"
-
Coordinating multiple trading team members in autonomous operation mode
-
Implementing complete trading pipelines with state persistence
-
Managing complex state machines with checkpoints for recovery
-
Handling pipeline failures and implementing safe abort procedures
-
Integrating Notion for trade log database management
-
Using Slack for real-time trade notifications and alerts
-
Implementing circuit breakers and halt conditions for safety
-
Orchestrating multiple symbols and opportunities simultaneously
The Process
The orchestration pipeline coordinates research, strategy, risk, and execution stages with state machine checkpoints and circuit breakers.
1. Full Pipeline Execution
Orchestrate the complete trading pipeline for each opportunity:
const opportunities = await researcher.scan({
symbols: ["XAUUSD", "EURUSD"],
minScore: 0.7
});
for (const opp of opportunities) {
const signal = await strategist.analyze(opp);
if (!signal.entry) continue;
const riskCheck = await riskManager.({
signal,
: broker.()
});
(!riskCheck.) {
.();
;
}
result = executor.({
...signal,
: riskCheck.
});
notion.(, {
: opp,
signal,
riskCheck,
result
});
}