Function listenWalkerProgress

  • 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

    Returns () => void

    Unsubscribe function to stop listening to events

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

    const unsubscribe = listenWalkerProgress((event) => {
    console.log(`Progress: ${(event.progress * 100).toFixed(2)}%`);
    console.log(`${event.processedStrategies} / ${event.totalStrategies} strategies`);
    console.log(`Walker: ${event.walkerName}, Symbol: ${event.symbol}`);
    });

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

    // Later: stop listening
    unsubscribe();