Discriminator for signal-close action
Whether this event is from backtest mode (true) or live mode (false)
Why the signal was closed
Market price at the moment of close
Exchange name where signal was executed
Timeframe name (used in backtest mode, empty string in live mode)
Original entry price before any DCA averaging (initial priceOpen)
Original stop loss price before any trailing adjustments
Original take profit price before any trailing adjustments
Position activation timestamp in milliseconds
Total PNL of the closed position (including all entries and partials)
Trade direction: "long" (buy) or "short" (sell)
Effective entry price at time of close (may differ from priceOpen after DCA averaging)
Effective stop loss price at close (may differ from original after trailing)
Effective take profit price at close (may differ from original after trailing)
Signal creation timestamp in milliseconds
Complete public signal row at the moment of this event
Unique signal identifier (UUID v4)
Strategy name that generated this signal
Trading pair symbol (e.g., "BTCUSDT")
Timestamp from execution context (tick's when or backtest candle timestamp)
Total number of DCA entries at the time of close (_entry.length). 1 = no averaging done (only initial entry). 2+ = averaged positions.
Total number of partial closes executed at the time of close (_partial.length). 0 = no partial closes done. 1+ = partial closes executed.
Signal close sync event.
Emitted when an active pending signal is closed for any reason: take profit hit, stop loss hit, time expired, or user-initiated close.
Consumers use this event to synchronize external order management systems (e.g., cancel remaining OCO orders, record final PNL in external DB).
Consumers: