Tick result: new signal just created. Triggered after getSignal validation and persistence.
action: "opened"
Discriminator for type-safe union
signal: ISignalRow
Newly created and validated signal with generated ID
strategyName: string
Strategy name for tracking
exchangeName: string
Exchange name for tracking
symbol: string
Trading pair symbol (e.g., "BTCUSDT")
currentPrice: number
Current VWAP price at signal open