Signal opened notification. Emitted when a new trading position is opened.
type: "signal.opened"
Discriminator for type-safe union
id: string
Unique notification identifier
timestamp: number
Unix timestamp in milliseconds when signal was opened (pendingAt)
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)
position: "long" | "short"
Trade direction: "long" (buy) or "short" (sell)
priceOpen: number
Entry price for the position
priceTakeProfit: number
Take profit target price
priceStopLoss: number
Stop loss exit price
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 at signal creation (unchanged by 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.
cost: number
Cost of the initial position entry in USD (from signal.cost)
pnl: IStrategyPnL
Unrealized PNL at the moment of signal open (from signal.pnl)
pnlPercentage: number
Profit/loss as percentage (e.g., 1.5 for +1.5%, -2.3 for -2.3%)
pnlPriceOpen: number
Entry price from PNL calculation (effective price adjusted with slippage and fees)
pnlPriceClose: number
Exit price from PNL calculation (adjusted with slippage and fees)
pnlCost: number
Absolute profit/loss in USD
pnlEntries: number
Total invested capital in USD
note: string
Optional human-readable description of signal reason
scheduledAt: number
Signal creation timestamp in milliseconds (when signal was first created/scheduled)
pendingAt: number
Pending timestamp in milliseconds (when position became pending/active at priceOpen)
createdAt: number
Unix timestamp in milliseconds when the tick result was created (from candle timestamp in backtest or execution context when in live)