Signal data transfer object returned by getSignal. Will be validated and augmented with auto-generated id.
id: string
Optional signal ID (auto-generated if not provided)
symbol: string
Symbol of a ticker on exchange
position: "long" | "short"
Trade direction: "long" (buy) or "short" (sell)
note: string
Human-readable description of signal reason
priceOpen: number
Entry price for the position
priceTakeProfit: number
Take profit target price (must be > priceOpen for long, < priceOpen for short)
priceStopLoss: number
Stop loss exit price (must be < priceOpen for long, > priceOpen for short)
minuteEstimatedTime: number
Expected duration in minutes before time_expired.
Use Infinity for no timeout — position stays open until TP/SL or explicit closePending().
Default: GLOBAL_CONFIG.CC_MAX_SIGNAL_LIFETIME_MINUTES
cost: number
Cost of this entry in USD. Default: GLOBAL_CONFIG.CC_POSITION_ENTRY_COST
multiplier: number
PNL multiplier (leverage) applied to pnlPercentage in PNL calculations. pnlCost follows automatically (pnlCost = pnlPercentage / 100 * pnlEntries). Default: GLOBAL_CONFIG.CC_SIGNAL_LEVERAGE_MULTIPLIER
isolated: boolean
Isolated-margin mode: the position's margin is its own cost. Once the leveraged realizable PNL reaches -100% the position is force-closed with closeReason "liquidation" at the computed liquidation price (see getLiquidationPrice). With false (cross margin) PNL may go below -100% and the position keeps being monitored until TP/SL/time_expired. Default: GLOBAL_CONFIG.CC_SIGNAL_ISOLATED_MARGIN