Signals
Signals are trading intentions that can be reviewed and processed into orders. They enable automation, flexibility, and clear audit trails.
Why Use Signals?
- Automation - Receive signals from TradingView, custom scripts, or other systems
- Review First - Create signals, verify them, then execute
- Flexible Sizing - Specify shares, percentage of equity, or dollar amounts
- Strategy Tracking - Link signals to strategies for performance analysis
- Scheduled Execution - Queue signals for future times
Signal Actions
Signals use four explicit actions that combine direction and intent:
| Action | Description | Resulting Order |
|---|---|---|
openLong | Open a long position | Buy |
closeLong | Close a long position | Sell |
openShort | Open a short position | Sell (short) |
closeShort | Close a short position | Buy (cover) |
Why Not Just "Buy" and "Sell"?
"Buy" is ambiguous - it could mean opening a long OR closing a short. Signal actions make your intent explicit, reducing errors.
Creating Signals
Manual Creation
- Navigate to Signals in the menu
- Click New Signal
- Fill in the details:
| Field | Description |
|---|---|
| Account | Which trading account |
| Symbol | Ticker symbol (e.g., AAPL) |
| Action | openLong, closeLong, openShort, closeShort |
| Quantity Type | How to interpret the quantity |
| Quantity | Amount based on quantity type |
| Strategy | Optional - for performance tracking |
| Limit Price | Optional - for limit orders |
| Stop Price | Optional - for stop orders |
- Click Save
- Signal enters "Pending" status
Quantity Types
| Type | Quantity Meaning | Example |
|---|---|---|
| Fixed | Number of shares | 100 = buy 100 shares |
| Percent Equity | % of account equity | 5 = invest 5% of equity |
| Dollar Amount | Dollar value to invest | 1000 = invest $1000 |
Percentage and dollar quantities are calculated at processing time using current prices and account equity.
Processing Signals
Converting a signal to an order:
Single Signal
- Find the signal in the Signals table
- Click Process
- Order is created and sent to broker
- Signal status changes to "Executed"
Batch Processing
- Select multiple pending signals (checkboxes)
- Click Process Selected
- All signals convert to orders
Signal Statuses
| Status | Meaning |
|---|---|
| Pending | Created, awaiting processing |
| Processing | Currently being converted to order |
| Executed | Successfully converted to order |
| Rejected | Failed validation |
| Cancelled | Manually cancelled |
| Expired | Passed its validUntil time |
Webhook Integration
For automated trading, signals can be received via HTTP webhook.
Setup
- Go to Settings > API Keys
- Click Create API Key
- Select
signals:writescope - Copy the generated key
Sending Signals
curl -X POST https://api.universaltrademanager.com/api/v1/signals/ingest \
-H "Content-Type: application/json" \
-H "X-API-Key: utm_your_api_key" \
-d '{
"symbol": "AAPL",
"action": "openLong",
"accountId": "your-account-uuid",
"quantity": 100
}'
See Signal Ingest API for full documentation.
Exit Rules
Automatically create exit signals when entry signals fill.
Example: Close position at market close:
{
"symbol": "AAPL",
"action": "openLong",
"accountId": "your-account-uuid",
"quantity": 100,
"exitRule": {
"orderType": "moc",
"timeInForce": "cls"
}
}
See Exit Rules Reference for all options.