Predicate to filter which events trigger the callback
Callback function to handle the filtered event (called only once)
Unsubscribe function to cancel the listener before it fires
import { listenWalkerOnce, Walker } from "backtest-kit";
// Wait for walker to complete all strategies
listenWalkerOnce(
(event) => event.strategiesTested === event.totalStrategies,
(event) => {
console.log("Walker completed!");
console.log("Best strategy:", event.bestStrategy, event.bestMetric);
}
);
// Wait for specific strategy to be tested
const cancel = listenWalkerOnce(
(event) => event.strategyName === "my-strategy-v2",
(event) => console.log("Strategy v2 tested:", event.metricValue)
);
Walker.run("BTCUSDT", {
walkerName: "my-walker",
exchangeName: "binance",
frameName: "1d-backtest"
});
// Cancel if needed before event fires
cancel();
Subscribes to filtered walker progress events with one-time execution.
Listens for events matching the filter predicate, then executes callback once and automatically unsubscribes. Useful for waiting for specific walker conditions.