Risk Controls
Orien AI provides 21 configurable risk parameters to protect your capital. These are enforced by the HardRiskController before any trade is executed.
[!WARNING] CLOSE actions always bypass risk controls. This ensures agents can always exit positions to reduce exposure, even when circuit breakers are active.
Position Controls
| Parameter | Default | Description |
|---|---|---|
max_position_pct | 50% | Maximum position size as % of available balance |
max_leverage | 5x | Maximum allowed leverage |
min_notional_usd | $10 | Minimum trade value in USD |
max_notional_usd | $50,000 | Maximum trade value in USD |
Stop Loss & Take Profit
| Parameter | Default | Description |
|---|---|---|
stop_loss_pct | 2% | Stop loss trigger (% from entry) |
trailing_stop_pct | — | Trailing stop distance (% from peak) |
take_profit_pct | — | Take profit trigger (% from entry) |
Drawdown Protection
| Parameter | Default | Description |
|---|---|---|
max_daily_loss_pct | 5% | Maximum loss allowed per day (% of balance) |
max_daily_loss_usd | — | Maximum loss per day in absolute USD |
max_drawdown_pct | 15% | Maximum total drawdown before circuit breaker |
max_drawdown_usd | — | Maximum drawdown in absolute USD |
Trading Frequency
| Parameter | Default | Description |
|---|---|---|
max_trades_per_day | 20 | Maximum number of trades in 24h |
cooldown_seconds | 60 | Minimum seconds between trades |
Circuit Breaker
| Parameter | Default | Description |
|---|---|---|
max_consecutive_losses | 5 | Number of consecutive losses before auto-pause |
circuit_breaker_cooldown | 3600 | Seconds to wait after circuit breaker triggers |
Open Interest & Volatility
| Parameter | Default | Description |
|---|---|---|
max_open_positions | 1 | Maximum concurrent open positions |
max_correlation | — | Maximum correlation between positions |
max_volatility_pct | — | Skip trades when volatility exceeds threshold |
How Risk Controls Work
Agent Decision (LONG/SHORT)
↓
Risk Evaluator (LLM advice)
↓
HardRiskController
├── Check position limits
├── Check drawdown limits
├── Check daily loss limits
├── Check trade frequency
├── Check circuit breaker
└── Check leverage limits
↓
Approved? → Execute Trade
Rejected? → Log reason, skip tradeThe Risk Evaluator provides LLM-based risk assessment (advisory), while the HardRiskController enforces hard limits that cannot be overridden.