Files
wickra/bindings/wasm/README.md
T
kingchenc 9309bf9d60 docs(P6.4): repoint all doc links from the GitHub wiki to docs.wickra.org (#86)
The documentation now lives in the wickra-lib/wickra-docs VitePress repo and
will deploy to docs.wickra.org. Rewrite every tracked, user-facing wiki link
in the main repo to the new canonical site:

- docs/README.md, CONTRIBUTING.md, PULL_REQUEST_TEMPLATE.md
- bindings/{node,python,wasm}/README.md, examples/wasm/README.md
- repo-metadata.toml: wiki_url/wiki_git -> docs_url/docs_git

Page paths map 1:1 to VitePress clean URLs (e.g. /wiki/Quickstart-Rust.md ->
docs.wickra.org/Quickstart-Rust). The sync-about.yml wiki-sync step is left
untouched on purpose: it stays until the docs site is live (tracked as P8.3).
The GitHub wiki itself is not deleted yet for the same reason.
2026-05-31 21:48:24 +02:00

3.0 KiB

Wickra — WebAssembly

CI codecov npm License: PolyForm-NC

Streaming-first technical indicators in the browser. npm install wickra-wasm — pure WebAssembly, runs anywhere a modern JS engine does.

Wickra is a multi-language technical-analysis library with a Rust core and bindings for Python, Node.js, and WebAssembly. Every indicator is an O(1) streaming state machine, so live trading dashboards and historical backtests share the exact same implementation. This package is the WebAssembly binding (wasm-bindgen, built for the web target); it exposes 200+ streaming-first indicators across sixteen families.

Install

npm install wickra-wasm

Quick start

The module ships a default init export that loads the .wasm payload; await it once before constructing indicators.

import init, { RSI } from 'wickra-wasm';

await init(); // load the WebAssembly module once

// Streaming: feed prices tick by tick in O(1).
const rsi = new RSI(14);
for (const price of liveFeed) {
  const value = rsi.update(price); // null during warmup
  if (value !== null && value > 70) {
    console.log('overbought');
  }
}

Constructors mirror the other bindings (new SMA(20), new MACD(12, 26, 9), new BollingerBands(20, 2.0), …); update() returns the latest value or null while the indicator is still warming up.

Documentation

The full indicator catalogue, guides, quickstarts, and API reference live in the main repository and documentation site:

Wickra ships four bindings — Python, Node.js, WebAssembly, and Rust — that all expose the same indicators from the shared, unsafe-forbidden Rust core.

Disclaimer

Wickra is an indicator toolkit, not a trading system. The values it computes are deterministic transforms of the input data — they are not financial advice and do not predict the market. Any use in a live trading context is at your own risk. The library is provided as is, without warranty of any kind.

License

Licensed under the PolyForm Noncommercial License 1.0.0. Personal projects, research, education, non-profits, and hobby trading bots are all fine; the one thing not allowed is commercial sale of the software or of services built around it. See LICENSE.