Average-buy (DCA) commit notification. Emitted when a new averaging entry is added to an open position.
type: "average_buy.commit"
Discriminator for type-safe union
id: string
Unique notification identifier
timestamp: number
Unix timestamp in milliseconds when the averaging entry was executed
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 executed
signalId: string
Unique signal identifier (UUID v4)
currentPrice: number
Price at which the new averaging entry was executed
cost: number
Cost of this averaging entry in USD
effectivePriceOpen: number
Averaged (effective) entry price after this addition
totalEntries: number
Total number of DCA entries after this addition
totalPartials: number
Total number of partial closes executed (_partial.length). 0 = no partial closes done.
position: "long" | "short"
Trade direction: "long" (buy) or "short" (sell)
priceOpen: number
Original entry price (unchanged by averaging)
priceTakeProfit: number
Effective take profit price (with trailing if set)
priceStopLoss: number
Effective stop loss price (with trailing if set)
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)
pnl: IStrategyPnL
PNL at the moment of average-buy commit (from data.pnl)
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
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)
createdAt: number
Unix timestamp in milliseconds when the notification was created