▶ Live demo: all 514 indicators over real Binance market data, computed live in your browser — live.wickra.org · zero backend, powered by
wickra-wasm.
Scan thousands of symbols in parallel against data-driven conditions over 497 O(1) streaming indicators — for R. install.packages("wickrascreener", repos = "https://wickra-lib.r-universe.dev") — over the C ABI via .Call, prebuilt library fetched on install.
R bindings for the wickra-screener data-driven core, over its C ABI hub
(.Call). Build a screener from a spec JSON, drive it with command JSON, read
back scan reports — the same protocol as the CLI and every other binding.
From r-universe:
install.packages("wickrascreener", repos = "https://wickra-lib.r-universe.dev")
The package's configure downloads the prebuilt C ABI library for this exact
version from the GitHub release and bundles it, so an ordinary install needs
nothing but a C toolchain (Rtools on Windows) for the thin .Call glue layer. To
build against a local checkout instead, point it at the header and library with
the environment variables below.
The package links the wickra_screener C ABI, located out-of-tree via two
environment variables:
# Build the C ABI shared library first.
cargo build -p wickra-screener-c --release
export WKSCREEN_INC="$PWD/bindings/c/include"
export WKSCREEN_LIB="$PWD/target/release"
# The loader must also find the shared library at run time:
export LD_LIBRARY_PATH="$WKSCREEN_LIB:$LD_LIBRARY_PATH" # PATH on Windows
R CMD INSTALL bindings/r
Rscript bindings/r/tests/run_tests.R
library(wickrascreener)
spec <- paste0(
'{"universe":["AAA","BBB"],"condition":{"type":"cmp",',
'"left":{"kind":"price","field":"close"},"op":"gt",',
'"right":{"kind":"const","value":10.0}}}'
)
screener <- wkscreen_new(spec)
cmd <- paste0(
'{"cmd":"scan","data":{',
'"AAA":[{"time":1,"open":5,"high":5,"low":5,"close":5,"volume":1}],',
'"BBB":[{"time":1,"open":15,"high":15,"low":15,"close":15,"volume":1}]}}'
)
cat(wkscreen_command(screener, cmd), "\n") # {"matches":[{"symbol":"BBB",...}],"scanned":2}
cat(wkscreen_version(), "\n")
| Function | Description |
|---|---|
wkscreen_new(spec_json) |
Build a screener from a spec JSON (errors on an invalid spec). |
wkscreen_command(screener, cmd_json) |
Apply a command JSON, return the response JSON. |
wkscreen_version() |
The library version. |
Every binding forwards to the same data-driven Rust core, so what this one adds is
the call overhead of R's native .Call interface over the C ABI, not a different result. The core's throughput is
measured by the repository's benchmark suite and the nightly bench.yml run; the
numbers, the machine and how to reproduce them are in the repository
BENCHMARKS.md.
The full guide, the spec reference and the API documentation live in the main repository and the documentation site:
examples/r/
Wickra Screener ships native bindings for Python, Node.js, WASM and Rust, plus a C ABI hub that any
C-capable language (C, C++, C#, Go, Java, R) links against — all forwarding to the
same data-driven, unsafe-forbidden Rust core.
Found a security issue? Please don't open a public issue. Report it privately
via the repository's Security tab ("Report a vulnerability") or email
support@wickra.org with a subject line starting [wickra security]. Full
policy: https://github.com/wickra-lib/wickra-screener/blob/main/SECURITY.md.
Wickra Screener is analysis software: it computes indicator values and evaluates conditions over historical and live market data. It is provided "as is", without warranty of any kind, and is not financial advice — it places no orders. Trading carries risk of loss; review the code and use at your own discretion.
Licensed under either of Apache-2.0 or MIT at your option.