Trading Configuration
Trading configuration is split across three tabs — Signals, Trades, and Position — but all three write into the same nested configuration object. One save commits a complete snapshot.
This page focuses on the Signals and Trades slices. Position management has its own dedicated page.
Signal Aggressiveness Presets
Three WW2-themed presets bulk-apply signal-aggressiveness settings. A fourth option, CUSTOM, lets you edit any field individually.
| Preset | Posture | When To Use |
|---|---|---|
| FOXHOLE | Defensive. High conviction required. | You want very high confidence signals, willing to miss opportunities to avoid bad entries. |
| FRONTLINE | Balanced middle ground. | A sensible starting point for most players. |
| BLITZKRIEG | Aggressive. Lower thresholds. | You want maximum signal volume and can tolerate more noise. |
| CUSTOM | User-defined. | You know exactly which fields you want to control. |
What Presets Control
Presets touch eight signal-aggressiveness fields:
- Composite score threshold
- Primary signal count
- ATR floor (minimum volatility)
- Stop-loss minimum distance
- Stop-loss maximum distance
- Risk/reward floor
- Signal timeout
- Max entry deviation (ATR multiple)
What Presets Do Not Control
Presets deliberately never overwrite:
- Trading mode (OFF / SIGNALS_ONLY / FULL_EXECUTION)
- Wallet / account balance limits
- Leverage
- Allocation percent
- Position sizing preset
- Max daily trades
- Anything under Position Management
This separation is intentional. Switching your signal posture should never silently rewrite how much capital is at risk.
Auto-Flip To CUSTOM
Any direct edit to a signal field while on a named preset flips the preset to CUSTOM automatically. This makes divergence visible — you can always see whether you're running a curated preset or your own tuning.
Trades Tab
The Trades tab owns capital and execution ownership. Changes here never touch tradingConfigPreset.
Trading Mode
| Mode | Behavior |
|---|---|
| OFF | Agent paused. No evaluation, no signals, no execution. |
| SIGNALS_ONLY | Agent produces entry signals, toast notifications appear with Accept/Deny buttons, and the signal expires after your configured timeout (5/10/15 min). |
| FULL_EXECUTION | Signals automatically submit to HyperLiquid as bracketed orders (entry + TP + SL in one atomic request). |
Account Limits
- Balance threshold gate — the agent refuses to trade if your wallet balance is below this floor.
- Exchange minimum — HyperLiquid's $10 notional minimum is enforced automatically.
- Minimum order guard — an extra floor on order size to avoid dust trades.
Leverage And Sizing
- Active leverage enforcement — the agent sets the leverage on the exchange before each order. This guarantees the configured leverage is actually what gets used.
- Max leverage — hard upper bound.
- Allocation percent — percent of available capital eligible per trade.
- Position size preset — SMALL / MEDIUM / LARGE.
- MANUAL mode: you define the percentage for each preset.
- VOLATILITY_AUTO mode: the server auto-calibrates preset sizes from ATR so more volatile markets get smaller positions automatically.
Rate Limits
- Max daily trades — a hard per-day cap on executed trades. Useful to limit exposure during choppy markets.
- Signal timeout — how long a SIGNALS_ONLY signal stays actionable before it expires.
How Signals Become Trades
The pipeline is deterministic up until the LLM step:
- Pre-signal gates — account-level checks (trading mode, daily limit, equity, exchange minimum) run once per batch. Token-level checks (open position conflict) run per coin. Blocked coins produce a lightweight block record for observability.
- Signal evaluation — 64 signal templates across 17 modules produce a scorecard. Same inputs always produce the same scorecard.
- Trade construction — if the score clears your configured thresholds, candidate SL/TP levels are mechanically computed from ATR, swing points, and Bollinger bands. If ATR is unavailable, the LLM is never called.
- Pre-LLM validation — SL distance, R:R ratio, and tick distance are validated deterministically against your configuration. Invalid setups are dropped before spending any LLM tokens.
- LLM selection — the agent picks from the prevalidated setup options by index. It cannot produce custom prices — every option has already been validated.
- Decision — immutable ENTER or SKIP verdict recorded.
- Execution — in FULL_EXECUTION mode, the trade submits atomically. In SIGNALS_ONLY mode, you get a toast and a configurable approval window.
Because the pipeline is mostly deterministic, the same market state and agent configuration always produce the same signal. The LLM only chooses from pre-validated options, so it can never produce an SL or R:R value that violates your rules.
Optimistic Concurrency
Every agent save passes the agent's current revision number. If another session modified the agent between your load and save, the server responds with a 409 Conflict. You see a "refresh and reapply" prompt and your local draft is preserved until you acknowledge.
This applies equally to:
- Full edit page saves
- Inline chat-overlay edits
- API / MCP-tool updates
No silent overwrites, ever.
A common workflow: set Trading Mode to SIGNALS_ONLY, pick FRONTLINE, run for a day, then review the signals and decide whether to tighten with FOXHOLE, loosen with BLITZKRIEG, or customize individual fields.