Service for generating and saving breakeven markdown reports.
Features:
constructor();
loggerService: any
Logger service for debug output
getStorage: any
Memoized function to get or create ReportStorage for a symbol-strategy-exchange-frame-backtest combination. Each combination gets its own isolated storage instance.
subscribe: (() => () => void) & ISingleshotClearable
Subscribes to breakeven signal emitter to receive events. Protected against multiple subscriptions. Returns an unsubscribe function to stop receiving events.
unsubscribe: () => Promise<void>
Unsubscribes from breakeven signal emitter to stop receiving events. Calls the unsubscribe function returned by subscribe(). If not subscribed, does nothing.
tickBreakeven: any
Processes breakeven events and accumulates them. Should be called from breakevenSubject subscription.
getData: (symbol: string, strategyName: string, exchangeName: string, frameName: string, backtest: boolean) => Promise<BreakevenStatisticsModel>
Gets statistical data from all breakeven events for a symbol-strategy pair. Delegates to ReportStorage.getData().
getReport: (symbol: string, strategyName: string, exchangeName: string, frameName: string, backtest: boolean, columns?: Columns[]) => Promise<string>
Generates markdown report with all breakeven events for a symbol-strategy pair. Delegates to ReportStorage.getReport().
dump: (symbol: string, strategyName: string, exchangeName: string, frameName: string, backtest: boolean, path?: string, columns?: Columns[]) => Promise<void>
Saves symbol-strategy report to disk. Creates directory if it doesn't exist. Delegates to ReportStorage.dump().
clear: (payload?: { symbol: string; strategyName: string; exchangeName: string; frameName: string; backtest: boolean; }) => Promise<void>
Clears accumulated event data from storage. If payload is provided, clears only that specific symbol-strategy-exchange-frame-backtest combination's data. If nothing is provided, clears all data.