manage_controllers
Manage controller templates and saved configurations for reusable strategy definitions. Supports list, describe, upsert, and delete actions. Does not affect running bots—use manage_bots for live updates.
Instructions
Manage controller templates and saved configurations (design-time).
Works with reusable strategy definitions and parameter sets for future deployments.
Does NOT affect running bots. To modify a live bot's config, use manage_bots with action='update_config'.
⚠️ NOTE: For most trading strategies (grid, DCA, position trading), use manage_executors() instead.
Only use controllers when the user EXPLICITLY asks for "controllers", "bots", or needs advanced
multi-strategy bot deployments with centralized risk management.
Exploration flow:
1. action="list" → List all controllers and their configs
2. action="list" + controller_type → List controllers of that type with config counts
3. action="describe" + controller_name → Show config parameters template + list existing configs
4. action="describe" + config_name → Show specific config values + its controller's parameters
5. action="describe" + include_code=True → Also include the full controller source code
Modification flow:
6. action="upsert" + target="controller" → Create/update a controller template
7. action="upsert" + target="config" → Create/update a saved controller config
8. action="delete" + target="controller" → Delete a controller template
9. action="delete" + target="config" → Delete a controller config
Common Enum Values for Controller Configs:
Position Mode (position_mode):
- "HEDGE" - Allows holding both long and short positions simultaneously
- "ONEWAY" - Allows only one direction position at a time
Trade Side (side):
- 1 or "BUY" - For long/buy positions
- 2 or "SELL" - For short/sell positions
- Note: Numeric values are required for controller configs
Order Type (order_type, open_order_type, take_profit_order_type, etc.):
- 1 or "MARKET" - Market order
- 2 or "LIMIT" - Limit order
- 3 or "LIMIT_MAKER" - Limit maker order (post-only)
- Note: Numeric values are required for controller configs
Args:
action: "list", "describe", "upsert" (create/update), or "delete"
target: "controller" (template) or "config" (instance). Required for upsert/delete.
controller_type: Type of controller (e.g., 'directional_trading', 'market_making', 'generic').
controller_name: Name of the controller to describe or modify.
controller_code: Code for controller (required for controller upsert).
config_name: Name of the config to describe or modify.
config_data: Configuration data (required for config upsert). Must include 'controller_type' and 'controller_name'.
confirm_override: Required True if overwriting existing items.
include_code: If True, include full controller source code in describe output. Default False.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| target | No | ||
| controller_type | No | ||
| controller_name | No | ||
| controller_code | No | ||
| config_name | No | ||
| config_data | No | ||
| confirm_override | No | ||
| include_code | No |