Implements IPartial
Connection service for partial profit/loss tracking.
Provides memoized ClientPartial instances per signal ID. Acts as factory and lifetime manager for ClientPartial objects.
Features:
Architecture:
constructor();
loggerService: any
Logger service injected from DI container.
getPartial: any
Memoized factory function for ClientPartial instances.
Creates one ClientPartial per signal ID with configured callbacks. Instances are cached until clear() is called.
Key format: signalId Value: ClientPartial instance with logger and event emitters
profit: (symbol: string, data: ISignalRow, currentPrice: number, revenuePercent: number, backtest: boolean, when: Date) => Promise<void>
Processes profit state and emits events for newly reached profit levels.
Retrieves or creates ClientPartial for signal ID, initializes it if needed, then delegates to ClientPartial.profit() method.
loss: (symbol: string, data: ISignalRow, currentPrice: number, lossPercent: number, backtest: boolean, when: Date) => Promise<void>
Processes loss state and emits events for newly reached loss levels.
Retrieves or creates ClientPartial for signal ID, initializes it if needed, then delegates to ClientPartial.loss() method.
clear: (symbol: string, data: ISignalRow, priceClose: number) => Promise<void>
Clears partial profit/loss state when signal closes.
Retrieves ClientPartial for signal ID, initializes if needed, delegates clear operation, then removes memoized instance.
Sequence: