Number of currently active positions across all strategies at rejection time. Used to track portfolio-level exposure when signal was rejected.
Whether this event is from backtest mode (true) or live mode (false). Used to separate backtest and live risk rejection tracking.
Current VWAP price at the time of rejection. Market price when risk check was performed.
Exchange name. Identifies which exchange this signal was for.
Frame name used in backtest execution. Identifies which frame this signal was for in backtest execution.
Pending signal to apply. Contains signal details (position, priceOpen, priceTakeProfit, priceStopLoss, etc).
Unique identifier for this rejection instance. Generated by ClientRisk for tracking and debugging purposes. Null if validation threw exception without custom ID.
Human-readable reason why the signal was rejected. Captured from IRiskValidation.note or error message.
Strategy name requesting to open a position. Identifies which strategy attempted to create the signal.
Trading pair symbol (e.g., "BTCUSDT"). Identifies which market this rejected signal belongs to.
Event timestamp in milliseconds since Unix epoch. Represents when the signal was rejected.
Contract for risk rejection events.
Emitted by riskSubject ONLY when a signal is REJECTED due to risk validation failure. Used for tracking actual risk violations and monitoring rejected signals.
Events are emitted only when risk limits are violated (not for allowed signals). This prevents spam and allows focusing on actual risk management interventions.
Consumers:
Example