Implements IBreakeven
Connection service for breakeven tracking.
Provides memoized ClientBreakeven instances per signal ID. Acts as factory and lifetime manager for ClientBreakeven objects.
Features:
Architecture:
constructor();
loggerService: any
Logger service injected from DI container.
getBreakeven: any
Memoized factory function for ClientBreakeven instances.
Creates one ClientBreakeven per signal ID and backtest mode with configured callbacks. Instances are cached until clear() is called.
Key format: "signalId:backtest" or "signalId:live" Value: ClientBreakeven instance with logger and event emitter
check: (symbol: string, data: IPublicSignalRow, currentPrice: number, backtest: boolean, when: Date) => Promise<boolean>
Checks if breakeven should be triggered and emits event if conditions met.
Retrieves or creates ClientBreakeven for signal ID, initializes it if needed, then delegates to ClientBreakeven.check() method.
clear: (symbol: string, data: IPublicSignalRow, priceClose: number, backtest: boolean) => Promise<void>
Clears breakeven state when signal closes.
Retrieves ClientBreakeven for signal ID, initializes if needed, delegates clear operation, then removes memoized instance.
Sequence: