2eabda5fa3
The Node binding shipped only one example (a synthetic streaming demo), while Python and Rust both have a CSV backtest. Add the Node counterpart of examples/python/backtest.py and crates/wickra/examples/backtest.rs: it reads an OHLCV CSV, streams every candle through a basket of indicators (SMA, EMA, RSI, MACD, Bollinger Bands, ATR, ADX, OBV) via the O(1) update call, and prints a per-series summary. With no argument it runs against the bundled BTCUSDT daily dataset, so it is runnable out of the box; pass a path to use any other OHLCV CSV.
wickra
Node.js bindings for the Wickra streaming-first technical indicators library.
Install
Once published, install per platform via the precompiled native package:
npm install wickra
Build from source
cd bindings/node
npm install
npm run build
npm test
The native module is built via napi-rs. The build script
produces a wickra.<platform>-<arch>.node binary in the package root that
index.js loads at runtime.
Usage
import { SMA, RSI, MACD, version } from 'wickra';
console.log('wickra', version());
// Batch:
const prices = Array.from({ length: 1000 }, (_, i) => 100 + Math.sin(i * 0.1) * 5);
const rsi = new RSI(14).batch(prices);
// Streaming:
const macd = new MACD(12, 26, 9);
for (const p of livePriceStream) {
const v = macd.update(p);
if (v && v.histogram > 0) console.log('bullish crossover candidate');
}
See index.d.ts for the full TypeScript surface.