Skip to main content
Platform overview

Risk Management

12 layers of capital protection.

Risk management is not a module bolted onto the trading engine -- it is the architecture. Twelve independent layers operate simultaneously, each designed to catch a specific class of risk that the others may miss. No single layer failure can result in uncontrolled loss. Every layer logs its decisions for full auditability.

Protection Layers

All 12 layers

01

Dynamic lot sizing

Equity-aware position sizing

Every trade is sized relative to current account equity, not the initial deposit. The system calculates the maximum allowable lot size based on the distance to the protective stop, the current equity balance, and the tier-specific risk-per-trade percentage (typically 0.5-1.5% of equity). As equity grows, position sizes scale proportionally. As equity declines, sizes contract automatically, creating a natural deceleration effect during drawdown periods. This prevents the compounding of losses that destroys accounts using fixed lot sizing.

If total account equity declines by a predefined percentage from its high-water mark (configurable per tier, typically 10-15%), the catastrophic breaker activates. Upon activation, all open positions are immediately closed at market, all pending orders are cancelled, and the strategy engine is disabled. The system enters a lockdown state that requires manual administrative intervention to resume. This layer exists to prevent catastrophic loss scenarios that could arise from correlated market events, infrastructure failures, or sustained adverse conditions.

02

Catastrophic breaker

Auto-stop at critical drawdown threshold

03

Daily loss limit

Intraday drawdown ceiling

A separate daily loss limit operates independently of the catastrophic breaker. If realized plus unrealized losses for the current trading day exceed the daily threshold (typically 2-3% of starting daily equity), all positions are closed and no new trades are permitted until the next trading day. This prevents a single bad day from consuming a disproportionate share of the monthly risk budget. The daily limit resets at 00:00 server time.

No instrument may have more than one active position at any time. This prevents pyramiding into a single pair, which creates concentrated exposure to a single directional bet. If a strategy generates a new signal for a pair that already has an open position, the signal is logged but not executed. This rule has no exceptions -- it applies regardless of signal strength, AI confidence, or strategy type.

04

Max positions per pair

Single-instrument concentration limit

05

Max total positions

Portfolio-wide exposure limit

The total number of simultaneously open positions is capped based on the account tier. Entry-tier accounts are limited to 3 concurrent positions. Professional tiers may allow up to 6. Institutional tiers up to 10. These limits ensure that total portfolio exposure remains within manageable bounds and that margin utilization does not approach critical levels. When the position limit is reached, new signals are queued and executed only when existing positions close.

Every position has a protective stop-loss order placed immediately upon entry. The stop is calculated based on the strategy-specific methodology (e.g., beyond the order block for SMC, beyond the spring wick for Wyckoff). Once a position reaches 1R profit (unrealized profit equals the initial risk), the stop is ratcheted to breakeven plus spread. This ensures that a winning trade cannot become a losing trade after reaching its first profit milestone.

06

Protective stop

Breakeven ratchet mechanism

07

News blackout

High-impact event auto-pause

The system maintains a calendar of high-impact economic events (NFP, FOMC, ECB, BOE decisions, CPI releases, GDP reports). During a configurable window surrounding each event (typically 15 minutes before to 5 minutes after), no new positions are opened for affected currency pairs. Existing positions are not closed automatically, but trailing stops are tightened. This prevents entering trades during periods of extreme volatility and unpredictable price action where technical analysis loses reliability.

All open positions are closed before the market closes for the weekend (typically Friday 16:55 server time). Weekend gaps -- the difference between Friday close and Sunday open prices -- can be substantial and unpredictable, driven by geopolitical events, natural disasters, or policy announcements that occur while markets are closed. By closing all positions before the weekend, the system eliminates gap risk entirely. No positions are carried over weekends under any circumstances.

08

Weekend force-close

Gap risk elimination

09

Max hold duration

4-hour hard cap

No position may remain open for longer than 4 hours. This hard cap applies regardless of whether the position is in profit or loss. The rationale is twofold: first, extended holds increase exposure to regime changes and event risk. Second, strategies that require more than 4 hours to reach their target are likely experiencing adverse conditions where the original thesis has weakened. Positions that reach the time limit are closed at market, and the strategy may re-enter on a fresh signal if conditions warrant.

After a configurable number of consecutive losses (typically 3), the system enters a cooldown period during which no new trades are opened for the affected strategy. The cooldown duration scales with the streak length: 3 losses triggers a 30-minute pause, 4 losses triggers 60 minutes, 5 losses triggers a session-wide pause for that strategy. This prevents the system from continuing to trade during conditions that are clearly adverse for the active strategy, allowing market conditions to evolve before resuming.

10

Cooldown tracker

Loss streak pause mechanism

11

Spread guard

Reject if spread exceeds threshold

Before any order is submitted to the broker, the system checks the current bid-ask spread against a per-instrument threshold. If the spread exceeds the threshold (e.g., 3 pips for EURUSD, 5 pips for XAUUSD, 8 pips for XNGUSD), the order is rejected and logged. Wide spreads typically occur during low-liquidity periods (session transitions, pre-news windows, early Asian session) and indicate unfavorable execution conditions. The spread guard ensures the system only trades when execution quality meets minimum standards.

In addition to the daily loss limit, a per-session drawdown guard monitors equity during each trading session (Asian, London, New York). If losses within a single session exceed the session threshold (typically 1-1.5% of equity), trading is paused for the remainder of that session. This prevents a single volatile session from consuming the entire daily risk budget, preserving capacity for the remaining sessions where conditions may be more favorable.

12

Session drawdown guard

Per-session equity protection