WalkerUtils

Utility class for walker operations.

Provides simplified access to walkerCommandService.run() with logging. Automatically pulls exchangeName and frameName from walker schema. Exported as singleton instance for convenient usage.

constructor();
_getInstance: any

Memoized function to get or create WalkerInstance for a symbol-walker pair. Each symbol-walker combination gets its own isolated instance.

run: (symbol: string, context: { walkerName: string; }) => AsyncGenerator<WalkerContract, any, any>

Runs walker comparison for a symbol with context propagation.

background: (symbol: string, context: { walkerName: string; }) => () => void

Runs walker comparison in background without yielding results.

Consumes all walker progress updates internally without exposing them. Useful for running walker comparison for side effects only (callbacks, logging).

stop: (symbol: string, context: { walkerName: string; }) => Promise<void>

Stops all strategies in the walker from generating new signals.

Iterates through all strategies defined in walker schema and:

  1. Sends stop signal via walkerStopSubject (interrupts current running strategy)
  2. Sets internal stop flag for each strategy (prevents new signals)

Current active signals (if any) will complete normally. Walker will stop at the next safe point.

Supports multiple walkers running on the same symbol simultaneously. Stop signal is filtered by walkerName to prevent interference.

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

Gets walker results data from all strategy comparisons.

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

Generates markdown report with all strategy comparisons for a walker.

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

Saves walker report to disk.

list: () => Promise<{ id: string; symbol: string; walkerName: string; status: "pending" | "fulfilled" | "rejected" | "ready"; }[]>

Lists all active walker instances with their current status.