wickra-wasm 0.5.0 → 0.5.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://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=339" 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=367" 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)
@@ -11,6 +11,7 @@
11
11
  [![npm](https://img.shields.io/npm/v/wickra.svg?logo=npm&color=red)](https://www.npmjs.com/package/wickra)
12
12
  [![License: MIT OR Apache-2.0](https://img.shields.io/badge/license-MIT_OR_Apache--2.0-blue)](#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
+ [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/13094/badge)](https://www.bestpractices.dev/projects/13094)
14
15
  [![Build provenance](https://img.shields.io/badge/provenance-attested-brightgreen?logo=github)](https://github.com/wickra-lib/wickra/attestations)
15
16
  [![Docs](https://img.shields.io/badge/docs-docs.wickra.org-0ea5e9?logo=readthedocs&logoColor=white)](https://docs.wickra.org)
16
17
 
@@ -47,7 +48,7 @@ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
47
48
  [Node](https://docs.wickra.org/Quickstart-Node),
48
49
  [WASM](https://docs.wickra.org/Quickstart-WASM).
49
50
  - **Indicators** — a per-indicator deep dive (formula, parameters, warmup) for
50
- every one of the 339 indicators; start at the
51
+ every one of the 367 indicators; start at the
51
52
  [indicators overview](https://docs.wickra.org/Indicators-Overview).
52
53
  - **Reference** — [warmup periods](https://docs.wickra.org/Warmup-Periods),
53
54
  [streaming vs batch](https://docs.wickra.org/Streaming-vs-Batch),
@@ -135,7 +136,7 @@ python -m benchmarks.compare_libraries
135
136
 
136
137
  ## Indicators
137
138
 
138
- 339 streaming-first indicators across twenty families. Every one passes the
139
+ 367 streaming-first indicators across twenty-three families. Every one passes the
139
140
  `batch == streaming` equivalence test, reference-value tests, and reset
140
141
  semantics tests. Each has a per-indicator deep dive (formula, parameters,
141
142
  warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
@@ -157,11 +158,14 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
157
158
  | Ichimoku & Charts | Ichimoku Kinko Hyo (Tenkan, Kijun, Senkou A/B, Chikou), Heikin-Ashi |
158
159
  | Alt-Chart Bars | Renko (box-size bricks), Kagi (reversal-amount lines), Point & Figure (X/O columns) |
159
160
  | 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 |
161
+ | Chart Patterns | Double Top / Bottom, Triple Top / Bottom, Head and Shoulders, Triangle (asc/desc/sym), Wedge (rising/falling), Flag / Pennant, Rectangle / Range, Cup and Handle |
162
+ | Harmonic Patterns | AB=CD, Gartley, Butterfly, Bat, Crab, Shark, Cypher, Three Drives |
160
163
  | 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 |
161
164
  | 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 |
162
165
  | Market Profile | Value Area (POC / VAH / VAL), Volume Profile (histogram), TPO Profile, Initial Balance, Opening Range |
163
166
  | Market Breadth | Advance/Decline Line, Advance/Decline Ratio, Advance/Decline Volume Line, McClellan Oscillator, McClellan Summation Index, TRIN / Arms Index, Breadth Thrust, New Highs - New Lows, High-Low Index, Percent Above Moving Average, Up/Down Volume Ratio, Bullish Percent Index, Cumulative Volume Index, Absolute Breadth Index, TICK Index |
164
167
  | 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) |
168
+ | Seasonality & Session | Session VWAP, Session High/Low, Session Range, Average Daily Range, Overnight Gap, Overnight/Intraday Return, Turn-of-Month, Seasonal Z-Score, Time-of-Day Return Profile, Day-of-Week Profile, Intraday Volatility Profile, Volume-by-Time Profile |
165
169
 
166
170
  Every candlestick pattern emits a signed per-bar value — `+1.0` bullish,
167
171
  `−1.0` bearish, `0.0` none — so the family drops straight into a feature matrix
@@ -240,7 +244,7 @@ A Python live-trading example using the public `websockets` package lives at
240
244
  ```
241
245
  wickra/
242
246
  ├── crates/
243
- │ ├── wickra-core/ core engine + all 339 indicators
247
+ │ ├── wickra-core/ core engine + all 367 indicators
244
248
  │ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
245
249
  │ └── wickra-data/ CSV reader, tick aggregator, live exchange feeds
246
250
  ├── 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.5.0",
8
+ "version": "0.5.2",
9
9
  "license": "MIT OR Apache-2.0",
10
10
  "repository": {
11
11
  "type": "git",
package/wickra_wasm.d.ts CHANGED
@@ -89,6 +89,17 @@ export class AbandonedBaby {
89
89
  warmupPeriod(): number;
90
90
  }
91
91
 
92
+ export class Abcd {
93
+ free(): void;
94
+ [Symbol.dispose](): void;
95
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
96
+ isReady(): boolean;
97
+ constructor();
98
+ reset(): void;
99
+ update(open: number, high: number, low: number, close: number): number | undefined;
100
+ warmupPeriod(): number;
101
+ }
102
+
92
103
  export class AbsoluteBreadthIndex {
93
104
  free(): void;
94
105
  [Symbol.dispose](): void;
@@ -281,6 +292,16 @@ export class Autocorrelation {
281
292
  warmupPeriod(): number;
282
293
  }
283
294
 
295
+ export class AverageDailyRange {
296
+ free(): void;
297
+ [Symbol.dispose](): void;
298
+ isReady(): boolean;
299
+ constructor(period: number, utc_offset_minutes: number);
300
+ reset(): void;
301
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): number | undefined;
302
+ warmupPeriod(): number;
303
+ }
304
+
284
305
  export class AverageDrawdown {
285
306
  free(): void;
286
307
  [Symbol.dispose](): void;
@@ -323,6 +344,17 @@ export class BalanceOfPower {
323
344
  update(open: number, high: number, low: number, close: number): number | undefined;
324
345
  }
325
346
 
347
+ export class Bat {
348
+ free(): void;
349
+ [Symbol.dispose](): void;
350
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
351
+ isReady(): boolean;
352
+ constructor();
353
+ reset(): void;
354
+ update(open: number, high: number, low: number, close: number): number | undefined;
355
+ warmupPeriod(): number;
356
+ }
357
+
326
358
  export class BeltHold {
327
359
  free(): void;
328
360
  [Symbol.dispose](): void;
@@ -418,6 +450,17 @@ export class BullishPercentIndex {
418
450
  warmupPeriod(): number;
419
451
  }
420
452
 
453
+ export class Butterfly {
454
+ free(): void;
455
+ [Symbol.dispose](): void;
456
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
457
+ isReady(): boolean;
458
+ constructor();
459
+ reset(): void;
460
+ update(open: number, high: number, low: number, close: number): number | undefined;
461
+ warmupPeriod(): number;
462
+ }
463
+
421
464
  export class CCI {
422
465
  free(): void;
423
466
  [Symbol.dispose](): void;
@@ -666,6 +709,17 @@ export class Counterattack {
666
709
  warmupPeriod(): number;
667
710
  }
668
711
 
712
+ export class Crab {
713
+ free(): void;
714
+ [Symbol.dispose](): void;
715
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
716
+ isReady(): boolean;
717
+ constructor();
718
+ reset(): void;
719
+ update(open: number, high: number, low: number, close: number): number | undefined;
720
+ warmupPeriod(): number;
721
+ }
722
+
669
723
  export class CumulativeVolumeDelta {
670
724
  free(): void;
671
725
  [Symbol.dispose](): void;
@@ -686,6 +740,17 @@ export class CumulativeVolumeIndex {
686
740
  warmupPeriod(): number;
687
741
  }
688
742
 
743
+ export class CupAndHandle {
744
+ free(): void;
745
+ [Symbol.dispose](): void;
746
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
747
+ isReady(): boolean;
748
+ constructor();
749
+ reset(): void;
750
+ update(open: number, high: number, low: number, close: number): number | undefined;
751
+ warmupPeriod(): number;
752
+ }
753
+
689
754
  export class CyberneticCycle {
690
755
  free(): void;
691
756
  [Symbol.dispose](): void;
@@ -697,6 +762,17 @@ export class CyberneticCycle {
697
762
  warmupPeriod(): number;
698
763
  }
699
764
 
765
+ export class Cypher {
766
+ free(): void;
767
+ [Symbol.dispose](): void;
768
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
769
+ isReady(): boolean;
770
+ constructor();
771
+ reset(): void;
772
+ update(open: number, high: number, low: number, close: number): number | undefined;
773
+ warmupPeriod(): number;
774
+ }
775
+
700
776
  export class DEMA {
701
777
  free(): void;
702
778
  [Symbol.dispose](): void;
@@ -728,6 +804,17 @@ export class DX {
728
804
  update(high: number, low: number, close: number): number | undefined;
729
805
  }
730
806
 
807
+ export class DayOfWeekProfile {
808
+ free(): void;
809
+ [Symbol.dispose](): void;
810
+ isReady(): boolean;
811
+ constructor(utc_offset_minutes: number);
812
+ reset(): void;
813
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): any;
814
+ utcOffsetMinutes(): number;
815
+ warmupPeriod(): number;
816
+ }
817
+
731
818
  export class Decycler {
732
819
  free(): void;
733
820
  [Symbol.dispose](): void;
@@ -872,6 +959,17 @@ export class DoubleBollinger {
872
959
  warmupPeriod(): number;
873
960
  }
874
961
 
962
+ export class DoubleTopBottom {
963
+ free(): void;
964
+ [Symbol.dispose](): void;
965
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
966
+ isReady(): boolean;
967
+ constructor();
968
+ reset(): void;
969
+ update(open: number, high: number, low: number, close: number): number | undefined;
970
+ warmupPeriod(): number;
971
+ }
972
+
875
973
  export class DownsideGapThreeMethods {
876
974
  free(): void;
877
975
  [Symbol.dispose](): void;
@@ -1056,6 +1154,17 @@ export class FisherTransform {
1056
1154
  warmupPeriod(): number;
1057
1155
  }
1058
1156
 
1157
+ export class FlagPennant {
1158
+ free(): void;
1159
+ [Symbol.dispose](): void;
1160
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1161
+ isReady(): boolean;
1162
+ constructor();
1163
+ reset(): void;
1164
+ update(open: number, high: number, low: number, close: number): number | undefined;
1165
+ warmupPeriod(): number;
1166
+ }
1167
+
1059
1168
  export class Footprint {
1060
1169
  free(): void;
1061
1170
  [Symbol.dispose](): void;
@@ -1162,6 +1271,17 @@ export class GarmanKlassVolatility {
1162
1271
  warmupPeriod(): number;
1163
1272
  }
1164
1273
 
1274
+ export class Gartley {
1275
+ free(): void;
1276
+ [Symbol.dispose](): void;
1277
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1278
+ isReady(): boolean;
1279
+ constructor();
1280
+ reset(): void;
1281
+ update(open: number, high: number, low: number, close: number): number | undefined;
1282
+ warmupPeriod(): number;
1283
+ }
1284
+
1165
1285
  export class GrangerCausality {
1166
1286
  free(): void;
1167
1287
  [Symbol.dispose](): void;
@@ -1266,6 +1386,17 @@ export class Harami {
1266
1386
  warmupPeriod(): number;
1267
1387
  }
1268
1388
 
1389
+ export class HeadAndShoulders {
1390
+ free(): void;
1391
+ [Symbol.dispose](): void;
1392
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1393
+ isReady(): boolean;
1394
+ constructor();
1395
+ reset(): void;
1396
+ update(open: number, high: number, low: number, close: number): number | undefined;
1397
+ warmupPeriod(): number;
1398
+ }
1399
+
1269
1400
  export class HeikinAshi {
1270
1401
  free(): void;
1271
1402
  [Symbol.dispose](): void;
@@ -1480,6 +1611,17 @@ export class InstantaneousTrendline {
1480
1611
  warmupPeriod(): number;
1481
1612
  }
1482
1613
 
1614
+ export class IntradayVolatilityProfile {
1615
+ free(): void;
1616
+ [Symbol.dispose](): void;
1617
+ isReady(): boolean;
1618
+ constructor(buckets: number, utc_offset_minutes: number);
1619
+ reset(): void;
1620
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): any;
1621
+ utcOffsetMinutes(): number;
1622
+ warmupPeriod(): number;
1623
+ }
1624
+
1483
1625
  export class InverseFisherTransform {
1484
1626
  free(): void;
1485
1627
  [Symbol.dispose](): void;
@@ -2219,6 +2361,27 @@ export class OuHalfLife {
2219
2361
  warmupPeriod(): number;
2220
2362
  }
2221
2363
 
2364
+ export class OvernightGap {
2365
+ free(): void;
2366
+ [Symbol.dispose](): void;
2367
+ isReady(): boolean;
2368
+ constructor(utc_offset_minutes: number);
2369
+ reset(): void;
2370
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): number | undefined;
2371
+ utcOffsetMinutes(): number;
2372
+ warmupPeriod(): number;
2373
+ }
2374
+
2375
+ export class OvernightIntradayReturn {
2376
+ free(): void;
2377
+ [Symbol.dispose](): void;
2378
+ isReady(): boolean;
2379
+ constructor(utc_offset_minutes: number);
2380
+ reset(): void;
2381
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): any;
2382
+ warmupPeriod(): number;
2383
+ }
2384
+
2222
2385
  export class PGO {
2223
2386
  free(): void;
2224
2387
  [Symbol.dispose](): void;
@@ -2554,6 +2717,17 @@ export class RecoveryFactor {
2554
2717
  warmupPeriod(): number;
2555
2718
  }
2556
2719
 
2720
+ export class RectangleRange {
2721
+ free(): void;
2722
+ [Symbol.dispose](): void;
2723
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2724
+ isReady(): boolean;
2725
+ constructor();
2726
+ reset(): void;
2727
+ update(open: number, high: number, low: number, close: number): number | undefined;
2728
+ warmupPeriod(): number;
2729
+ }
2730
+
2557
2731
  export class RelativeStrengthAB {
2558
2732
  free(): void;
2559
2733
  [Symbol.dispose](): void;
@@ -2733,6 +2907,17 @@ export class STC {
2733
2907
  warmupPeriod(): number;
2734
2908
  }
2735
2909
 
2910
+ export class SeasonalZScore {
2911
+ free(): void;
2912
+ [Symbol.dispose](): void;
2913
+ isReady(): boolean;
2914
+ constructor(utc_offset_minutes: number);
2915
+ reset(): void;
2916
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): number | undefined;
2917
+ utcOffsetMinutes(): number;
2918
+ warmupPeriod(): number;
2919
+ }
2920
+
2736
2921
  export class SeparatingLines {
2737
2922
  free(): void;
2738
2923
  [Symbol.dispose](): void;
@@ -2744,6 +2929,48 @@ export class SeparatingLines {
2744
2929
  warmupPeriod(): number;
2745
2930
  }
2746
2931
 
2932
+ export class SessionHighLow {
2933
+ free(): void;
2934
+ [Symbol.dispose](): void;
2935
+ isReady(): boolean;
2936
+ constructor(utc_offset_minutes: number);
2937
+ reset(): void;
2938
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): any;
2939
+ warmupPeriod(): number;
2940
+ }
2941
+
2942
+ export class SessionRange {
2943
+ free(): void;
2944
+ [Symbol.dispose](): void;
2945
+ isReady(): boolean;
2946
+ constructor(utc_offset_minutes: number);
2947
+ reset(): void;
2948
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): any;
2949
+ warmupPeriod(): number;
2950
+ }
2951
+
2952
+ export class SessionVwap {
2953
+ free(): void;
2954
+ [Symbol.dispose](): void;
2955
+ isReady(): boolean;
2956
+ constructor(utc_offset_minutes: number);
2957
+ reset(): void;
2958
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): number | undefined;
2959
+ utcOffsetMinutes(): number;
2960
+ warmupPeriod(): number;
2961
+ }
2962
+
2963
+ export class Shark {
2964
+ free(): void;
2965
+ [Symbol.dispose](): void;
2966
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2967
+ isReady(): boolean;
2968
+ constructor();
2969
+ reset(): void;
2970
+ update(open: number, high: number, low: number, close: number): number | undefined;
2971
+ warmupPeriod(): number;
2972
+ }
2973
+
2747
2974
  export class SharpeRatio {
2748
2975
  free(): void;
2749
2976
  [Symbol.dispose](): void;
@@ -3295,6 +3522,17 @@ export class TermStructureBasis {
3295
3522
  warmupPeriod(): number;
3296
3523
  }
3297
3524
 
3525
+ export class ThreeDrives {
3526
+ free(): void;
3527
+ [Symbol.dispose](): void;
3528
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
3529
+ isReady(): boolean;
3530
+ constructor();
3531
+ reset(): void;
3532
+ update(open: number, high: number, low: number, close: number): number | undefined;
3533
+ warmupPeriod(): number;
3534
+ }
3535
+
3298
3536
  export class ThreeInside {
3299
3537
  free(): void;
3300
3538
  [Symbol.dispose](): void;
@@ -3371,6 +3609,17 @@ export class TickIndex {
3371
3609
  warmupPeriod(): number;
3372
3610
  }
3373
3611
 
3612
+ export class TimeOfDayReturnProfile {
3613
+ free(): void;
3614
+ [Symbol.dispose](): void;
3615
+ isReady(): boolean;
3616
+ constructor(buckets: number, utc_offset_minutes: number);
3617
+ reset(): void;
3618
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): any;
3619
+ utcOffsetMinutes(): number;
3620
+ warmupPeriod(): number;
3621
+ }
3622
+
3374
3623
  export class TpoProfile {
3375
3624
  free(): void;
3376
3625
  [Symbol.dispose](): void;
@@ -3406,6 +3655,17 @@ export class TreynorRatio {
3406
3655
  warmupPeriod(): number;
3407
3656
  }
3408
3657
 
3658
+ export class Triangle {
3659
+ free(): void;
3660
+ [Symbol.dispose](): void;
3661
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
3662
+ isReady(): boolean;
3663
+ constructor();
3664
+ reset(): void;
3665
+ update(open: number, high: number, low: number, close: number): number | undefined;
3666
+ warmupPeriod(): number;
3667
+ }
3668
+
3409
3669
  export class Trin {
3410
3670
  free(): void;
3411
3671
  [Symbol.dispose](): void;
@@ -3416,6 +3676,17 @@ export class Trin {
3416
3676
  warmupPeriod(): number;
3417
3677
  }
3418
3678
 
3679
+ export class TripleTopBottom {
3680
+ free(): void;
3681
+ [Symbol.dispose](): void;
3682
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
3683
+ isReady(): boolean;
3684
+ constructor();
3685
+ reset(): void;
3686
+ update(open: number, high: number, low: number, close: number): number | undefined;
3687
+ warmupPeriod(): number;
3688
+ }
3689
+
3419
3690
  export class TrueRange {
3420
3691
  free(): void;
3421
3692
  [Symbol.dispose](): void;
@@ -3439,6 +3710,16 @@ export class TtmSqueeze {
3439
3710
  warmupPeriod(): number;
3440
3711
  }
3441
3712
 
3713
+ export class TurnOfMonth {
3714
+ free(): void;
3715
+ [Symbol.dispose](): void;
3716
+ isReady(): boolean;
3717
+ constructor(n_first: number, n_last: number, utc_offset_minutes: number);
3718
+ reset(): void;
3719
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): number | undefined;
3720
+ warmupPeriod(): number;
3721
+ }
3722
+
3442
3723
  export class Tweezer {
3443
3724
  free(): void;
3444
3725
  [Symbol.dispose](): void;
@@ -3644,6 +3925,17 @@ export class VoltyStop {
3644
3925
  update(high: number, low: number, close: number): number | undefined;
3645
3926
  }
3646
3927
 
3928
+ export class VolumeByTimeProfile {
3929
+ free(): void;
3930
+ [Symbol.dispose](): void;
3931
+ isReady(): boolean;
3932
+ constructor(buckets: number, utc_offset_minutes: number);
3933
+ reset(): void;
3934
+ update(open: number, high: number, low: number, close: number, volume: number, timestamp: bigint): any;
3935
+ utcOffsetMinutes(): number;
3936
+ warmupPeriod(): number;
3937
+ }
3938
+
3647
3939
  export class VolumeOscillator {
3648
3940
  free(): void;
3649
3941
  [Symbol.dispose](): void;
@@ -3723,6 +4015,17 @@ export class WaveTrend {
3723
4015
  update(high: number, low: number, close: number): any;
3724
4016
  }
3725
4017
 
4018
+ export class Wedge {
4019
+ free(): void;
4020
+ [Symbol.dispose](): void;
4021
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
4022
+ isReady(): boolean;
4023
+ constructor();
4024
+ reset(): void;
4025
+ update(open: number, high: number, low: number, close: number): number | undefined;
4026
+ warmupPeriod(): number;
4027
+ }
4028
+
3726
4029
  export class WeightedClose {
3727
4030
  free(): void;
3728
4031
  [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, AVGPRICE, AbandonedBaby, AbsoluteBreadthIndex, AccelerationBands, AcceleratorOscillator, AdVolumeLine, AdaptiveCycle, AdvanceBlock, AdvanceDecline, AdvanceDeclineRatio, Alligator, Alpha, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, BeltHold, Beta, BetaNeutralSpread, BollingerBands, BollingerBandwidth, BreadthThrust, Breakaway, BullishPercentIndex, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, CumulativeVolumeDelta, CumulativeVolumeIndex, CyberneticCycle, DEMA, DPO, DX, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DetrendedStdDev, DistanceSsd, 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, GrangerCausality, GravestoneDoji, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HighLowIndex, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HomingPigeon, HurstChannel, HurstExponent, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KagiBars, KalmanHedgeRatio, 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, McClellanOscillator, McClellanSummationIndex, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, NewHighsNewLows, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, OuHalfLife, PGO, PLUS_DI, PLUS_DM, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentAboveMa, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, ProfitFactor, QuotedSpread, ROC, ROCP, ROCR, ROCR100, RSI, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RecoveryFactor, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollingCorrelation, RollingCovariance, RollingVWAP, RoofingFilter, SAREXT, SMA, SMI, SMMA, STC, SeparatingLines, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, SpreadBollingerBands, SpreadHurst, 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, TickIndex, TpoProfile, TradeImbalance, TreynorRatio, Trin, TrueRange, TtmSqueeze, Tweezer, TwoCrows, TypicalPrice, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpDownVolumeRatio, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VarianceRatio, VerticalHorizontalFilter, VoltyStop, VolumeOscillator, VolumePriceTrend, VolumeProfile, 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, Abcd, AbsoluteBreadthIndex, AccelerationBands, AcceleratorOscillator, AdVolumeLine, AdaptiveCycle, AdvanceBlock, AdvanceDecline, AdvanceDeclineRatio, Alligator, Alpha, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDailyRange, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, Bat, BeltHold, Beta, BetaNeutralSpread, BollingerBands, BollingerBandwidth, BreadthThrust, Breakaway, BullishPercentIndex, Butterfly, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, Crab, CumulativeVolumeDelta, CumulativeVolumeIndex, CupAndHandle, CyberneticCycle, Cypher, DEMA, DPO, DX, DayOfWeekProfile, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DetrendedStdDev, DistanceSsd, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DoubleTopBottom, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, FAMA, FRAMA, FallingThreeMethods, FibonacciPivots, FisherTransform, FlagPennant, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GainLossRatio, GapSideBySideWhite, GarmanKlassVolatility, Gartley, GrangerCausality, GravestoneDoji, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeadAndShoulders, HeikinAshi, HiLoActivator, HighLowIndex, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HomingPigeon, HurstChannel, HurstExponent, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, IntradayVolatilityProfile, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KagiBars, KalmanHedgeRatio, 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, McClellanOscillator, McClellanSummationIndex, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, NewHighsNewLows, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, OuHalfLife, OvernightGap, OvernightIntradayReturn, PGO, PLUS_DI, PLUS_DM, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentAboveMa, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, ProfitFactor, QuotedSpread, ROC, ROCP, ROCR, ROCR100, RSI, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RecoveryFactor, RectangleRange, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollingCorrelation, RollingCovariance, RollingVWAP, RoofingFilter, SAREXT, SMA, SMI, SMMA, STC, SeasonalZScore, SeparatingLines, SessionHighLow, SessionRange, SessionVwap, Shark, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, SpreadBollingerBands, SpreadHurst, 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, ThreeDrives, ThreeInside, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TickIndex, TimeOfDayReturnProfile, TpoProfile, TradeImbalance, TreynorRatio, Triangle, Trin, TripleTopBottom, TrueRange, TtmSqueeze, TurnOfMonth, Tweezer, TwoCrows, TypicalPrice, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpDownVolumeRatio, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VarianceRatio, VerticalHorizontalFilter, VoltyStop, VolumeByTimeProfile, VolumeOscillator, VolumePriceTrend, VolumeProfile, Vortex, VwapStdDevBands, WMA, WaveTrend, Wedge, WeightedClose, WilliamsAD, WilliamsFractals, WilliamsR, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
9
9
  } from "./wickra_wasm_bg.js";