Risk Management

LiquidONE is built on the premise that capital preservation supersedes profit generation. Every bot is constrained by server-side limits that cannot be overridden by tilt.

Daily drawdownCap 2.00%
-0.60%

Trading

Guardrails that cannot be overridden

Daily loss circuit breaker

You configure a maximum daily loss percentage (between 1% and 5%). Every check marks open positions to their current price first, so if the day's realized P&L plus unrealized P&L on still-open positions crosses this threshold, LiquidONE halts new entries until the next calendar day and flattens open positions on the next engine cycle.

ceiling_cap = min(user_defined_cap, 5.0)

Per-trade sizing

LiquidONE automatically calculates position sizes based on the distance between the entry price and the stop loss. You define the risk per trade (e.g., 0.5% to 1%). Sizing targets that risk percentage, so a stop that fills at your stop price loses about what you configured. Gaps, slippage and partial fills mean the realised loss can be larger, and stops are engine-managed rather than resting at the broker. See the risk disclosure for what that means in practice.

qty = (account_balance * risk_pct) / (entry - stop)

Trade frequency caps

To prevent overtrading in choppy environments, each bot is capped at a maximum number of trades per day (default 8, adjustable between 1 and 20). A bot also holds at most one open position per instrument at a time, enforced by a database constraint rather than by application code, so a duplicate order cannot slip through on a retry.

Feed health

Every instrument's price is cross-checked against an independent source, and a fetch failure marks the feed unavailable. While an instrument's feed is degraded or unavailable the engine refuses new entries on it and says so in the agent feed. Exits are never gated this way: stranding an open position because the feed looks suspect is worse than closing it.

Emergency stop

Visible on every screen within the dashboard is the Emergency Stop button. Engaging this button issues a kill-command to the engine: all bots are immediately halted, all open positions are flattened via market orders, and all pending orders are canceled. The bot status is set to STOPPED and cannot resume without explicit user reactivation.

Was this page helpful?