Function listenWalker

  • Subscribes to walker progress events with queued async processing.

    Emits during Walker.run() execution after each strategy completes. Events are processed sequentially in order received, even if callback is async. Uses queued wrapper to prevent concurrent execution of the callback.

    Parameters

    • fn: (event: WalkerContract) => void

      Callback function to handle walker progress events

    Returns () => void

    Unsubscribe function to stop listening to events

    import { listenWalker, Walker } from "backtest-kit";

    const unsubscribe = listenWalker((event) => {
    console.log(`Progress: ${event.strategiesTested} / ${event.totalStrategies}`);
    console.log(`Best strategy: ${event.bestStrategy} (${event.bestMetric})`);
    console.log(`Current strategy: ${event.strategyName} (${event.metricValue})`);
    });

    Walker.run("BTCUSDT", {
    walkerName: "my-walker",
    exchangeName: "binance",
    frameName: "1d-backtest"
    });

    // Later: stop listening
    unsubscribe();