Breakeven tracking interface. Implemented by ClientBreakeven and BreakevenConnectionService.
Tracks when a signal's stop-loss is moved to breakeven (entry price). Emits events when threshold is reached (price moves far enough to cover transaction costs).
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.
Called by ClientStrategy during signal monitoring. Checks if:
If all conditions met:
clear: (symbol: string, data: IPublicSignalRow, priceClose: number, backtest: boolean) => Promise<void>
Clears breakeven state when signal closes.
Called by ClientStrategy when signal completes (TP/SL/time_expired). Removes signal state from memory and persists changes to disk. Cleans up memoized ClientBreakeven instance in BreakevenConnectionService.