Skip to main content

Strategies

Strategies group related trades for performance tracking and analysis. They help you measure how different trading approaches perform over time.

Why Use Strategies?

  1. Performance Tracking - Measure win rate, profit factor, and returns per strategy
  2. Organisation - Group trades by methodology (momentum, mean reversion, etc.)
  3. Comparison - Compare performance across different approaches
  4. Automation - Link signals to strategies for systematic tracking

Strategy Types

UTM supports the following strategy type categories:

TypeCodeDescription
Market on ClosemocExecute at or near the market close
Mean ReversionmrTrade reversals back to an average price
Trend FollowingtfFollow market trends and buy breakouts
RotationrotRotate capital between sectors or assets
High FrequencyhftRapid, short-term trades
CustomcustomUser-defined methodology

Creating a Strategy

Step 1: Navigate to Strategies

Go to Strategies in the main menu.

Step 2: Create New Strategy

Click New Strategy and fill in:

FieldDescription
NameDescriptive name (e.g., "MACD Crossover"). Required, max 100 chars.
TypeStrategy category (see types above). Required.
DescriptionOptional notes about the methodology. Max 500 chars.
ActiveWhen off, new signals targeting this strategy are rejected (existing trades and their auto-close keep running). Defaults to on.
Quantity ModifierScale signal quantities for this strategy (0.01 to 10, default 1.0).
Auto Submit Close OrderAutomatically submit a close order near market close (MOC strategies).
Auto Close Minutes BeforeHow many minutes before market close to submit the close order.

Step 3: Configure Risk Parameters

Risk validation runs before every order leaves UTM for the broker. Refused orders never reach the broker, and the originating signal is marked cancelled with the reason on it.

When riskParameters is not set on the strategy, UTM applies sensible defaults:

DefaultValue
riskEnabledtrue
maxPositionPctEquity10% of equity
maxOpenPositions20 open positions

To opt out entirely on a specific strategy, set riskEnabled to false in its riskParameters. Closing-intent orders always pass the gate regardless of configuration, so you can always close a position.

All other fields are optional and merge over the defaults. A UI to manage these per strategy is not yet exposed; until then, configuration is via direct API call to updateStrategyRiskParameters or a database update.

ParameterDescription
riskEnabledMaster toggle. Set to false to skip every check for this strategy. Defaults to true.
maxPositionSizeMaximum number of shares or contracts per position.
maxPositionValueMaximum dollar value of a single position.
maxPositionPctEquityMaximum position size as a percentage of account equity (0-100). Defaults to 10 when unset.
maxTotalExposureMaximum total dollar exposure across all positions.
maxTotalExposurePctMaximum total exposure as a percentage of equity (0-100).
maxOpenPositionsMaximum number of open positions at any time. Defaults to 20 when unset.
maxPositionPerSymbolMaximum aggregate share count per symbol across all strategies.
maxDailyTradesReserved. Interface-only, no check fires yet.
maxDailyLossMaximum dollar loss allowed in a single day. Measured from realised P&L on trades closed today (UTC).
maxDailyLossPctMaximum daily loss as a percentage of equity (0-100).
maxTrailLossReserved. Interface-only, no check fires yet.

Linking Trades to Strategies

Via Signals

Include strategy ID when creating signals:

{
"symbol": "AAPL",
"action": "openLong",
"quantity": 100,
"strategyId": "your-strategy-uuid"
}

All resulting trades link to this strategy.

Via Manual Orders

When placing orders manually:

  1. Open order entry dialog
  2. Select strategy from dropdown (optional)
  3. Submit order
  4. Resulting trade links to strategy

Retroactive Assignment

Assign existing trades to a strategy:

  1. Open trade details
  2. Click Edit
  3. Select strategy
  4. Save changes

Strategy Performance

Metrics Tracked

MetricDescription
Total TradesNumber of completed trades
Win RatePercentage of profitable trades
Average WinAverage profit on winning trades
Average LossAverage loss on losing trades
Profit FactorGross profit ÷ gross loss
Net P&LTotal profit/loss
Return %Percentage return on capital
Max DrawdownLargest peak-to-trough decline

Performance Views

Navigate to a strategy's detail page to see:

  • Summary: Key metrics at a glance
  • Equity Curve: Performance over time
  • Trade List: All trades in this strategy
  • Statistics: Detailed breakdown

Filtering by Date

Analyse performance over specific periods:

  • Last 7 days
  • Last 30 days
  • This month
  • This year
  • Custom range

Strategy Comparison

Side-by-Side View

Compare multiple strategies:

  1. Go to Strategies
  2. Select strategies to compare (checkboxes)
  3. Click Compare
  4. View metrics side by side

Key Comparisons

ComparePurpose
Win RateConsistency of profits
Profit FactorRisk-adjusted returns
Max DrawdownWorst-case scenarios
Return %Overall effectiveness

Best Practices

Naming Conventions

Use clear, descriptive names:

  • ✓ "MACD Daily Crossover - Tech Stocks"
  • ✓ "RSI Oversold Bounces"
  • ✗ "Strategy 1"
  • ✗ "Test"

One Strategy Per Methodology

Don't mix different approaches in one strategy:

  • ✓ Separate "Momentum Long" and "Mean Reversion Short"
  • ✗ Combining all trades in "My Trades"

Paper Test First

Before using a strategy with real money:

  1. Create the strategy
  2. Link to a paper account
  3. Run signals and track performance
  4. Analyse results
  5. Move to live when confident

Cross-Strategy Symbol Conflicts on Netting Brokers

Some brokers (Alpaca, TradeStation) only hold one net position per symbol per account. If two of your strategies trade the same symbol on the same account, one long and one short, the broker collapses both sides into a single net and the next close signal fails with "insufficient quantity available".

UTM blocks this state up-front. If a strategy tries to open the opposing side of an already-open trade on the same (account, symbol), the new signal is rejected with OPPOSING_POSITION_OPEN and the conflicting trade id, even when the two trades belong to different strategies. Close the opposing trade to flat before opening the new one.

Brokers with hedging-mode support (e.g. Interactive Brokers in the right account configuration) can hold both sides simultaneously and are not affected by this guard.

Practical implications:

  • Two strategies on the same Alpaca or TradeStation account must not run opposing-direction systems on the same symbol universe.
  • Same-side stacking is allowed: two strategies opening long on the same symbol both succeed and contribute to a single broker position.
  • To run opposing-direction systems on overlapping symbols, point each strategy at a separate broker account.

Automation Integration

TradingView Alerts

Send alerts to UTM with strategy assignment:

{
"symbol": "{{ticker}}",
"action": "openLong",
"accountId": "your-account-uuid",
"quantity": 100,
"strategyId": "your-strategy-uuid"
}

Exit Rules

Strategy signals can include an automatic exit on the signal payload itself:

{
"strategyId": "day-trading-strategy",
"exitTriggerType": "minutesAfterEntry",
"exitTriggerMinutes": 30,
"exitOrderType": "market"
}

Exit fields:

  • exitTriggerType: scheduling rule for the exit. One of minutesAfterEntry, minutesBeforeClose, atClockTime, or immediate.
  • exitTriggerMinutes: minutes count (0 to 60). Required for minutesAfterEntry and minutesBeforeClose.
  • exitTriggerTime: HH:MM (24-hour) submit time. Required for atClockTime.
  • exitOrderType: market, limit, stop, stopLimit, or moc.
  • exitLimitPrice: limit price (required for limit and stopLimit).
  • exitTimeInForce: day or cls. Must be cls when exitOrderType is moc.

See Exit Rules Reference for the full field reference.

Common Issues

Trades Not Linking

Check:

  • Strategy ID is correct (UUID format)
  • Strategy is active
  • Signal includes strategyId field

Performance Not Updating

Verify:

  • Trades are closed (open trades don't count in some metrics)
  • Date range includes the trades
  • Refresh the page

Missing Metrics

Some metrics require minimum data:

  • Win rate needs at least 1 closed trade
  • Profit factor needs both wins and losses
  • Drawdown needs equity history

Deleting Strategies

warning

Deleting a strategy does not delete associated trades. Trades will become unlinked and can be reassigned.

To delete:

  1. Open strategy details
  2. Click Delete
  3. Confirm deletion
  4. Trades remain but lose strategy association