wickra-wasm 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="https://wickra.org"><img src="https://wickra.org/og-banner.webp" alt="Wickra — streaming-first technical indicators" width="100%"></a>
2
+ <a href="https://wickra.org"><img src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=227" alt="Wickra — streaming-first technical indicators" width="100%"></a>
3
3
  </p>
4
4
 
5
5
  [![CI](https://github.com/wickra-lib/wickra/actions/workflows/ci.yml/badge.svg)](https://github.com/wickra-lib/wickra/actions/workflows/ci.yml)
@@ -12,6 +12,7 @@
12
12
  [![License: PolyForm-NC](https://img.shields.io/badge/license-PolyForm--NC--1.0.0-purple)](LICENSE)
13
13
  [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/wickra-lib/wickra/badge)](https://scorecard.dev/viewer/?uri=github.com/wickra-lib/wickra)
14
14
  [![Build provenance](https://img.shields.io/badge/provenance-attested-brightgreen?logo=github)](https://github.com/wickra-lib/wickra/attestations)
15
+ [![Docs](https://img.shields.io/badge/docs-docs.wickra.org-0ea5e9?logo=readthedocs&logoColor=white)](https://docs.wickra.org)
15
16
 
16
17
  **Streaming-first technical indicators. Install with `pip install wickra` — no system dependencies.**
17
18
 
@@ -37,6 +38,25 @@ for price in live_feed:
37
38
  print("overbought")
38
39
  ```
39
40
 
41
+ ## Documentation
42
+
43
+ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
44
+
45
+ - **Quickstarts** — [Rust](https://docs.wickra.org/Quickstart-Rust),
46
+ [Python](https://docs.wickra.org/Quickstart-Python),
47
+ [Node](https://docs.wickra.org/Quickstart-Node),
48
+ [WASM](https://docs.wickra.org/Quickstart-WASM).
49
+ - **Indicators** — a per-indicator deep dive (formula, parameters, warmup) for
50
+ every one of the 227 indicators; start at the
51
+ [indicators overview](https://docs.wickra.org/Indicators-Overview).
52
+ - **Reference** — [warmup periods](https://docs.wickra.org/Warmup-Periods),
53
+ [streaming vs batch](https://docs.wickra.org/Streaming-vs-Batch),
54
+ [indicator chaining](https://docs.wickra.org/Indicator-Chaining), the
55
+ [data layer](https://docs.wickra.org/Data-Layer).
56
+ - **Guides** — [Cookbook](https://docs.wickra.org/Cookbook),
57
+ [TA-Lib migration](https://docs.wickra.org/TA-Lib-Migration),
58
+ [FAQ](https://docs.wickra.org/FAQ).
59
+
40
60
  ## Why Wickra exists
41
61
 
42
62
  The Python TA ecosystem has plenty of libraries — TA-Lib, pandas-ta, finta,
@@ -115,9 +135,10 @@ python -m benchmarks.compare_libraries
115
135
 
116
136
  ## Indicators
117
137
 
118
- 214 streaming-first indicators across sixteen families. Every one passes the
138
+ 227 streaming-first indicators across seventeen families. Every one passes the
119
139
  `batch == streaming` equivalence test, reference-value tests, and reset
120
- semantics tests.
140
+ semantics tests. Each has a per-indicator deep dive (formula, parameters,
141
+ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
121
142
 
122
143
  | Family | Indicators |
123
144
  |--------|-----------|
@@ -129,15 +150,22 @@ semantics tests.
129
150
  | Bands & Channels | MA Envelope, Acceleration Bands, STARC Bands, ATR Bands, Hurst Channel, LinReg Channel, Standard Error Bands, Double Bollinger Bands, TTM Squeeze, Fractal Chaos Bands, VWAP StdDev Bands |
130
151
  | Trailing Stops | Parabolic SAR, SuperTrend, Chandelier Exit, Chande Kroll Stop, ATR Trailing Stop, HiLo Activator, Volty Stop, Yo-Yo Exit, Donchian Channel Stop, Percentage Trailing Stop, Step Trailing Stop, Renko Trailing Stop |
131
152
  | Volume | OBV, VWAP (cumulative + rolling), ADL, Volume-Price Trend, Chaikin Money Flow, Chaikin Oscillator, Force Index, Ease of Movement, Klinger Volume Oscillator, Volume Oscillator, NVI, PVI, Williams A/D, Anchored VWAP, Demand Index, TSV, VZO, Market Facilitation Index |
132
- | Price Statistics | Typical Price, Median Price, Weighted Close, Linear Regression, Linear Regression Slope, Z-Score, Linear Regression Angle, Variance, Coefficient of Variation, Skewness, Kurtosis, Standard Error, Detrended StdDev, R², Median Absolute Deviation, Autocorrelation, Hurst Exponent, Pearson Correlation, Beta, Spearman Correlation |
153
+ | Price Statistics | Typical Price, Median Price, Weighted Close, Linear Regression, Linear Regression Slope, Z-Score, Linear Regression Angle, Variance, Coefficient of Variation, Skewness, Kurtosis, Standard Error, Detrended StdDev, R², Median Absolute Deviation, Autocorrelation, Hurst Exponent, Pearson Correlation, Beta, Pairwise Beta, Pair Spread Z-Score, Lead-Lag Cross-Correlation, Cointegration, Relative Strength A-vs-B, Spearman Correlation |
133
154
  | Ehlers / Cycle (DSP) | MAMA, FAMA, Fisher Transform, Inverse Fisher Transform, SuperSmoother, Hilbert Dominant Cycle, Sine Wave, Decycler, Decycler Oscillator, Roofing Filter, Center of Gravity, Cybernetic Cycle, Adaptive Cycle, Empirical Mode Decomposition, Ehlers Stochastic, Instantaneous Trendline |
134
155
  | Pivots & S/R | Classic Pivots, Fibonacci Pivots, Camarilla, Woodie Pivots, DeMark Pivots, Williams Fractals, ZigZag |
135
156
  | DeMark | TD Setup, TD Sequential, TD DeMarker, TD REI, TD Pressure, TD Combo, TD Countdown, TD Lines, TD Range Projection, TD Differential, TD Open, TD Risk Level |
136
157
  | Ichimoku & Charts | Ichimoku Kinko Hyo (Tenkan, Kijun, Senkou A/B, Chikou), Heikin-Ashi |
137
158
  | Candlestick Patterns | Doji, Hammer, Inverted Hammer, Hanging Man, Shooting Star, Engulfing, Harami, Morning/Evening Star, Three White Soldiers/Black Crows, Piercing Line/Dark Cloud Cover, Marubozu, Tweezer, Spinning Top, Three Inside Up/Down, Three Outside Up/Down |
159
+ | Microstructure | Order-Book Imbalance (Top-1 / Top-N / Full), Microprice, Quoted Spread, Signed Volume, Cumulative Volume Delta, Trade Imbalance |
138
160
  | Market Profile | Value Area (POC / VAH / VAL), Initial Balance, Opening Range |
139
161
  | Risk / Performance | Sharpe Ratio, Sortino Ratio, Calmar Ratio, Omega Ratio, Max Drawdown, Average Drawdown, Drawdown Duration, Pain Index, Value at Risk, Conditional Value at Risk (CVaR), Profit Factor, Gain/Loss Ratio, Recovery Factor, Kelly Criterion, Treynor Ratio, Information Ratio, Alpha (Jensen) |
140
162
 
163
+ Every candlestick pattern emits a signed per-bar value — `+1.0` bullish,
164
+ `−1.0` bearish, `0.0` none — so the family drops straight into a feature matrix
165
+ as one column each. `Doji` is direction-less by default (`+1.0` / `0.0`);
166
+ construct it in signed mode (`Doji::new().signed()`, `Doji(signed=True)`,
167
+ `new Doji(true)`) for a dragonfly / gravestone `±1` reading.
168
+
141
169
  Adding a new indicator means implementing one trait in Rust; all four bindings
142
170
  inherit it automatically.
143
171
 
@@ -209,7 +237,7 @@ A Python live-trading example using the public `websockets` package lives at
209
237
  ```
210
238
  wickra/
211
239
  ├── crates/
212
- │ ├── wickra-core/ core engine + all 214 indicators
240
+ │ ├── wickra-core/ core engine + all 227 indicators
213
241
  │ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
214
242
  │ └── wickra-data/ CSV reader, tick aggregator, live exchange feeds
215
243
  ├── bindings/
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "kingchenc <support@wickra.org>"
6
6
  ],
7
7
  "description": "WASM bindings for the Wickra streaming-first technical indicators library.",
8
- "version": "0.4.0",
8
+ "version": "0.4.2",
9
9
  "license": "PolyForm-Noncommercial-1.0.0",
10
10
  "repository": {
11
11
  "type": "git",
package/wickra_wasm.d.ts CHANGED
@@ -432,6 +432,24 @@ export class CoefficientOfVariation {
432
432
  warmupPeriod(): number;
433
433
  }
434
434
 
435
+ export class Cointegration {
436
+ free(): void;
437
+ [Symbol.dispose](): void;
438
+ /**
439
+ * Flat `Float64Array` of length `3 * n`:
440
+ * `[hedgeRatio0, spread0, adfStat0, hedgeRatio1, ...]`. Warmup rows are NaN.
441
+ */
442
+ batch(a: Float64Array, b: Float64Array): Float64Array;
443
+ isReady(): boolean;
444
+ constructor(period: number, adf_lags: number);
445
+ reset(): void;
446
+ /**
447
+ * Returns `{ hedgeRatio, spread, adfStat }`, or `null` during warmup.
448
+ */
449
+ update(a: number, b: number): any;
450
+ warmupPeriod(): number;
451
+ }
452
+
435
453
  export class ConditionalValueAtRisk {
436
454
  free(): void;
437
455
  [Symbol.dispose](): void;
@@ -465,6 +483,16 @@ export class Coppock {
465
483
  warmupPeriod(): number;
466
484
  }
467
485
 
486
+ export class CumulativeVolumeDelta {
487
+ free(): void;
488
+ [Symbol.dispose](): void;
489
+ isReady(): boolean;
490
+ constructor();
491
+ reset(): void;
492
+ update(price: number, size: number, is_buy: boolean): number | undefined;
493
+ warmupPeriod(): number;
494
+ }
495
+
468
496
  export class CyberneticCycle {
469
497
  free(): void;
470
498
  [Symbol.dispose](): void;
@@ -556,7 +584,8 @@ export class Doji {
556
584
  [Symbol.dispose](): void;
557
585
  batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
558
586
  isReady(): boolean;
559
- constructor();
587
+ isSigned(): boolean;
588
+ constructor(signed?: boolean | null);
560
589
  reset(): void;
561
590
  update(open: number, high: number, low: number, close: number): number | undefined;
562
591
  warmupPeriod(): number;
@@ -1075,6 +1104,25 @@ export class LaguerreRSI {
1075
1104
  warmupPeriod(): number;
1076
1105
  }
1077
1106
 
1107
+ export class LeadLagCrossCorrelation {
1108
+ free(): void;
1109
+ [Symbol.dispose](): void;
1110
+ /**
1111
+ * Flat `Float64Array` of length `2 * n`: `[lag0, corr0, lag1, corr1, ...]`.
1112
+ * Warmup positions are NaN.
1113
+ */
1114
+ batch(a: Float64Array, b: Float64Array): Float64Array;
1115
+ isReady(): boolean;
1116
+ constructor(window: number, max_lag: number);
1117
+ reset(): void;
1118
+ /**
1119
+ * Returns `{ lag, correlation }`, or `null` during warmup. Positive lag
1120
+ * means `a` leads `b`.
1121
+ */
1122
+ update(a: number, b: number): any;
1123
+ warmupPeriod(): number;
1124
+ }
1125
+
1078
1126
  export class LinRegAngle {
1079
1127
  free(): void;
1080
1128
  [Symbol.dispose](): void;
@@ -1254,6 +1302,16 @@ export class MedianPrice {
1254
1302
  update(high: number, low: number): number | undefined;
1255
1303
  }
1256
1304
 
1305
+ export class Microprice {
1306
+ free(): void;
1307
+ [Symbol.dispose](): void;
1308
+ isReady(): boolean;
1309
+ constructor();
1310
+ reset(): void;
1311
+ update(bid_px: Float64Array, bid_sz: Float64Array, ask_px: Float64Array, ask_sz: Float64Array): number | undefined;
1312
+ warmupPeriod(): number;
1313
+ }
1314
+
1257
1315
  export class MorningEveningStar {
1258
1316
  free(): void;
1259
1317
  [Symbol.dispose](): void;
@@ -1320,6 +1378,36 @@ export class OpeningRange {
1320
1378
  warmupPeriod(): number;
1321
1379
  }
1322
1380
 
1381
+ export class OrderBookImbalanceFull {
1382
+ free(): void;
1383
+ [Symbol.dispose](): void;
1384
+ isReady(): boolean;
1385
+ constructor();
1386
+ reset(): void;
1387
+ update(bid_px: Float64Array, bid_sz: Float64Array, ask_px: Float64Array, ask_sz: Float64Array): number | undefined;
1388
+ warmupPeriod(): number;
1389
+ }
1390
+
1391
+ export class OrderBookImbalanceTop1 {
1392
+ free(): void;
1393
+ [Symbol.dispose](): void;
1394
+ isReady(): boolean;
1395
+ constructor();
1396
+ reset(): void;
1397
+ update(bid_px: Float64Array, bid_sz: Float64Array, ask_px: Float64Array, ask_sz: Float64Array): number | undefined;
1398
+ warmupPeriod(): number;
1399
+ }
1400
+
1401
+ export class OrderBookImbalanceTopN {
1402
+ free(): void;
1403
+ [Symbol.dispose](): void;
1404
+ isReady(): boolean;
1405
+ constructor(levels: number);
1406
+ reset(): void;
1407
+ update(bid_px: Float64Array, bid_sz: Float64Array, ask_px: Float64Array, ask_sz: Float64Array): number | undefined;
1408
+ warmupPeriod(): number;
1409
+ }
1410
+
1323
1411
  export class PGO {
1324
1412
  free(): void;
1325
1413
  [Symbol.dispose](): void;
@@ -1384,6 +1472,36 @@ export class PainIndex {
1384
1472
  warmupPeriod(): number;
1385
1473
  }
1386
1474
 
1475
+ export class PairSpreadZScore {
1476
+ free(): void;
1477
+ [Symbol.dispose](): void;
1478
+ /**
1479
+ * Batch over two equally-sized arrays of prices. Returns one `f64` per
1480
+ * input position (`NaN` during warmup).
1481
+ */
1482
+ batch(a: Float64Array, b: Float64Array): Float64Array;
1483
+ isReady(): boolean;
1484
+ constructor(beta_period: number, z_period: number);
1485
+ reset(): void;
1486
+ update(a: number, b: number): number | undefined;
1487
+ warmupPeriod(): number;
1488
+ }
1489
+
1490
+ export class PairwiseBeta {
1491
+ free(): void;
1492
+ [Symbol.dispose](): void;
1493
+ /**
1494
+ * Batch over two equally-sized arrays. Returns one `f64` per
1495
+ * input position (`NaN` during warmup).
1496
+ */
1497
+ batch(x: Float64Array, y: Float64Array): Float64Array;
1498
+ isReady(): boolean;
1499
+ constructor(period: number);
1500
+ reset(): void;
1501
+ update(x: number, y: number): number | undefined;
1502
+ warmupPeriod(): number;
1503
+ }
1504
+
1387
1505
  export class ParkinsonVolatility {
1388
1506
  free(): void;
1389
1507
  [Symbol.dispose](): void;
@@ -1452,6 +1570,16 @@ export class ProfitFactor {
1452
1570
  warmupPeriod(): number;
1453
1571
  }
1454
1572
 
1573
+ export class QuotedSpread {
1574
+ free(): void;
1575
+ [Symbol.dispose](): void;
1576
+ isReady(): boolean;
1577
+ constructor();
1578
+ reset(): void;
1579
+ update(bid_px: Float64Array, bid_sz: Float64Array, ask_px: Float64Array, ask_sz: Float64Array): number | undefined;
1580
+ warmupPeriod(): number;
1581
+ }
1582
+
1455
1583
  export class ROC {
1456
1584
  free(): void;
1457
1585
  [Symbol.dispose](): void;
@@ -1530,6 +1658,24 @@ export class RecoveryFactor {
1530
1658
  warmupPeriod(): number;
1531
1659
  }
1532
1660
 
1661
+ export class RelativeStrengthAB {
1662
+ free(): void;
1663
+ [Symbol.dispose](): void;
1664
+ /**
1665
+ * Flat `Float64Array` of length `3 * n`:
1666
+ * `[ratio0, ratioMa0, ratioRsi0, ratio1, ...]`. Warmup rows are NaN.
1667
+ */
1668
+ batch(a: Float64Array, b: Float64Array): Float64Array;
1669
+ isReady(): boolean;
1670
+ constructor(ma_period: number, rsi_period: number);
1671
+ reset(): void;
1672
+ /**
1673
+ * Returns `{ ratio, ratioMa, ratioRsi }`, or `null` during warmup.
1674
+ */
1675
+ update(a: number, b: number): any;
1676
+ warmupPeriod(): number;
1677
+ }
1678
+
1533
1679
  export class RenkoTrailingStop {
1534
1680
  free(): void;
1535
1681
  [Symbol.dispose](): void;
@@ -1639,6 +1785,16 @@ export class ShootingStar {
1639
1785
  warmupPeriod(): number;
1640
1786
  }
1641
1787
 
1788
+ export class SignedVolume {
1789
+ free(): void;
1790
+ [Symbol.dispose](): void;
1791
+ isReady(): boolean;
1792
+ constructor();
1793
+ reset(): void;
1794
+ update(price: number, size: number, is_buy: boolean): number | undefined;
1795
+ warmupPeriod(): number;
1796
+ }
1797
+
1642
1798
  export class SineWave {
1643
1799
  free(): void;
1644
1800
  [Symbol.dispose](): void;
@@ -2072,6 +2228,16 @@ export class ThreeSoldiersOrCrows {
2072
2228
  warmupPeriod(): number;
2073
2229
  }
2074
2230
 
2231
+ export class TradeImbalance {
2232
+ free(): void;
2233
+ [Symbol.dispose](): void;
2234
+ isReady(): boolean;
2235
+ constructor(window: number);
2236
+ reset(): void;
2237
+ update(price: number, size: number, is_buy: boolean): number | undefined;
2238
+ warmupPeriod(): number;
2239
+ }
2240
+
2075
2241
  export class TreynorRatio {
2076
2242
  free(): void;
2077
2243
  [Symbol.dispose](): void;
package/wickra_wasm.js CHANGED
@@ -5,5 +5,5 @@ import { __wbg_set_wasm } from "./wickra_wasm_bg.js";
5
5
  __wbg_set_wasm(wasm);
6
6
 
7
7
  export {
8
- ADL, ADX, ADXR, ALMA, APO, ATR, AccelerationBands, AcceleratorOscillator, AdaptiveCycle, Alligator, Alpha, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, Beta, BollingerBands, BollingerBandwidth, CCI, CFO, CMO, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, CoefficientOfVariation, ConditionalValueAtRisk, ConnorsRSI, Coppock, CyberneticCycle, DEMA, DPO, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DetrendedStdDev, Doji, Donchian, DonchianStop, DoubleBollinger, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, FAMA, FRAMA, FibonacciPivots, FisherTransform, ForceIndex, FractalChaosBands, GainLossRatio, GarmanKlassVolatility, HMA, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HilbertDominantCycle, HistoricalVolatility, HurstChannel, HurstExponent, Ichimoku, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KellyCriterion, Keltner, Kurtosis, LaguerreRSI, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, MACD, MAMA, MFI, MOM, MaEnvelope, MarketFacilitationIndex, Marubozu, MassIndex, MaxDrawdown, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, MorningEveningStar, NATR, NVI, OBV, OmegaRatio, OpeningRange, PGO, PMO, PPO, PSAR, PVI, PainIndex, ParkinsonVolatility, PearsonCorrelation, PercentB, PercentageTrailingStop, PiercingDarkCloud, ProfitFactor, ROC, RSI, RSquared, RVI, RVIVolatility, RWI, RecoveryFactor, RenkoTrailingStop, RogersSatchellVolatility, RollingVWAP, RoofingFilter, SMA, SMI, SMMA, STC, SharpeRatio, ShootingStar, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StochRSI, Stochastic, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TRIMA, TRIX, TSI, TSV, ThreeInside, ThreeOutside, ThreeSoldiersOrCrows, TreynorRatio, TrueRange, TtmSqueeze, Tweezer, TypicalPrice, UlcerIndex, UltimateOscillator, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VerticalHorizontalFilter, VoltyStop, VolumeOscillator, VolumePriceTrend, Vortex, VwapStdDevBands, WMA, WaveTrend, WeightedClose, WilliamsAD, WilliamsFractals, WilliamsR, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
8
+ ADL, ADX, ADXR, ALMA, APO, ATR, AccelerationBands, AcceleratorOscillator, AdaptiveCycle, Alligator, Alpha, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, Beta, BollingerBands, BollingerBandwidth, CCI, CFO, CMO, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, CoefficientOfVariation, Cointegration, ConditionalValueAtRisk, ConnorsRSI, Coppock, CumulativeVolumeDelta, CyberneticCycle, DEMA, DPO, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DetrendedStdDev, Doji, Donchian, DonchianStop, DoubleBollinger, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, FAMA, FRAMA, FibonacciPivots, FisherTransform, ForceIndex, FractalChaosBands, GainLossRatio, GarmanKlassVolatility, HMA, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HilbertDominantCycle, HistoricalVolatility, HurstChannel, HurstExponent, Ichimoku, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KellyCriterion, Keltner, Kurtosis, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, MACD, MAMA, MFI, MOM, MaEnvelope, MarketFacilitationIndex, Marubozu, MassIndex, MaxDrawdown, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningEveningStar, NATR, NVI, OBV, OmegaRatio, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, PGO, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentB, PercentageTrailingStop, PiercingDarkCloud, ProfitFactor, QuotedSpread, ROC, RSI, RSquared, RVI, RVIVolatility, RWI, RecoveryFactor, RelativeStrengthAB, RenkoTrailingStop, RogersSatchellVolatility, RollingVWAP, RoofingFilter, SMA, SMI, SMMA, STC, SharpeRatio, ShootingStar, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StochRSI, Stochastic, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TRIMA, TRIX, TSI, TSV, ThreeInside, ThreeOutside, ThreeSoldiersOrCrows, TradeImbalance, TreynorRatio, TrueRange, TtmSqueeze, Tweezer, TypicalPrice, UlcerIndex, UltimateOscillator, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VerticalHorizontalFilter, VoltyStop, VolumeOscillator, VolumePriceTrend, Vortex, VwapStdDevBands, WMA, WaveTrend, WeightedClose, WilliamsAD, WilliamsFractals, WilliamsR, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
9
9
  } from "./wickra_wasm_bg.js";