ISignalDto

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