Contract for scheduled signal lifecycle events (creation and cancellation).
Emitted by scheduleEventSubject when a scheduled signal is created (added) or cancelled during tick()/backtest() processing. Lets consumers track the scheduled phase of a signal without subscribing to the full signal stream.
IMPORTANT: The scheduled -> active transition (activation) is intentionally NOT emitted here. Activation produces an "opened" signal on the regular signal emitters; this contract only covers a scheduled signal being put in place and being removed before it ever opened.
Consumers:
action: "scheduled" | "cancelled"
Lifecycle action for the scheduled signal.
symbol: string
Trading pair symbol (e.g., "BTCUSDT"). Identifies which market this event belongs to.
strategyName: string
Strategy name that owns this scheduled signal.
exchangeName: string
Exchange name where this scheduled signal lives.
frameName: string
Frame name (timeframe / date range) for the run. Empty string in live mode.
Same value as the signal's frameName (data.frameName).
data: IPublicSignalRow
Complete scheduled signal row data in public form. Contains all signal information: id, position, priceOpen, priceTakeProfit, priceStopLoss, etc.
reason: StrategyCancelReason
Cancellation reason. Present only when action === "cancelled":
Always undefined when action === "scheduled".
currentPrice: number
Current market price of the symbol at the time of the event.
backtest: boolean
Execution mode flag.
timestamp: number
Event timestamp in milliseconds since Unix epoch.
Timing semantics: