WalkerMarkdownService

Service for generating and saving walker markdown reports.

Features:

  • Listens to walker events via tick callback
  • Accumulates strategy results per walker using memoized storage
  • Generates markdown tables with detailed strategy comparison
  • Saves reports to disk in logs/walker/{walkerName}.md
constructor();
loggerService: any

Logger service for debug output

getStorage: any

Memoized function to get or create ReportStorage for a walker. Each walker gets its own isolated storage instance.

subscribe: (() => () => void) & ISingleshotClearable

Subscribes to walker emitter to receive walker progress events. Protected against multiple subscriptions. Returns an unsubscribe function to stop receiving events.

unsubscribe: () => Promise<void>

Unsubscribes from walker emitter to stop receiving events. Calls the unsubscribe function returned by subscribe(). If not subscribed, does nothing.

tick: any

Processes walker progress events and accumulates strategy results. Should be called from walkerEmitter.

getData: (walkerName: string, symbol: string, metric: WalkerMetric, context: { exchangeName: string; frameName: string; }) => Promise<WalkerCompleteContract>

Gets walker results data from all strategy results. Delegates to ReportStorage.getData().

getReport: (walkerName: string, symbol: string, metric: WalkerMetric, context: { exchangeName: string; frameName: string; }, strategyColumns?: StrategyColumn[], pnlColumns?: PnlColumn[]) => Promise<...>

Generates markdown report with all strategy results for a walker. Delegates to ReportStorage.getReport().

dump: (walkerName: string, symbol: string, metric: WalkerMetric, context: { exchangeName: string; frameName: string; }, path?: string, strategyColumns?: StrategyColumn[], pnlColumns?: PnlColumn[]) => Promise<...>

Saves walker report to disk. Creates directory if it doesn't exist. Delegates to ReportStorage.dump().

clear: (walkerName?: string) => Promise<void>

Clears accumulated result data from storage. If walkerName is provided, clears only that walker's data. If walkerName is omitted, clears all walkers' data.