wickra-wasm 0.4.4 → 0.4.6

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://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=289" 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=314" 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)
@@ -47,7 +47,7 @@ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
47
47
  [Node](https://docs.wickra.org/Quickstart-Node),
48
48
  [WASM](https://docs.wickra.org/Quickstart-WASM).
49
49
  - **Indicators** — a per-indicator deep dive (formula, parameters, warmup) for
50
- every one of the 289 indicators; start at the
50
+ every one of the 314 indicators; start at the
51
51
  [indicators overview](https://docs.wickra.org/Indicators-Overview).
52
52
  - **Reference** — [warmup periods](https://docs.wickra.org/Warmup-Periods),
53
53
  [streaming vs batch](https://docs.wickra.org/Streaming-vs-Batch),
@@ -135,7 +135,7 @@ python -m benchmarks.compare_libraries
135
135
 
136
136
  ## Indicators
137
137
 
138
- 289 streaming-first indicators across eighteen families. Every one passes the
138
+ 314 streaming-first indicators across nineteen families. Every one passes the
139
139
  `batch == streaming` equivalence test, reference-value tests, and reset
140
140
  semantics tests. Each has a per-indicator deep dive (formula, parameters,
141
141
  warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
@@ -143,22 +143,23 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
143
143
  | Family | Indicators |
144
144
  |--------|-----------|
145
145
  | Moving Averages | SMA, EMA, WMA, DEMA, TEMA, HMA, KAMA, SMMA, TRIMA, ZLEMA, T3, VWMA, ALMA, McGinley Dynamic, FRAMA, VIDYA, JMA, Alligator, EVWMA |
146
- | Momentum Oscillators | RSI (Wilder), Stochastic, CCI, ROC, Williams %R, MFI, Awesome Oscillator, MOM, CMO, TSI, PMO, StochRSI, Ultimate Oscillator, RVI, PGO, KST, SMI, Laguerre RSI, Connors RSI, Inertia |
147
- | Trend & Directional | MACD, ADX (+DI/-DI), ADXR, Aroon, TRIX, Aroon Oscillator, Vortex, Random Walk Index, Trend Intensity Index, Wave Trend Oscillator, Mass Index, Choppiness Index, Vertical Horizontal Filter |
146
+ | Momentum Oscillators | RSI (Wilder), Anchored RSI, Stochastic, CCI, ROC, Williams %R, MFI, Awesome Oscillator, MOM, CMO, TSI, PMO, StochRSI, Ultimate Oscillator, RVI, PGO, KST, SMI, Laguerre RSI, Connors RSI, Inertia, ROC Percentage (ROCP), ROC Ratio (ROCR), ROC Ratio 100 (ROCR100) |
147
+ | Trend & Directional | MACD, MACD Fixed (MACDFIX), MACD Extended (MACDEXT), ADX (+DI/-DI), ADXR, Aroon, TRIX, Aroon Oscillator, Vortex, Random Walk Index, Trend Intensity Index, Wave Trend Oscillator, Mass Index, Choppiness Index, Vertical Horizontal Filter, Plus DM, Minus DM, Plus DI, Minus DI, DX |
148
148
  | Price Oscillators | PPO, DPO, Coppock, Accelerator Oscillator, Balance of Power, APO, AO Histogram, CFO, Zero-Lag MACD, Elder Impulse, STC |
149
149
  | Volatility & Bands | ATR, Bollinger Bands, Keltner Channels, Donchian Channels, NATR, StdDev, Ulcer Index, Historical Volatility, Bollinger Bandwidth, %B, True Range, Chaikin Volatility, RVI (Relative Volatility Index), Parkinson Volatility, Garman-Klass Volatility, Rogers-Satchell Volatility, Yang-Zhang Volatility |
150
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 |
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 |
151
+ | Trailing Stops | Parabolic SAR, Parabolic SAR Extended (SAREXT), 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 |
152
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 |
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 |
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 |
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, Mid Price, Mid Point, Average Price, Linear Regression Intercept, Time Series Forecast |
154
+ | Ehlers / Cycle (DSP) | MAMA, FAMA, Fisher Transform, Inverse Fisher Transform, SuperSmoother, Hilbert Dominant Cycle, Hilbert Phasor, Hilbert DC Phase, Hilbert Trend Mode, Sine Wave, Decycler, Decycler Oscillator, Roofing Filter, Center of Gravity, Cybernetic Cycle, Adaptive Cycle, Empirical Mode Decomposition, Ehlers Stochastic, Instantaneous Trendline |
155
155
  | Pivots & S/R | Classic Pivots, Fibonacci Pivots, Camarilla, Woodie Pivots, DeMark Pivots, Williams Fractals, ZigZag |
156
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 |
157
157
  | Ichimoku & Charts | Ichimoku Kinko Hyo (Tenkan, Kijun, Senkou A/B, Chikou), Heikin-Ashi |
158
+ | Alt-Chart Bars | Renko (box-size bricks), Kagi (reversal-amount lines), Point & Figure (X/O columns) |
158
159
  | 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, Two Crows, Upside Gap Two Crows, Identical Three Crows, Three Line Strike, Three Stars in the South, Abandoned Baby, Advance Block, Belt-hold, Breakaway, Counterattack, Doji Star, Dragonfly Doji, Gravestone Doji, Long-Legged Doji, Rickshaw Man, Evening Doji Star, Morning Doji Star, Gap Side-by-Side White, High-Wave, Hikkake, Modified Hikkake, Homing Pigeon, On-Neck, In-Neck, Thrusting, Separating Lines, Kicking, Kicking by Length, Ladder Bottom, Mat Hold, Matching Low, Long Line, Short Line, Rising Three Methods, Falling Three Methods, Upside Gap Three Methods, Downside Gap Three Methods, Stalled Pattern, Stick Sandwich, Takuri, Closing Marubozu, Opening Marubozu, Tasuki Gap, Unique Three River, Concealing Baby Swallow |
159
160
  | Microstructure | Order-Book Imbalance (Top-1 / Top-N / Full), Microprice, Quoted Spread, Depth Slope, Signed Volume, Cumulative Volume Delta, Trade Imbalance, Effective Spread, Realized Spread, Kyle's Lambda, Footprint |
160
161
  | Derivatives | Funding Rate, Funding Rate Mean, Funding Rate Z-Score, Funding Basis, Open-Interest Delta, OI / Price Divergence, OI-Weighted Price, Long/Short Ratio, Taker Buy/Sell Ratio, Liquidation Features, Term-Structure Basis, Calendar Spread |
161
- | Market Profile | Value Area (POC / VAH / VAL), Initial Balance, Opening Range |
162
+ | Market Profile | Value Area (POC / VAH / VAL), Volume Profile (histogram), TPO Profile, Initial Balance, Opening Range |
162
163
  | 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) |
163
164
 
164
165
  Every candlestick pattern emits a signed per-bar value — `+1.0` bullish,
@@ -238,7 +239,7 @@ A Python live-trading example using the public `websockets` package lives at
238
239
  ```
239
240
  wickra/
240
241
  ├── crates/
241
- │ ├── wickra-core/ core engine + all 289 indicators
242
+ │ ├── wickra-core/ core engine + all 314 indicators
242
243
  │ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
243
244
  │ └── wickra-data/ CSV reader, tick aggregator, live exchange feeds
244
245
  ├── 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.4",
8
+ "version": "0.4.6",
9
9
  "license": "PolyForm-Noncommercial-1.0.0",
10
10
  "repository": {
11
11
  "type": "git",
package/wickra_wasm.d.ts CHANGED
@@ -69,6 +69,15 @@ export class ATR {
69
69
  update(high: number, low: number, close: number): number | undefined;
70
70
  }
71
71
 
72
+ export class AVGPRICE {
73
+ free(): void;
74
+ [Symbol.dispose](): void;
75
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
76
+ constructor();
77
+ reset(): void;
78
+ update(open: number, high: number, low: number, close: number): number | undefined;
79
+ }
80
+
72
81
  export class AbandonedBaby {
73
82
  free(): void;
74
83
  [Symbol.dispose](): void;
@@ -153,6 +162,18 @@ export class Alpha {
153
162
  warmupPeriod(): number;
154
163
  }
155
164
 
165
+ export class AnchoredRSI {
166
+ free(): void;
167
+ [Symbol.dispose](): void;
168
+ batch(prices: Float64Array): Float64Array;
169
+ isReady(): boolean;
170
+ constructor();
171
+ reset(): void;
172
+ setAnchor(): void;
173
+ update(value: number): number | undefined;
174
+ warmupPeriod(): number;
175
+ }
176
+
156
177
  export class AnchoredVWAP {
157
178
  free(): void;
158
179
  [Symbol.dispose](): void;
@@ -613,6 +634,15 @@ export class DPO {
613
634
  warmupPeriod(): number;
614
635
  }
615
636
 
637
+ export class DX {
638
+ free(): void;
639
+ [Symbol.dispose](): void;
640
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
641
+ constructor(period: number);
642
+ reset(): void;
643
+ update(high: number, low: number, close: number): number | undefined;
644
+ }
645
+
616
646
  export class Decycler {
617
647
  free(): void;
618
648
  [Symbol.dispose](): void;
@@ -1054,6 +1084,40 @@ export class HMA {
1054
1084
  warmupPeriod(): number;
1055
1085
  }
1056
1086
 
1087
+ export class HT_DCPHASE {
1088
+ free(): void;
1089
+ [Symbol.dispose](): void;
1090
+ batch(prices: Float64Array): Float64Array;
1091
+ isReady(): boolean;
1092
+ constructor();
1093
+ reset(): void;
1094
+ update(value: number): number | undefined;
1095
+ warmupPeriod(): number;
1096
+ }
1097
+
1098
+ export class HT_PHASOR {
1099
+ free(): void;
1100
+ [Symbol.dispose](): void;
1101
+ /**
1102
+ * Returns a flat `Float64Array` of length `2 * n`: `[inphase0, quad0, ...]`.
1103
+ */
1104
+ batch(prices: Float64Array): Float64Array;
1105
+ constructor();
1106
+ reset(): void;
1107
+ update(value: number): any;
1108
+ }
1109
+
1110
+ export class HT_TRENDMODE {
1111
+ free(): void;
1112
+ [Symbol.dispose](): void;
1113
+ batch(prices: Float64Array): Float64Array;
1114
+ isReady(): boolean;
1115
+ constructor();
1116
+ reset(): void;
1117
+ update(value: number): number | undefined;
1118
+ warmupPeriod(): number;
1119
+ }
1120
+
1057
1121
  export class Hammer {
1058
1122
  free(): void;
1059
1123
  [Symbol.dispose](): void;
@@ -1357,6 +1421,19 @@ export class KVO {
1357
1421
  update(high: number, low: number, close: number, volume: number): number | undefined;
1358
1422
  }
1359
1423
 
1424
+ export class KagiBars {
1425
+ free(): void;
1426
+ [Symbol.dispose](): void;
1427
+ batch(close: Float64Array): Array<any>;
1428
+ constructor(reversal: number);
1429
+ reset(): void;
1430
+ reversal(): number;
1431
+ /**
1432
+ * Returns an array of `{ start, end, direction }` segments completed on this close.
1433
+ */
1434
+ update(close: number): Array<any>;
1435
+ }
1436
+
1360
1437
  export class KellyCriterion {
1361
1438
  free(): void;
1362
1439
  [Symbol.dispose](): void;
@@ -1425,6 +1502,17 @@ export class KylesLambda {
1425
1502
  warmupPeriod(): number;
1426
1503
  }
1427
1504
 
1505
+ export class LINEARREG_INTERCEPT {
1506
+ free(): void;
1507
+ [Symbol.dispose](): void;
1508
+ batch(prices: Float64Array): Float64Array;
1509
+ isReady(): boolean;
1510
+ constructor(period: number);
1511
+ reset(): void;
1512
+ update(value: number): number | undefined;
1513
+ warmupPeriod(): number;
1514
+ }
1515
+
1428
1516
  export class LadderBottom {
1429
1517
  free(): void;
1430
1518
  [Symbol.dispose](): void;
@@ -1566,6 +1654,33 @@ export class MACD {
1566
1654
  update(value: number): any;
1567
1655
  }
1568
1656
 
1657
+ export class MACDEXT {
1658
+ free(): void;
1659
+ [Symbol.dispose](): void;
1660
+ /**
1661
+ * Returns a flat `Float64Array` of length `3 * n`: `[macd0, sig0, hist0, ...]`.
1662
+ */
1663
+ batch(prices: Float64Array): Float64Array;
1664
+ /**
1665
+ * Moving-average types are TA-Lib `MA_Type` codes `0..=5`.
1666
+ */
1667
+ constructor(fast: number, fast_matype: number, slow: number, slow_matype: number, signal: number, signal_matype: number);
1668
+ reset(): void;
1669
+ update(value: number): any;
1670
+ }
1671
+
1672
+ export class MACDFIX {
1673
+ free(): void;
1674
+ [Symbol.dispose](): void;
1675
+ /**
1676
+ * Returns a flat `Float64Array` of length `3 * n`: `[macd0, sig0, hist0, ...]`.
1677
+ */
1678
+ batch(prices: Float64Array): Float64Array;
1679
+ constructor(signal: number);
1680
+ reset(): void;
1681
+ update(value: number): any;
1682
+ }
1683
+
1569
1684
  export class MAMA {
1570
1685
  free(): void;
1571
1686
  [Symbol.dispose](): void;
@@ -1591,6 +1706,44 @@ export class MFI {
1591
1706
  warmupPeriod(): number;
1592
1707
  }
1593
1708
 
1709
+ export class MIDPOINT {
1710
+ free(): void;
1711
+ [Symbol.dispose](): void;
1712
+ batch(prices: Float64Array): Float64Array;
1713
+ isReady(): boolean;
1714
+ constructor(period: number);
1715
+ reset(): void;
1716
+ update(value: number): number | undefined;
1717
+ warmupPeriod(): number;
1718
+ }
1719
+
1720
+ export class MIDPRICE {
1721
+ free(): void;
1722
+ [Symbol.dispose](): void;
1723
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1724
+ constructor(period: number);
1725
+ reset(): void;
1726
+ update(high: number, low: number, close: number): number | undefined;
1727
+ }
1728
+
1729
+ export class MINUS_DI {
1730
+ free(): void;
1731
+ [Symbol.dispose](): void;
1732
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1733
+ constructor(period: number);
1734
+ reset(): void;
1735
+ update(high: number, low: number, close: number): number | undefined;
1736
+ }
1737
+
1738
+ export class MINUS_DM {
1739
+ free(): void;
1740
+ [Symbol.dispose](): void;
1741
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1742
+ constructor(period: number);
1743
+ reset(): void;
1744
+ update(high: number, low: number, close: number): number | undefined;
1745
+ }
1746
+
1594
1747
  export class MOM {
1595
1748
  free(): void;
1596
1749
  [Symbol.dispose](): void;
@@ -1889,6 +2042,24 @@ export class PGO {
1889
2042
  warmupPeriod(): number;
1890
2043
  }
1891
2044
 
2045
+ export class PLUS_DI {
2046
+ free(): void;
2047
+ [Symbol.dispose](): void;
2048
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2049
+ constructor(period: number);
2050
+ reset(): void;
2051
+ update(high: number, low: number, close: number): number | undefined;
2052
+ }
2053
+
2054
+ export class PLUS_DM {
2055
+ free(): void;
2056
+ [Symbol.dispose](): void;
2057
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2058
+ constructor(period: number);
2059
+ reset(): void;
2060
+ update(high: number, low: number, close: number): number | undefined;
2061
+ }
2062
+
1892
2063
  export class PMO {
1893
2064
  free(): void;
1894
2065
  [Symbol.dispose](): void;
@@ -2029,6 +2200,20 @@ export class PiercingDarkCloud {
2029
2200
  warmupPeriod(): number;
2030
2201
  }
2031
2202
 
2203
+ export class PointAndFigureBars {
2204
+ free(): void;
2205
+ [Symbol.dispose](): void;
2206
+ batch(close: Float64Array): Array<any>;
2207
+ boxSize(): number;
2208
+ constructor(box_size: number, reversal: number);
2209
+ reset(): void;
2210
+ reversal(): number;
2211
+ /**
2212
+ * Returns an array of `{ direction, high, low }` columns completed on this close.
2213
+ */
2214
+ update(close: number): Array<any>;
2215
+ }
2216
+
2032
2217
  export class ProfitFactor {
2033
2218
  free(): void;
2034
2219
  [Symbol.dispose](): void;
@@ -2061,6 +2246,39 @@ export class ROC {
2061
2246
  warmupPeriod(): number;
2062
2247
  }
2063
2248
 
2249
+ export class ROCP {
2250
+ free(): void;
2251
+ [Symbol.dispose](): void;
2252
+ batch(prices: Float64Array): Float64Array;
2253
+ isReady(): boolean;
2254
+ constructor(period: number);
2255
+ reset(): void;
2256
+ update(value: number): number | undefined;
2257
+ warmupPeriod(): number;
2258
+ }
2259
+
2260
+ export class ROCR {
2261
+ free(): void;
2262
+ [Symbol.dispose](): void;
2263
+ batch(prices: Float64Array): Float64Array;
2264
+ isReady(): boolean;
2265
+ constructor(period: number);
2266
+ reset(): void;
2267
+ update(value: number): number | undefined;
2268
+ warmupPeriod(): number;
2269
+ }
2270
+
2271
+ export class ROCR100 {
2272
+ free(): void;
2273
+ [Symbol.dispose](): void;
2274
+ batch(prices: Float64Array): Float64Array;
2275
+ isReady(): boolean;
2276
+ constructor(period: number);
2277
+ reset(): void;
2278
+ update(value: number): number | undefined;
2279
+ warmupPeriod(): number;
2280
+ }
2281
+
2064
2282
  export class RSI {
2065
2283
  free(): void;
2066
2284
  [Symbol.dispose](): void;
@@ -2156,6 +2374,19 @@ export class RelativeStrengthAB {
2156
2374
  warmupPeriod(): number;
2157
2375
  }
2158
2376
 
2377
+ export class RenkoBars {
2378
+ free(): void;
2379
+ [Symbol.dispose](): void;
2380
+ batch(close: Float64Array): Array<any>;
2381
+ boxSize(): number;
2382
+ constructor(box_size: number);
2383
+ reset(): void;
2384
+ /**
2385
+ * Returns an array of `{ open, close, direction }` bricks completed on this close.
2386
+ */
2387
+ update(close: number): Array<any>;
2388
+ }
2389
+
2159
2390
  export class RenkoTrailingStop {
2160
2391
  free(): void;
2161
2392
  [Symbol.dispose](): void;
@@ -2221,6 +2452,15 @@ export class RoofingFilter {
2221
2452
  warmupPeriod(): number;
2222
2453
  }
2223
2454
 
2455
+ export class SAREXT {
2456
+ free(): void;
2457
+ [Symbol.dispose](): void;
2458
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2459
+ constructor(start_value: number, offset_on_reverse: number, accel_init_long: number, accel_long: number, accel_max_long: number, accel_init_short: number, accel_short: number, accel_max_short: number);
2460
+ reset(): void;
2461
+ update(high: number, low: number, close: number): number | undefined;
2462
+ }
2463
+
2224
2464
  export class SMA {
2225
2465
  free(): void;
2226
2466
  [Symbol.dispose](): void;
@@ -2721,6 +2961,17 @@ export class TRIX {
2721
2961
  warmupPeriod(): number;
2722
2962
  }
2723
2963
 
2964
+ export class TSF {
2965
+ free(): void;
2966
+ [Symbol.dispose](): void;
2967
+ batch(prices: Float64Array): Float64Array;
2968
+ isReady(): boolean;
2969
+ constructor(period: number);
2970
+ reset(): void;
2971
+ update(value: number): number | undefined;
2972
+ warmupPeriod(): number;
2973
+ }
2974
+
2724
2975
  export class TSI {
2725
2976
  free(): void;
2726
2977
  [Symbol.dispose](): void;
@@ -2849,6 +3100,20 @@ export class Thrusting {
2849
3100
  warmupPeriod(): number;
2850
3101
  }
2851
3102
 
3103
+ export class TpoProfile {
3104
+ free(): void;
3105
+ [Symbol.dispose](): void;
3106
+ batch(high: Float64Array, low: Float64Array): Float64Array;
3107
+ isReady(): boolean;
3108
+ constructor(period: number, bin_count: number);
3109
+ reset(): void;
3110
+ /**
3111
+ * Streaming update. Returns `{ priceLow, priceHigh, counts }` once warm, else `null`.
3112
+ */
3113
+ update(high: number, low: number): any;
3114
+ warmupPeriod(): number;
3115
+ }
3116
+
2852
3117
  export class TradeImbalance {
2853
3118
  free(): void;
2854
3119
  [Symbol.dispose](): void;
@@ -3091,6 +3356,20 @@ export class VolumePriceTrend {
3091
3356
  update(close: number, volume: number): number | undefined;
3092
3357
  }
3093
3358
 
3359
+ export class VolumeProfile {
3360
+ free(): void;
3361
+ [Symbol.dispose](): void;
3362
+ batch(high: Float64Array, low: Float64Array, volume: Float64Array): Float64Array;
3363
+ isReady(): boolean;
3364
+ constructor(period: number, bin_count: number);
3365
+ reset(): void;
3366
+ /**
3367
+ * Streaming update. Returns `{ priceLow, priceHigh, bins }` once warm, else `null`.
3368
+ */
3369
+ update(high: number, low: number, volume: number): any;
3370
+ warmupPeriod(): number;
3371
+ }
3372
+
3094
3373
  export class Vortex {
3095
3374
  free(): void;
3096
3375
  [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, AbandonedBaby, AccelerationBands, AcceleratorOscillator, AdaptiveCycle, AdvanceBlock, Alligator, Alpha, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, BeltHold, Beta, BollingerBands, BollingerBandwidth, Breakaway, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, CumulativeVolumeDelta, CyberneticCycle, DEMA, DPO, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DetrendedStdDev, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, FAMA, FRAMA, FallingThreeMethods, FibonacciPivots, FisherTransform, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GainLossRatio, GapSideBySideWhite, GarmanKlassVolatility, GravestoneDoji, HMA, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HomingPigeon, HurstChannel, HurstExponent, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KellyCriterion, Keltner, Kicking, KickingByLength, Kurtosis, KylesLambda, LadderBottom, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, LiquidationFeatures, LongLeggedDoji, LongLine, LongShortRatio, MACD, MAMA, MFI, MOM, MaEnvelope, MarketFacilitationIndex, Marubozu, MassIndex, MatHold, MatchingLow, MaxDrawdown, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, 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, RealizedSpread, RecoveryFactor, RelativeStrengthAB, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollingVWAP, RoofingFilter, SMA, SMI, SMMA, STC, SeparatingLines, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TRIMA, TRIX, TSI, TSV, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeInside, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TradeImbalance, TreynorRatio, TrueRange, TtmSqueeze, Tweezer, TwoCrows, TypicalPrice, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpsideGapThreeMethods, UpsideGapTwoCrows, 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, AVGPRICE, AbandonedBaby, AccelerationBands, AcceleratorOscillator, AdaptiveCycle, AdvanceBlock, Alligator, Alpha, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, BeltHold, Beta, BollingerBands, BollingerBandwidth, Breakaway, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, CumulativeVolumeDelta, CyberneticCycle, DEMA, DPO, DX, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DetrendedStdDev, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, FAMA, FRAMA, FallingThreeMethods, FibonacciPivots, FisherTransform, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GainLossRatio, GapSideBySideWhite, GarmanKlassVolatility, GravestoneDoji, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HomingPigeon, HurstChannel, HurstExponent, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KagiBars, KellyCriterion, Keltner, Kicking, KickingByLength, Kurtosis, KylesLambda, LINEARREG_INTERCEPT, LadderBottom, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, LiquidationFeatures, LongLeggedDoji, LongLine, LongShortRatio, MACD, MACDEXT, MACDFIX, MAMA, MFI, MIDPOINT, MIDPRICE, MINUS_DI, MINUS_DM, MOM, MaEnvelope, MarketFacilitationIndex, Marubozu, MassIndex, MatHold, MatchingLow, MaxDrawdown, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, PGO, PLUS_DI, PLUS_DM, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, ProfitFactor, QuotedSpread, ROC, ROCP, ROCR, ROCR100, RSI, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RecoveryFactor, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollingVWAP, RoofingFilter, SAREXT, SMA, SMI, SMMA, STC, SeparatingLines, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TRIMA, TRIX, TSF, TSI, TSV, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeInside, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TpoProfile, TradeImbalance, TreynorRatio, TrueRange, TtmSqueeze, Tweezer, TwoCrows, TypicalPrice, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VerticalHorizontalFilter, VoltyStop, VolumeOscillator, VolumePriceTrend, VolumeProfile, Vortex, VwapStdDevBands, WMA, WaveTrend, WeightedClose, WilliamsAD, WilliamsFractals, WilliamsR, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
9
9
  } from "./wickra_wasm_bg.js";