SignalSyncCloseNotification

Signal sync close notification. Emitted when an active pending signal is closed (TP/SL hit, time expired, or user-initiated).

type: "signal_sync.close"

Discriminator for type-safe union

id: string

Unique notification identifier

timestamp: number

Unix timestamp in milliseconds when signal was closed

backtest: boolean

Whether this notification is from backtest mode (true) or live mode (false)

symbol: string

Trading pair symbol (e.g., "BTCUSDT")

strategyName: string

Strategy name that generated this signal

exchangeName: string

Exchange name where signal was executed

signalId: string

Unique signal identifier (UUID v4)

currentPrice: number

Current market price at close

pnl: IStrategyPnL

Final PNL at signal close

pnlPercentage: number

Profit/loss as percentage

pnlPriceOpen: number

Entry price from PNL calculation

pnlPriceClose: number

Exit price from PNL calculation

pnlCost: number

Absolute profit/loss in USD

pnlEntries: number

Total invested capital in USD

position: "long" | "short"

Trade direction: "long" (buy) or "short" (sell)

priceOpen: number

Effective entry price at close

priceTakeProfit: number

Effective take profit price at close

priceStopLoss: number

Effective stop loss price at close

originalPriceTakeProfit: number

Original take profit price before any trailing adjustments

originalPriceStopLoss: number

Original stop loss price before any trailing adjustments

originalPriceOpen: number

Original entry price before any DCA averaging

totalEntries: number

Total number of DCA entries (_entry.length). 1 = no averaging.

totalPartials: number

Total number of partial closes executed (_partial.length). 0 = no partial closes done.

scheduledAt: number

Signal creation timestamp in milliseconds

pendingAt: number

Position activation timestamp in milliseconds

closeReason: string

Why the signal was closed (take_profit | stop_loss | time_expired | closed)

createdAt: number

Unix timestamp in milliseconds when the notification was created