Files
kingchenc d59cd44043 docs: standardise language naming + binding security sections (#290)
* docs: standardise language naming and add binding security sections

Canonical binding list everywhere: Rust, Python, Node.js, WASM, C, C++, C#,
Go, Java, R. Use C# (not .NET) as the language label, WASM (not WebAssembly)
in prose, and frame the C ABI as a hub rather than a list item.

- Bump stale indicator counts (200+ -> 514) and family count (sixteen ->
  twenty-four) in the Node/Python/WASM and docs READMEs.
- Add a short Security section to all eight binding READMEs.
- Relabel benchmark rows (C -> C / C++, C# / .NET -> C#).
- Fix the 'language stecker' wording in the C#/Go/R API intros.
- Documentation only; no code or public API changes.

* release.yml: extend install snippets and expose version output

Add the missing registry installs to the release body (dotnet, go, Gradle/
Maven Central, r-universe) alongside cargo/pip/npm, and expose a v-stripped
'version' output from the tag step for the Gradle coordinate. Also fix the
C-ABI language order in the assets note (C# before Go).

* release.yml: correct the release body (10 languages, all registries)

Reframe the tagline to '10 languages' (native Rust/Python/Node.js/WASM + a C
ABI hub for C, C++, C#, Go, Java, R) instead of '4 language registries', note
that C#/Java/Go/R publish to NuGet/Maven/Go/r-universe via their own jobs, and
tidy the Node.js label and the C-ABI hub list.
2026-06-13 23:34:24 +02:00

2.1 KiB

Wickra examples — C#

Runnable C# examples for the Wickra C# binding. Each example is a small console project that references the Wickra project and resolves the native library automatically (from target/release during local development, or the NuGet runtimes/ layout when packaged).

Build the native library first, then run any example:

cargo build -p wickra-c --release
dotnet run --project examples/csharp/streaming
Example What it does Run
streaming Feed a synthetic price series through SMA / EMA / RSI / MACD tick by tick. dotnet run --project examples/csharp/streaming
backtest Compute a basket of indicators over an OHLCV series and print a summary. dotnet run --project examples/csharp/backtest -- <ohlcv.csv>
multi_timeframe Resample a 1-minute series into 5m / 15m and print an indicator per timeframe. dotnet run --project examples/csharp/multi_timeframe
parallel_assets SMA(20) batch over a panel of assets, serial vs Parallel.For, with speedup. dotnet run -c Release --project examples/csharp/parallel_assets -- 200 5000
strategy_rsi_mean_reversion RSI(14) mean-reversion with a PnL / Sharpe / max-DD summary. dotnet run -c Release --project examples/csharp/strategy_rsi_mean_reversion
strategy_macd_adx MACD crossover entries gated by ADX(14) > 20. dotnet run -c Release --project examples/csharp/strategy_macd_adx
strategy_bollinger_squeeze Bollinger-squeeze breakout with an ATR(14) trailing stop. dotnet run -c Release --project examples/csharp/strategy_bollinger_squeeze
fetch_btcusdt Download real BTCUSDT klines from the Binance REST API into a CSV. dotnet run --project examples/csharp/fetch_btcusdt
live_binance Stream live Binance klines through EMA(20) over a WebSocket. dotnet run --project examples/csharp/live_binance

fetch_btcusdt and live_binance require network access; the rest run offline on deterministic synthetic data. Shared helpers (synthetic data, CSV loader, equity summary) live in _common/.