Indicators — Overview¶
TulipRS implements 75+ technical indicators organised into six categories; every indicator follows the same universal calling convention and returns a serialisable IndicatorState alongside its outputs.
Indicator Categories¶
| Category | Indicators |
|---|---|
| Moving Averages | SMA, EMA, WMA, DEMA, TEMA, TRIMA, HMA, ZLEMA, KAMA, VIDYA, VWMA, Wilders |
| Oscillators | RSI, MACD, Stochastic, StochRSI, Williams %R, CCI, CMO, Ultimate Oscillator, AO, Fisher Transform, FOSC, MSW, TRIX |
| Trend | PPO, APO, ADX, ADXR, DM, DI, DX, Aroon, Aroon Oscillator, PSAR |
| Volatility | BBands, ATR, NATR, TR, StdDev, Volatility, VHF, CVI |
| Volume | AD, ADOSC, OBV, MFI, NVI, PVI, VOSC, KVO, EMV, WAD, MarketFi |
| Price & Statistical | AvgPrice, MedPrice, TypPrice, WCPrice, Max, Min, MOM, ROC, ROCR, BOP, LinReg, TSF, DPO, Mass, MD, QStick, PivotPoint |
Page Structure¶
Every indicator has its own page with Rust, Python, and Node.js tabs. Each page contains:
- Basic — a full call followed by a state-continuation example.
- Optional Outputs — shown only for indicators that expose intermediate series.
- SIMD — two sub-sections:
- By assets — apply the same options to N assets in one CPU pass (
indicator_by_assets::<N>/simd_by_assets). N must be 2, 4, 8, or 16. - By options — apply N option sets to the same asset in one CPU pass (
indicator_by_options::<N>/simd_by_options). Not shown for indicators that have zero options.
- By assets — apply the same options to N assets in one CPU pass (
Running the Built-In Examples¶
Each indicator ships with a self-contained Rust example. Run any of them with:
cargo run --example ti_sma_example
cargo run --example ti_ema_example
cargo run --example ti_macd_example
cargo run --example ti_stoch_example
# … and so on for every indicator
Example binaries live in examples/indicators/ and are named ti_<module>_example.rs.