Signal cancelled notification. Emitted when a scheduled signal is cancelled before activation.
type: "signal.cancelled"
Discriminator for type-safe union
id: string
Unique notification identifier
timestamp: number
Unix timestamp in milliseconds when signal was cancelled (closeTimestamp)
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 scheduled
signalId: string
Unique signal identifier (UUID v4)
position: "long" | "short"
Trade direction: "long" (buy) or "short" (sell)
currentPrice: number
Market price (VWAP) at the moment of cancellation
priceTakeProfit: number
Take profit target price
priceStopLoss: number
Stop loss exit price
priceOpen: number
Entry price for the position
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)
cost: number
Cost of the initial position entry in USD (from signal.cost)
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.
pnl: IStrategyPnL
PNL of the cancelled signal. A scheduled signal cancelled before activation never held a position, so this is the zero-PNL snapshot.
peakProfit: IStrategyPnL
Peak profit snapshot (zero for a signal cancelled before activation)
maxDrawdown: IStrategyPnL
Maximum drawdown snapshot (zero for a signal cancelled before activation)
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
peakProfitPriceOpen: number
Peak price reached in profit direction during the life of this position
peakProfitPriceClose: number
Exit price for PNL calculation at the moment of peak profit
peakProfitCost: number
Absolute profit/loss in USD at the moment the position reached its peak profit during the life of this position
peakProfitPercentage: number
Profit/loss as percentage at the moment the position reached its peak profit during the life of this position
peakProfitEntries: number
Number of entries executed at the moment the position reached its peak profit during the life of this position
maxDrawdownPriceOpen: number
Maximum drawdown price reached in loss direction during the life of this position
maxDrawdownPriceClose: number
Exit price for PNL calculation at the moment of max drawdown
maxDrawdownCost: number
Absolute profit/loss in USD at the moment the position reached its maximum drawdown during the life of this position
maxDrawdownPercentage: number
Profit/loss as percentage at the moment the position reached its maximum drawdown during the life of this position
maxDrawdownEntries: number
Number of entries executed at the moment the position reached its maximum drawdown during the life of this position
cancelReason: string
Why signal was cancelled (timeout | price_reject | user)
cancelId: string
Optional cancellation identifier (provided when user calls cancel())
duration: number
Duration in minutes from scheduledAt to cancellation
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)
note: string
Optional human-readable description of signal reason
createdAt: number
Unix timestamp in milliseconds when the tick result was created (from candle timestamp in backtest or execution context when in live)