wickra-wasm 0.2.6 → 0.3.0

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/wickra_wasm.d.ts CHANGED
@@ -27,6 +27,39 @@ export class ADX {
27
27
  warmupPeriod(): number;
28
28
  }
29
29
 
30
+ export class ADXR {
31
+ free(): void;
32
+ [Symbol.dispose](): void;
33
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
34
+ isReady(): boolean;
35
+ constructor(period: number);
36
+ reset(): void;
37
+ update(high: number, low: number, close: number): number | undefined;
38
+ warmupPeriod(): number;
39
+ }
40
+
41
+ export class ALMA {
42
+ free(): void;
43
+ [Symbol.dispose](): void;
44
+ batch(prices: Float64Array): Float64Array;
45
+ isReady(): boolean;
46
+ constructor(period: number, offset: number, sigma: number);
47
+ reset(): void;
48
+ update(value: number): number | undefined;
49
+ warmupPeriod(): number;
50
+ }
51
+
52
+ export class APO {
53
+ free(): void;
54
+ [Symbol.dispose](): void;
55
+ batch(prices: Float64Array): Float64Array;
56
+ isReady(): boolean;
57
+ constructor(fast: number, slow: number);
58
+ reset(): void;
59
+ update(value: number): number | undefined;
60
+ warmupPeriod(): number;
61
+ }
62
+
30
63
  export class ATR {
31
64
  free(): void;
32
65
  [Symbol.dispose](): void;
@@ -36,6 +69,20 @@ export class ATR {
36
69
  update(high: number, low: number, close: number): number | undefined;
37
70
  }
38
71
 
72
+ export class AccelerationBands {
73
+ free(): void;
74
+ [Symbol.dispose](): void;
75
+ /**
76
+ * Returns `[u0, m0, l0, u1, m1, l1, ...]`, length `3 * n`.
77
+ */
78
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
79
+ isReady(): boolean;
80
+ constructor(period: number, factor: number);
81
+ reset(): void;
82
+ update(high: number, low: number, close: number): any;
83
+ warmupPeriod(): number;
84
+ }
85
+
39
86
  export class AcceleratorOscillator {
40
87
  free(): void;
41
88
  [Symbol.dispose](): void;
@@ -45,6 +92,55 @@ export class AcceleratorOscillator {
45
92
  update(high: number, low: number): number | undefined;
46
93
  }
47
94
 
95
+ export class AdaptiveCycle {
96
+ free(): void;
97
+ [Symbol.dispose](): void;
98
+ batch(prices: Float64Array): Float64Array;
99
+ isReady(): boolean;
100
+ constructor();
101
+ reset(): void;
102
+ update(value: number): number | undefined;
103
+ warmupPeriod(): number;
104
+ }
105
+
106
+ export class Alligator {
107
+ free(): void;
108
+ [Symbol.dispose](): void;
109
+ /**
110
+ * Returns `[jaw0, teeth0, lips0, jaw1, teeth1, lips1, ...]`, length `3n`.
111
+ */
112
+ batch(high: Float64Array, low: Float64Array): Float64Array;
113
+ isReady(): boolean;
114
+ constructor(jaw: number, teeth: number, lips: number);
115
+ reset(): void;
116
+ /**
117
+ * Streaming update. Returns `{ jaw, teeth, lips }` once warm, else `null`.
118
+ */
119
+ update(high: number, low: number): any;
120
+ warmupPeriod(): number;
121
+ }
122
+
123
+ export class Alpha {
124
+ free(): void;
125
+ [Symbol.dispose](): void;
126
+ batch(asset: Float64Array, benchmark: Float64Array): Float64Array;
127
+ isReady(): boolean;
128
+ constructor(period: number, risk_free: number);
129
+ reset(): void;
130
+ update(asset: number, benchmark: number): number | undefined;
131
+ warmupPeriod(): number;
132
+ }
133
+
134
+ export class AnchoredVWAP {
135
+ free(): void;
136
+ [Symbol.dispose](): void;
137
+ batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
138
+ constructor();
139
+ reset(): void;
140
+ setAnchor(): void;
141
+ update(high: number, low: number, close: number, volume: number): number | undefined;
142
+ }
143
+
48
144
  export class Aroon {
49
145
  free(): void;
50
146
  [Symbol.dispose](): void;
@@ -71,6 +167,17 @@ export class AroonOscillator {
71
167
  update(high: number, low: number): number | undefined;
72
168
  }
73
169
 
170
+ export class AtrBands {
171
+ free(): void;
172
+ [Symbol.dispose](): void;
173
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
174
+ isReady(): boolean;
175
+ constructor(period: number, multiplier: number);
176
+ reset(): void;
177
+ update(high: number, low: number, close: number): any;
178
+ warmupPeriod(): number;
179
+ }
180
+
74
181
  export class AtrTrailingStop {
75
182
  free(): void;
76
183
  [Symbol.dispose](): void;
@@ -80,6 +187,28 @@ export class AtrTrailingStop {
80
187
  update(high: number, low: number, close: number): number | undefined;
81
188
  }
82
189
 
190
+ export class Autocorrelation {
191
+ free(): void;
192
+ [Symbol.dispose](): void;
193
+ batch(prices: Float64Array): Float64Array;
194
+ isReady(): boolean;
195
+ constructor(period: number, lag: number);
196
+ reset(): void;
197
+ update(value: number): number | undefined;
198
+ warmupPeriod(): number;
199
+ }
200
+
201
+ export class AverageDrawdown {
202
+ free(): void;
203
+ [Symbol.dispose](): void;
204
+ batch(prices: Float64Array): Float64Array;
205
+ isReady(): boolean;
206
+ constructor(period: number);
207
+ reset(): void;
208
+ update(value: number): number | undefined;
209
+ warmupPeriod(): number;
210
+ }
211
+
83
212
  export class AwesomeOscillator {
84
213
  free(): void;
85
214
  [Symbol.dispose](): void;
@@ -91,6 +220,17 @@ export class AwesomeOscillator {
91
220
  warmupPeriod(): number;
92
221
  }
93
222
 
223
+ export class AwesomeOscillatorHistogram {
224
+ free(): void;
225
+ [Symbol.dispose](): void;
226
+ batch(high: Float64Array, low: Float64Array): Float64Array;
227
+ isReady(): boolean;
228
+ constructor(fast: number, slow: number, sma_period: number);
229
+ reset(): void;
230
+ update(high: number, low: number): number | undefined;
231
+ warmupPeriod(): number;
232
+ }
233
+
94
234
  export class BalanceOfPower {
95
235
  free(): void;
96
236
  [Symbol.dispose](): void;
@@ -100,6 +240,21 @@ export class BalanceOfPower {
100
240
  update(open: number, high: number, low: number, close: number): number | undefined;
101
241
  }
102
242
 
243
+ export class Beta {
244
+ free(): void;
245
+ [Symbol.dispose](): void;
246
+ /**
247
+ * Batch over two equally-sized arrays. Returns one `f64` per
248
+ * input position (`NaN` during warmup).
249
+ */
250
+ batch(x: Float64Array, y: Float64Array): Float64Array;
251
+ isReady(): boolean;
252
+ constructor(period: number);
253
+ reset(): void;
254
+ update(x: number, y: number): number | undefined;
255
+ warmupPeriod(): number;
256
+ }
257
+
103
258
  export class BollingerBands {
104
259
  free(): void;
105
260
  [Symbol.dispose](): void;
@@ -134,6 +289,17 @@ export class CCI {
134
289
  warmupPeriod(): number;
135
290
  }
136
291
 
292
+ export class CFO {
293
+ free(): void;
294
+ [Symbol.dispose](): void;
295
+ batch(prices: Float64Array): Float64Array;
296
+ isReady(): boolean;
297
+ constructor(period: number);
298
+ reset(): void;
299
+ update(value: number): number | undefined;
300
+ warmupPeriod(): number;
301
+ }
302
+
137
303
  export class CMO {
138
304
  free(): void;
139
305
  [Symbol.dispose](): void;
@@ -145,6 +311,39 @@ export class CMO {
145
311
  warmupPeriod(): number;
146
312
  }
147
313
 
314
+ export class CalmarRatio {
315
+ free(): void;
316
+ [Symbol.dispose](): void;
317
+ batch(prices: Float64Array): Float64Array;
318
+ isReady(): boolean;
319
+ constructor(period: number);
320
+ reset(): void;
321
+ update(value: number): number | undefined;
322
+ warmupPeriod(): number;
323
+ }
324
+
325
+ export class Camarilla {
326
+ free(): void;
327
+ [Symbol.dispose](): void;
328
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
329
+ isReady(): boolean;
330
+ constructor();
331
+ reset(): void;
332
+ update(high: number, low: number, close: number): any;
333
+ warmupPeriod(): number;
334
+ }
335
+
336
+ export class CenterOfGravity {
337
+ free(): void;
338
+ [Symbol.dispose](): void;
339
+ batch(prices: Float64Array): Float64Array;
340
+ isReady(): boolean;
341
+ constructor(period: number);
342
+ reset(): void;
343
+ update(value: number): number | undefined;
344
+ warmupPeriod(): number;
345
+ }
346
+
148
347
  export class ChaikinMoneyFlow {
149
348
  free(): void;
150
349
  [Symbol.dispose](): void;
@@ -211,18 +410,18 @@ export class ChoppinessIndex {
211
410
  update(high: number, low: number, close: number): number | undefined;
212
411
  }
213
412
 
214
- export class Coppock {
413
+ export class ClassicPivots {
215
414
  free(): void;
216
415
  [Symbol.dispose](): void;
217
- batch(prices: Float64Array): Float64Array;
416
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
218
417
  isReady(): boolean;
219
- constructor(roc_long: number, roc_short: number, wma_period: number);
418
+ constructor();
220
419
  reset(): void;
221
- update(value: number): number | undefined;
420
+ update(high: number, low: number, close: number): any;
222
421
  warmupPeriod(): number;
223
422
  }
224
423
 
225
- export class DEMA {
424
+ export class CoefficientOfVariation {
226
425
  free(): void;
227
426
  [Symbol.dispose](): void;
228
427
  batch(prices: Float64Array): Float64Array;
@@ -233,61 +432,51 @@ export class DEMA {
233
432
  warmupPeriod(): number;
234
433
  }
235
434
 
236
- export class DPO {
435
+ export class ConditionalValueAtRisk {
237
436
  free(): void;
238
437
  [Symbol.dispose](): void;
239
438
  batch(prices: Float64Array): Float64Array;
240
439
  isReady(): boolean;
241
- constructor(period: number);
440
+ constructor(period: number, confidence: number);
242
441
  reset(): void;
243
442
  update(value: number): number | undefined;
244
443
  warmupPeriod(): number;
245
444
  }
246
445
 
247
- export class Donchian {
446
+ export class ConnorsRSI {
248
447
  free(): void;
249
448
  [Symbol.dispose](): void;
250
- batch(high: Float64Array, low: Float64Array): Float64Array;
449
+ batch(prices: Float64Array): Float64Array;
251
450
  isReady(): boolean;
252
- constructor(period: number);
451
+ constructor(period_rsi: number, period_streak: number, period_rank: number);
253
452
  reset(): void;
254
- /**
255
- * Streaming update. Returns `{ upper, middle, lower }` once warm, else `null`.
256
- */
257
- update(high: number, low: number): any;
453
+ update(value: number): number | undefined;
258
454
  warmupPeriod(): number;
259
455
  }
260
456
 
261
- export class EMA {
457
+ export class Coppock {
262
458
  free(): void;
263
459
  [Symbol.dispose](): void;
264
460
  batch(prices: Float64Array): Float64Array;
265
461
  isReady(): boolean;
266
- constructor(period: number);
462
+ constructor(roc_long: number, roc_short: number, wma_period: number);
267
463
  reset(): void;
268
464
  update(value: number): number | undefined;
269
465
  warmupPeriod(): number;
270
466
  }
271
467
 
272
- export class EaseOfMovement {
273
- free(): void;
274
- [Symbol.dispose](): void;
275
- batch(high: Float64Array, low: Float64Array, volume: Float64Array): Float64Array;
276
- constructor(period: number, divisor: number);
277
- reset(): void;
278
- update(high: number, low: number, volume: number): number | undefined;
279
- }
280
-
281
- export class ForceIndex {
468
+ export class CyberneticCycle {
282
469
  free(): void;
283
470
  [Symbol.dispose](): void;
284
- batch(close: Float64Array, volume: Float64Array): Float64Array;
471
+ batch(prices: Float64Array): Float64Array;
472
+ isReady(): boolean;
285
473
  constructor(period: number);
286
474
  reset(): void;
287
- update(close: number, volume: number): number | undefined;
475
+ update(value: number): number | undefined;
476
+ warmupPeriod(): number;
288
477
  }
289
478
 
290
- export class HMA {
479
+ export class DEMA {
291
480
  free(): void;
292
481
  [Symbol.dispose](): void;
293
482
  batch(prices: Float64Array): Float64Array;
@@ -298,65 +487,60 @@ export class HMA {
298
487
  warmupPeriod(): number;
299
488
  }
300
489
 
301
- export class HistoricalVolatility {
490
+ export class DPO {
302
491
  free(): void;
303
492
  [Symbol.dispose](): void;
304
493
  batch(prices: Float64Array): Float64Array;
305
494
  isReady(): boolean;
306
- constructor(period: number, trading_periods: number);
495
+ constructor(period: number);
307
496
  reset(): void;
308
497
  update(value: number): number | undefined;
309
498
  warmupPeriod(): number;
310
499
  }
311
500
 
312
- export class KAMA {
501
+ export class Decycler {
313
502
  free(): void;
314
503
  [Symbol.dispose](): void;
315
504
  batch(prices: Float64Array): Float64Array;
316
505
  isReady(): boolean;
317
- constructor(er_period: number, fast: number, slow: number);
506
+ constructor(period: number);
318
507
  reset(): void;
319
508
  update(value: number): number | undefined;
320
509
  warmupPeriod(): number;
321
510
  }
322
511
 
323
- export class Keltner {
512
+ export class DecyclerOscillator {
324
513
  free(): void;
325
514
  [Symbol.dispose](): void;
326
- batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
515
+ batch(prices: Float64Array): Float64Array;
327
516
  isReady(): boolean;
328
- constructor(ema_period: number, atr_period: number, multiplier: number);
517
+ constructor(fast: number, slow: number);
329
518
  reset(): void;
330
- /**
331
- * Streaming update. Returns `{ upper, middle, lower }` once warm, else `null`.
332
- */
333
- update(high: number, low: number, close: number): any;
519
+ update(value: number): number | undefined;
334
520
  warmupPeriod(): number;
335
521
  }
336
522
 
337
- export class LinRegAngle {
523
+ export class DemandIndex {
338
524
  free(): void;
339
525
  [Symbol.dispose](): void;
340
- batch(prices: Float64Array): Float64Array;
341
- isReady(): boolean;
526
+ batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
342
527
  constructor(period: number);
343
528
  reset(): void;
344
- update(value: number): number | undefined;
345
- warmupPeriod(): number;
529
+ update(high: number, low: number, close: number, volume: number): number | undefined;
346
530
  }
347
531
 
348
- export class LinRegSlope {
532
+ export class DemarkPivots {
349
533
  free(): void;
350
534
  [Symbol.dispose](): void;
351
- batch(prices: Float64Array): Float64Array;
535
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
352
536
  isReady(): boolean;
353
- constructor(period: number);
537
+ constructor();
354
538
  reset(): void;
355
- update(value: number): number | undefined;
539
+ update(open: number, high: number, low: number, close: number): any;
356
540
  warmupPeriod(): number;
357
541
  }
358
542
 
359
- export class LinearRegression {
543
+ export class DetrendedStdDev {
360
544
  free(): void;
361
545
  [Symbol.dispose](): void;
362
546
  batch(prices: Float64Array): Float64Array;
@@ -367,136 +551,158 @@ export class LinearRegression {
367
551
  warmupPeriod(): number;
368
552
  }
369
553
 
370
- export class MACD {
554
+ export class Doji {
371
555
  free(): void;
372
556
  [Symbol.dispose](): void;
373
- /**
374
- * Returns a flat `Float64Array` of length `3 * n`: `[macd0, sig0, hist0, macd1, sig1, hist1, ...]`.
375
- * Use `result[3*i + 0/1/2]` to read each column. Warmup positions are NaN.
376
- */
377
- batch(prices: Float64Array): Float64Array;
557
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
378
558
  isReady(): boolean;
379
- constructor(fast: number, slow: number, signal: number);
559
+ constructor();
380
560
  reset(): void;
381
- update(value: number): any;
561
+ update(open: number, high: number, low: number, close: number): number | undefined;
562
+ warmupPeriod(): number;
382
563
  }
383
564
 
384
- export class MFI {
565
+ export class Donchian {
385
566
  free(): void;
386
567
  [Symbol.dispose](): void;
387
- batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
568
+ batch(high: Float64Array, low: Float64Array): Float64Array;
388
569
  isReady(): boolean;
389
570
  constructor(period: number);
390
571
  reset(): void;
391
- update(high: number, low: number, close: number, volume: number): number | undefined;
392
- warmupPeriod(): number;
572
+ /**
573
+ * Streaming update. Returns `{ upper, middle, lower }` once warm, else `null`.
574
+ */
575
+ update(high: number, low: number): any;
576
+ warmupPeriod(): number;
393
577
  }
394
578
 
395
- export class MOM {
579
+ export class DonchianStop {
396
580
  free(): void;
397
581
  [Symbol.dispose](): void;
398
- batch(prices: Float64Array): Float64Array;
399
- isReady(): boolean;
582
+ /**
583
+ * Returns `[long0, short0, long1, short1, ...]`, length `2 * n`. Warmup is NaN.
584
+ */
585
+ batch(high: Float64Array, low: Float64Array): Float64Array;
400
586
  constructor(period: number);
401
587
  reset(): void;
402
- update(value: number): number | undefined;
403
- warmupPeriod(): number;
588
+ /**
589
+ * Returns `{ stopLong, stopShort }` once warm, else `null`.
590
+ */
591
+ update(high: number, low: number): any;
404
592
  }
405
593
 
406
- export class MassIndex {
594
+ export class DoubleBollinger {
407
595
  free(): void;
408
596
  [Symbol.dispose](): void;
409
- batch(high: Float64Array, low: Float64Array): Float64Array;
410
- constructor(ema_period: number, sum_period: number);
597
+ /**
598
+ * Flat `[u_o, u_i, m, l_i, l_o, ...]`, length `5 * n`.
599
+ */
600
+ batch(prices: Float64Array): Float64Array;
601
+ isReady(): boolean;
602
+ constructor(period: number, k_inner: number, k_outer: number);
411
603
  reset(): void;
412
- update(high: number, low: number): number | undefined;
604
+ update(value: number): any;
605
+ warmupPeriod(): number;
413
606
  }
414
607
 
415
- export class MedianPrice {
608
+ export class DrawdownDuration {
416
609
  free(): void;
417
610
  [Symbol.dispose](): void;
418
- batch(high: Float64Array, low: Float64Array): Float64Array;
611
+ batch(prices: Float64Array): Float64Array;
612
+ isReady(): boolean;
419
613
  constructor();
420
614
  reset(): void;
421
- update(high: number, low: number): number | undefined;
615
+ update(value: number): number | undefined;
616
+ warmupPeriod(): number;
422
617
  }
423
618
 
424
- export class NATR {
619
+ export class EMA {
425
620
  free(): void;
426
621
  [Symbol.dispose](): void;
427
- batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
622
+ batch(prices: Float64Array): Float64Array;
623
+ isReady(): boolean;
428
624
  constructor(period: number);
429
625
  reset(): void;
430
- update(high: number, low: number, close: number): number | undefined;
626
+ update(value: number): number | undefined;
627
+ warmupPeriod(): number;
431
628
  }
432
629
 
433
- export class OBV {
630
+ export class EVWMA {
434
631
  free(): void;
435
632
  [Symbol.dispose](): void;
436
633
  batch(close: Float64Array, volume: Float64Array): Float64Array;
437
634
  isReady(): boolean;
438
- constructor();
635
+ constructor(period: number);
439
636
  reset(): void;
440
637
  update(close: number, volume: number): number | undefined;
441
638
  warmupPeriod(): number;
442
639
  }
443
640
 
444
- export class PMO {
641
+ export class EaseOfMovement {
642
+ free(): void;
643
+ [Symbol.dispose](): void;
644
+ batch(high: Float64Array, low: Float64Array, volume: Float64Array): Float64Array;
645
+ constructor(period: number, divisor: number);
646
+ reset(): void;
647
+ update(high: number, low: number, volume: number): number | undefined;
648
+ }
649
+
650
+ export class EhlersStochastic {
445
651
  free(): void;
446
652
  [Symbol.dispose](): void;
447
653
  batch(prices: Float64Array): Float64Array;
448
654
  isReady(): boolean;
449
- constructor(smoothing1: number, smoothing2: number);
655
+ constructor(period: number);
450
656
  reset(): void;
451
657
  update(value: number): number | undefined;
452
658
  warmupPeriod(): number;
453
659
  }
454
660
 
455
- export class PPO {
661
+ export class ElderImpulse {
456
662
  free(): void;
457
663
  [Symbol.dispose](): void;
458
664
  batch(prices: Float64Array): Float64Array;
459
665
  isReady(): boolean;
460
- constructor(fast: number, slow: number);
666
+ constructor(ema_period: number, macd_fast: number, macd_slow: number, macd_signal: number);
461
667
  reset(): void;
462
668
  update(value: number): number | undefined;
463
669
  warmupPeriod(): number;
464
670
  }
465
671
 
466
- export class PSAR {
672
+ export class EmpiricalModeDecomposition {
467
673
  free(): void;
468
674
  [Symbol.dispose](): void;
469
- batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
675
+ batch(prices: Float64Array): Float64Array;
470
676
  isReady(): boolean;
471
- constructor(af_start: number, af_step: number, af_max: number);
677
+ constructor(period: number, fraction: number);
472
678
  reset(): void;
473
- update(high: number, low: number, close: number): number | undefined;
679
+ update(value: number): number | undefined;
474
680
  warmupPeriod(): number;
475
681
  }
476
682
 
477
- export class PercentB {
683
+ export class Engulfing {
478
684
  free(): void;
479
685
  [Symbol.dispose](): void;
480
- batch(prices: Float64Array): Float64Array;
686
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
481
687
  isReady(): boolean;
482
- constructor(period: number, multiplier: number);
688
+ constructor();
483
689
  reset(): void;
484
- update(value: number): number | undefined;
690
+ update(open: number, high: number, low: number, close: number): number | undefined;
485
691
  warmupPeriod(): number;
486
692
  }
487
693
 
488
- export class ROC {
694
+ export class FAMA {
489
695
  free(): void;
490
696
  [Symbol.dispose](): void;
491
697
  batch(prices: Float64Array): Float64Array;
492
698
  isReady(): boolean;
493
- constructor(period: number);
699
+ constructor(fast_limit: number, slow_limit: number);
494
700
  reset(): void;
495
701
  update(value: number): number | undefined;
496
702
  warmupPeriod(): number;
497
703
  }
498
704
 
499
- export class RSI {
705
+ export class FRAMA {
500
706
  free(): void;
501
707
  [Symbol.dispose](): void;
502
708
  batch(prices: Float64Array): Float64Array;
@@ -507,19 +713,18 @@ export class RSI {
507
713
  warmupPeriod(): number;
508
714
  }
509
715
 
510
- export class RollingVWAP {
716
+ export class FibonacciPivots {
511
717
  free(): void;
512
718
  [Symbol.dispose](): void;
513
- batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
719
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
514
720
  isReady(): boolean;
515
- constructor(period: number);
721
+ constructor();
516
722
  reset(): void;
517
- update(high: number, low: number, close: number, volume: number): number | undefined;
723
+ update(high: number, low: number, close: number): any;
518
724
  warmupPeriod(): number;
519
- readonly period: number;
520
725
  }
521
726
 
522
- export class SMA {
727
+ export class FisherTransform {
523
728
  free(): void;
524
729
  [Symbol.dispose](): void;
525
730
  batch(prices: Float64Array): Float64Array;
@@ -530,218 +735,223 @@ export class SMA {
530
735
  warmupPeriod(): number;
531
736
  }
532
737
 
533
- export class SMMA {
738
+ export class ForceIndex {
534
739
  free(): void;
535
740
  [Symbol.dispose](): void;
536
- batch(prices: Float64Array): Float64Array;
537
- isReady(): boolean;
741
+ batch(close: Float64Array, volume: Float64Array): Float64Array;
538
742
  constructor(period: number);
539
743
  reset(): void;
540
- update(value: number): number | undefined;
541
- warmupPeriod(): number;
744
+ update(close: number, volume: number): number | undefined;
542
745
  }
543
746
 
544
- export class StdDev {
747
+ export class FractalChaosBands {
545
748
  free(): void;
546
749
  [Symbol.dispose](): void;
547
- batch(prices: Float64Array): Float64Array;
750
+ /**
751
+ * Flat `[u0, l0, u1, l1, ...]`, length `2 * n`.
752
+ */
753
+ batch(high: Float64Array, low: Float64Array): Float64Array;
548
754
  isReady(): boolean;
549
- constructor(period: number);
755
+ constructor(k: number);
550
756
  reset(): void;
551
- update(value: number): number | undefined;
757
+ update(high: number, low: number): any;
552
758
  warmupPeriod(): number;
553
759
  }
554
760
 
555
- export class StochRSI {
761
+ export class GainLossRatio {
556
762
  free(): void;
557
763
  [Symbol.dispose](): void;
558
764
  batch(prices: Float64Array): Float64Array;
559
765
  isReady(): boolean;
560
- constructor(rsi_period: number, stoch_period: number);
766
+ constructor(period: number);
561
767
  reset(): void;
562
768
  update(value: number): number | undefined;
563
769
  warmupPeriod(): number;
564
770
  }
565
771
 
566
- export class Stochastic {
772
+ export class GarmanKlassVolatility {
567
773
  free(): void;
568
774
  [Symbol.dispose](): void;
569
- /**
570
- * Returns `[k0, d0, k1, d1, ...]`, length `2 * n`.
571
- */
572
- batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
775
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
573
776
  isReady(): boolean;
574
- constructor(k_period: number, d_period: number);
777
+ constructor(period: number, trading_periods: number);
575
778
  reset(): void;
576
- /**
577
- * Streaming update. Returns `{ k, d }` once warm, else `null`.
578
- */
579
- update(high: number, low: number, close: number): any;
779
+ update(open: number, high: number, low: number, close: number): number | undefined;
580
780
  warmupPeriod(): number;
581
781
  }
582
782
 
583
- export class SuperTrend {
584
- free(): void;
585
- [Symbol.dispose](): void;
586
- /**
587
- * Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`.
588
- * Warmup positions are NaN.
589
- */
590
- batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
591
- constructor(atr_period: number, multiplier: number);
592
- reset(): void;
593
- /**
594
- * Returns `{ value, direction }` once warm, else `null`.
595
- */
596
- update(high: number, low: number, close: number): any;
597
- }
598
-
599
- export class T3 {
783
+ export class HMA {
600
784
  free(): void;
601
785
  [Symbol.dispose](): void;
602
786
  batch(prices: Float64Array): Float64Array;
603
787
  isReady(): boolean;
604
- constructor(period: number, v: number);
788
+ constructor(period: number);
605
789
  reset(): void;
606
790
  update(value: number): number | undefined;
607
791
  warmupPeriod(): number;
608
792
  }
609
793
 
610
- export class TEMA {
794
+ export class Hammer {
611
795
  free(): void;
612
796
  [Symbol.dispose](): void;
613
- batch(prices: Float64Array): Float64Array;
797
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
614
798
  isReady(): boolean;
615
- constructor(period: number);
799
+ constructor();
616
800
  reset(): void;
617
- update(value: number): number | undefined;
801
+ update(open: number, high: number, low: number, close: number): number | undefined;
618
802
  warmupPeriod(): number;
619
803
  }
620
804
 
621
- export class TRIMA {
805
+ export class HangingMan {
622
806
  free(): void;
623
807
  [Symbol.dispose](): void;
624
- batch(prices: Float64Array): Float64Array;
808
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
625
809
  isReady(): boolean;
626
- constructor(period: number);
810
+ constructor();
627
811
  reset(): void;
628
- update(value: number): number | undefined;
812
+ update(open: number, high: number, low: number, close: number): number | undefined;
629
813
  warmupPeriod(): number;
630
814
  }
631
815
 
632
- export class TRIX {
816
+ export class Harami {
633
817
  free(): void;
634
818
  [Symbol.dispose](): void;
635
- batch(prices: Float64Array): Float64Array;
819
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
636
820
  isReady(): boolean;
637
- constructor(period: number);
821
+ constructor();
638
822
  reset(): void;
639
- update(value: number): number | undefined;
823
+ update(open: number, high: number, low: number, close: number): number | undefined;
640
824
  warmupPeriod(): number;
641
825
  }
642
826
 
643
- export class TSI {
827
+ export class HeikinAshi {
644
828
  free(): void;
645
829
  [Symbol.dispose](): void;
646
- batch(prices: Float64Array): Float64Array;
830
+ /**
831
+ * Returns `[open0, high0, low0, close0, open1, ...]`, length `4 * n`.
832
+ */
833
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
647
834
  isReady(): boolean;
648
- constructor(long: number, short: number);
835
+ constructor();
649
836
  reset(): void;
650
- update(value: number): number | undefined;
837
+ /**
838
+ * Streaming update. Returns `{ open, high, low, close }` of the
839
+ * Heikin-Ashi candle.
840
+ */
841
+ update(open: number, high: number, low: number, close: number): any;
651
842
  warmupPeriod(): number;
652
843
  }
653
844
 
654
- export class TrueRange {
845
+ export class HiLoActivator {
655
846
  free(): void;
656
847
  [Symbol.dispose](): void;
657
848
  batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
658
- constructor();
849
+ constructor(period: number);
659
850
  reset(): void;
660
851
  update(high: number, low: number, close: number): number | undefined;
661
852
  }
662
853
 
663
- export class TypicalPrice {
854
+ export class HilbertDominantCycle {
664
855
  free(): void;
665
856
  [Symbol.dispose](): void;
666
- batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
857
+ batch(prices: Float64Array): Float64Array;
858
+ isReady(): boolean;
667
859
  constructor();
668
860
  reset(): void;
669
- update(high: number, low: number, close: number): number | undefined;
861
+ update(value: number): number | undefined;
862
+ warmupPeriod(): number;
670
863
  }
671
864
 
672
- export class UlcerIndex {
865
+ export class HistoricalVolatility {
673
866
  free(): void;
674
867
  [Symbol.dispose](): void;
675
868
  batch(prices: Float64Array): Float64Array;
676
869
  isReady(): boolean;
677
- constructor(period: number);
870
+ constructor(period: number, trading_periods: number);
678
871
  reset(): void;
679
872
  update(value: number): number | undefined;
680
873
  warmupPeriod(): number;
681
874
  }
682
875
 
683
- export class UltimateOscillator {
876
+ export class HurstChannel {
684
877
  free(): void;
685
878
  [Symbol.dispose](): void;
686
879
  batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
687
- constructor(short: number, mid: number, long: number);
880
+ isReady(): boolean;
881
+ constructor(period: number, multiplier: number);
688
882
  reset(): void;
689
- update(high: number, low: number, close: number): number | undefined;
883
+ update(high: number, low: number, close: number): any;
884
+ warmupPeriod(): number;
690
885
  }
691
886
 
692
- export class VWAP {
887
+ export class HurstExponent {
693
888
  free(): void;
694
889
  [Symbol.dispose](): void;
695
- batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
890
+ batch(prices: Float64Array): Float64Array;
696
891
  isReady(): boolean;
697
- constructor();
892
+ constructor(period: number, chunks: number);
698
893
  reset(): void;
699
- update(high: number, low: number, close: number, volume: number): number | undefined;
894
+ update(value: number): number | undefined;
700
895
  warmupPeriod(): number;
701
896
  }
702
897
 
703
- export class VWMA {
898
+ export class Ichimoku {
704
899
  free(): void;
705
900
  [Symbol.dispose](): void;
706
- batch(close: Float64Array, volume: Float64Array): Float64Array;
707
- constructor(period: number);
901
+ /**
902
+ * Returns `[tenkan0, kijun0, senkouA0, senkouB0, chikou0, tenkan1, ...]`,
903
+ * length `5 * n`. Cells without a defined value are `NaN`.
904
+ */
905
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
906
+ isReady(): boolean;
907
+ constructor(tenkan_period: number, kijun_period: number, senkou_b_period: number, displacement: number);
708
908
  reset(): void;
709
- update(close: number, volume: number): number | undefined;
909
+ /**
910
+ * Streaming update. Returns `{ tenkan, kijun, senkouA, senkouB, chikou }`
911
+ * with `NaN` for any line that is not yet defined.
912
+ */
913
+ update(high: number, low: number, close: number): any;
914
+ warmupPeriod(): number;
710
915
  }
711
916
 
712
- export class VerticalHorizontalFilter {
917
+ export class Inertia {
713
918
  free(): void;
714
919
  [Symbol.dispose](): void;
715
- batch(prices: Float64Array): Float64Array;
920
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
716
921
  isReady(): boolean;
717
- constructor(period: number);
922
+ constructor(rvi_period: number, linreg_period: number);
718
923
  reset(): void;
719
- update(value: number): number | undefined;
924
+ update(open: number, high: number, low: number, close: number): number | undefined;
720
925
  warmupPeriod(): number;
721
926
  }
722
927
 
723
- export class VolumePriceTrend {
928
+ export class InformationRatio {
724
929
  free(): void;
725
930
  [Symbol.dispose](): void;
726
- batch(close: Float64Array, volume: Float64Array): Float64Array;
727
- constructor();
931
+ batch(asset: Float64Array, benchmark: Float64Array): Float64Array;
932
+ isReady(): boolean;
933
+ constructor(period: number);
728
934
  reset(): void;
729
- update(close: number, volume: number): number | undefined;
935
+ update(asset: number, benchmark: number): number | undefined;
936
+ warmupPeriod(): number;
730
937
  }
731
938
 
732
- export class Vortex {
939
+ export class InitialBalance {
733
940
  free(): void;
734
941
  [Symbol.dispose](): void;
735
- /**
736
- * Returns `[plus0, minus0, plus1, minus1, ...]`, length `2 * n`. Warmup is NaN.
737
- */
738
- batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
942
+ batch(high: Float64Array, low: Float64Array): Float64Array;
943
+ isLocked(): boolean;
944
+ isReady(): boolean;
739
945
  constructor(period: number);
740
946
  reset(): void;
741
- update(high: number, low: number, close: number): any;
947
+ /**
948
+ * Streaming update. Returns `{ high, low }`.
949
+ */
950
+ update(high: number, low: number): any;
951
+ warmupPeriod(): number;
742
952
  }
743
953
 
744
- export class WMA {
954
+ export class InstantaneousTrendline {
745
955
  free(): void;
746
956
  [Symbol.dispose](): void;
747
957
  batch(prices: Float64Array): Float64Array;
@@ -752,48 +962,1479 @@ export class WMA {
752
962
  warmupPeriod(): number;
753
963
  }
754
964
 
755
- export class WeightedClose {
965
+ export class InverseFisherTransform {
756
966
  free(): void;
757
967
  [Symbol.dispose](): void;
758
- batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
759
- constructor();
968
+ batch(prices: Float64Array): Float64Array;
969
+ isReady(): boolean;
970
+ constructor(scale: number);
760
971
  reset(): void;
761
- update(high: number, low: number, close: number): number | undefined;
972
+ update(value: number): number | undefined;
973
+ warmupPeriod(): number;
762
974
  }
763
975
 
764
- export class WilliamsR {
976
+ export class InvertedHammer {
765
977
  free(): void;
766
978
  [Symbol.dispose](): void;
767
- batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
979
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
768
980
  isReady(): boolean;
769
- constructor(period: number);
981
+ constructor();
770
982
  reset(): void;
771
- update(high: number, low: number, close: number): number | undefined;
983
+ update(open: number, high: number, low: number, close: number): number | undefined;
772
984
  warmupPeriod(): number;
773
985
  }
774
986
 
775
- export class ZLEMA {
987
+ export class JMA {
776
988
  free(): void;
777
989
  [Symbol.dispose](): void;
778
990
  batch(prices: Float64Array): Float64Array;
779
991
  isReady(): boolean;
780
- constructor(period: number);
992
+ constructor(period: number, phase: number, power: number);
781
993
  reset(): void;
782
994
  update(value: number): number | undefined;
783
995
  warmupPeriod(): number;
784
996
  }
785
997
 
786
- export class ZScore {
998
+ export class KAMA {
787
999
  free(): void;
788
1000
  [Symbol.dispose](): void;
789
1001
  batch(prices: Float64Array): Float64Array;
790
1002
  isReady(): boolean;
791
- constructor(period: number);
1003
+ constructor(er_period: number, fast: number, slow: number);
792
1004
  reset(): void;
793
1005
  update(value: number): number | undefined;
794
1006
  warmupPeriod(): number;
795
1007
  }
796
1008
 
1009
+ export class KST {
1010
+ free(): void;
1011
+ [Symbol.dispose](): void;
1012
+ /**
1013
+ * Returns `[kst0, signal0, kst1, signal1, ...]`, length `2 * n`. Warmup is NaN.
1014
+ */
1015
+ batch(prices: Float64Array): Float64Array;
1016
+ static classic(): KST;
1017
+ constructor(roc1: number, roc2: number, roc3: number, roc4: number, sma1: number, sma2: number, sma3: number, sma4: number, signal_period: number);
1018
+ reset(): void;
1019
+ update(value: number): any;
1020
+ }
1021
+
1022
+ export class KVO {
1023
+ free(): void;
1024
+ [Symbol.dispose](): void;
1025
+ batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
1026
+ constructor(fast: number, slow: number);
1027
+ reset(): void;
1028
+ update(high: number, low: number, close: number, volume: number): number | undefined;
1029
+ }
1030
+
1031
+ export class KellyCriterion {
1032
+ free(): void;
1033
+ [Symbol.dispose](): void;
1034
+ batch(prices: Float64Array): Float64Array;
1035
+ isReady(): boolean;
1036
+ constructor(period: number);
1037
+ reset(): void;
1038
+ update(value: number): number | undefined;
1039
+ warmupPeriod(): number;
1040
+ }
1041
+
1042
+ export class Keltner {
1043
+ free(): void;
1044
+ [Symbol.dispose](): void;
1045
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1046
+ isReady(): boolean;
1047
+ constructor(ema_period: number, atr_period: number, multiplier: number);
1048
+ reset(): void;
1049
+ /**
1050
+ * Streaming update. Returns `{ upper, middle, lower }` once warm, else `null`.
1051
+ */
1052
+ update(high: number, low: number, close: number): any;
1053
+ warmupPeriod(): number;
1054
+ }
1055
+
1056
+ export class Kurtosis {
1057
+ free(): void;
1058
+ [Symbol.dispose](): void;
1059
+ batch(prices: Float64Array): Float64Array;
1060
+ isReady(): boolean;
1061
+ constructor(period: number);
1062
+ reset(): void;
1063
+ update(value: number): number | undefined;
1064
+ warmupPeriod(): number;
1065
+ }
1066
+
1067
+ export class LaguerreRSI {
1068
+ free(): void;
1069
+ [Symbol.dispose](): void;
1070
+ batch(prices: Float64Array): Float64Array;
1071
+ isReady(): boolean;
1072
+ constructor(gamma: number);
1073
+ reset(): void;
1074
+ update(value: number): number | undefined;
1075
+ warmupPeriod(): number;
1076
+ }
1077
+
1078
+ export class LinRegAngle {
1079
+ free(): void;
1080
+ [Symbol.dispose](): void;
1081
+ batch(prices: Float64Array): Float64Array;
1082
+ isReady(): boolean;
1083
+ constructor(period: number);
1084
+ reset(): void;
1085
+ update(value: number): number | undefined;
1086
+ warmupPeriod(): number;
1087
+ }
1088
+
1089
+ export class LinRegChannel {
1090
+ free(): void;
1091
+ [Symbol.dispose](): void;
1092
+ batch(prices: Float64Array): Float64Array;
1093
+ isReady(): boolean;
1094
+ constructor(period: number, multiplier: number);
1095
+ reset(): void;
1096
+ update(value: number): any;
1097
+ warmupPeriod(): number;
1098
+ }
1099
+
1100
+ export class LinRegSlope {
1101
+ free(): void;
1102
+ [Symbol.dispose](): void;
1103
+ batch(prices: Float64Array): Float64Array;
1104
+ isReady(): boolean;
1105
+ constructor(period: number);
1106
+ reset(): void;
1107
+ update(value: number): number | undefined;
1108
+ warmupPeriod(): number;
1109
+ }
1110
+
1111
+ export class LinearRegression {
1112
+ free(): void;
1113
+ [Symbol.dispose](): void;
1114
+ batch(prices: Float64Array): Float64Array;
1115
+ isReady(): boolean;
1116
+ constructor(period: number);
1117
+ reset(): void;
1118
+ update(value: number): number | undefined;
1119
+ warmupPeriod(): number;
1120
+ }
1121
+
1122
+ export class MACD {
1123
+ free(): void;
1124
+ [Symbol.dispose](): void;
1125
+ /**
1126
+ * Returns a flat `Float64Array` of length `3 * n`: `[macd0, sig0, hist0, macd1, sig1, hist1, ...]`.
1127
+ * Use `result[3*i + 0/1/2]` to read each column. Warmup positions are NaN.
1128
+ */
1129
+ batch(prices: Float64Array): Float64Array;
1130
+ isReady(): boolean;
1131
+ constructor(fast: number, slow: number, signal: number);
1132
+ reset(): void;
1133
+ update(value: number): any;
1134
+ }
1135
+
1136
+ export class MAMA {
1137
+ free(): void;
1138
+ [Symbol.dispose](): void;
1139
+ /**
1140
+ * Returns a flat `Float64Array` of length `2 * n`: `[mama0, fama0, mama1, fama1, ...]`.
1141
+ */
1142
+ batch(prices: Float64Array): Float64Array;
1143
+ isReady(): boolean;
1144
+ constructor(fast_limit: number, slow_limit: number);
1145
+ reset(): void;
1146
+ update(value: number): any;
1147
+ warmupPeriod(): number;
1148
+ }
1149
+
1150
+ export class MFI {
1151
+ free(): void;
1152
+ [Symbol.dispose](): void;
1153
+ batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
1154
+ isReady(): boolean;
1155
+ constructor(period: number);
1156
+ reset(): void;
1157
+ update(high: number, low: number, close: number, volume: number): number | undefined;
1158
+ warmupPeriod(): number;
1159
+ }
1160
+
1161
+ export class MOM {
1162
+ free(): void;
1163
+ [Symbol.dispose](): void;
1164
+ batch(prices: Float64Array): Float64Array;
1165
+ isReady(): boolean;
1166
+ constructor(period: number);
1167
+ reset(): void;
1168
+ update(value: number): number | undefined;
1169
+ warmupPeriod(): number;
1170
+ }
1171
+
1172
+ export class MaEnvelope {
1173
+ free(): void;
1174
+ [Symbol.dispose](): void;
1175
+ /**
1176
+ * Flat `[upper0, middle0, lower0, upper1, ...]`, length `3 * n`.
1177
+ */
1178
+ batch(prices: Float64Array): Float64Array;
1179
+ isReady(): boolean;
1180
+ constructor(period: number, percent: number);
1181
+ reset(): void;
1182
+ update(value: number): any;
1183
+ warmupPeriod(): number;
1184
+ }
1185
+
1186
+ export class MarketFacilitationIndex {
1187
+ free(): void;
1188
+ [Symbol.dispose](): void;
1189
+ batch(high: Float64Array, low: Float64Array, volume: Float64Array): Float64Array;
1190
+ constructor();
1191
+ reset(): void;
1192
+ update(high: number, low: number, volume: number): number | undefined;
1193
+ }
1194
+
1195
+ export class Marubozu {
1196
+ free(): void;
1197
+ [Symbol.dispose](): void;
1198
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1199
+ isReady(): boolean;
1200
+ constructor();
1201
+ reset(): void;
1202
+ update(open: number, high: number, low: number, close: number): number | undefined;
1203
+ warmupPeriod(): number;
1204
+ }
1205
+
1206
+ export class MassIndex {
1207
+ free(): void;
1208
+ [Symbol.dispose](): void;
1209
+ batch(high: Float64Array, low: Float64Array): Float64Array;
1210
+ constructor(ema_period: number, sum_period: number);
1211
+ reset(): void;
1212
+ update(high: number, low: number): number | undefined;
1213
+ }
1214
+
1215
+ export class MaxDrawdown {
1216
+ free(): void;
1217
+ [Symbol.dispose](): void;
1218
+ batch(prices: Float64Array): Float64Array;
1219
+ isReady(): boolean;
1220
+ constructor(period: number);
1221
+ reset(): void;
1222
+ update(value: number): number | undefined;
1223
+ warmupPeriod(): number;
1224
+ }
1225
+
1226
+ export class McGinleyDynamic {
1227
+ free(): void;
1228
+ [Symbol.dispose](): void;
1229
+ batch(prices: Float64Array): Float64Array;
1230
+ isReady(): boolean;
1231
+ constructor(period: number);
1232
+ reset(): void;
1233
+ update(value: number): number | undefined;
1234
+ warmupPeriod(): number;
1235
+ }
1236
+
1237
+ export class MedianAbsoluteDeviation {
1238
+ free(): void;
1239
+ [Symbol.dispose](): void;
1240
+ batch(prices: Float64Array): Float64Array;
1241
+ isReady(): boolean;
1242
+ constructor(period: number);
1243
+ reset(): void;
1244
+ update(value: number): number | undefined;
1245
+ warmupPeriod(): number;
1246
+ }
1247
+
1248
+ export class MedianPrice {
1249
+ free(): void;
1250
+ [Symbol.dispose](): void;
1251
+ batch(high: Float64Array, low: Float64Array): Float64Array;
1252
+ constructor();
1253
+ reset(): void;
1254
+ update(high: number, low: number): number | undefined;
1255
+ }
1256
+
1257
+ export class MorningEveningStar {
1258
+ free(): void;
1259
+ [Symbol.dispose](): void;
1260
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1261
+ isReady(): boolean;
1262
+ constructor();
1263
+ reset(): void;
1264
+ update(open: number, high: number, low: number, close: number): number | undefined;
1265
+ warmupPeriod(): number;
1266
+ }
1267
+
1268
+ export class NATR {
1269
+ free(): void;
1270
+ [Symbol.dispose](): void;
1271
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1272
+ constructor(period: number);
1273
+ reset(): void;
1274
+ update(high: number, low: number, close: number): number | undefined;
1275
+ }
1276
+
1277
+ export class NVI {
1278
+ free(): void;
1279
+ [Symbol.dispose](): void;
1280
+ batch(close: Float64Array, volume: Float64Array): Float64Array;
1281
+ constructor(baseline?: number | null);
1282
+ reset(): void;
1283
+ update(close: number, volume: number): number | undefined;
1284
+ }
1285
+
1286
+ export class OBV {
1287
+ free(): void;
1288
+ [Symbol.dispose](): void;
1289
+ batch(close: Float64Array, volume: Float64Array): Float64Array;
1290
+ isReady(): boolean;
1291
+ constructor();
1292
+ reset(): void;
1293
+ update(close: number, volume: number): number | undefined;
1294
+ warmupPeriod(): number;
1295
+ }
1296
+
1297
+ export class OmegaRatio {
1298
+ free(): void;
1299
+ [Symbol.dispose](): void;
1300
+ batch(prices: Float64Array): Float64Array;
1301
+ isReady(): boolean;
1302
+ constructor(period: number, threshold: number);
1303
+ reset(): void;
1304
+ update(value: number): number | undefined;
1305
+ warmupPeriod(): number;
1306
+ }
1307
+
1308
+ export class OpeningRange {
1309
+ free(): void;
1310
+ [Symbol.dispose](): void;
1311
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1312
+ isLocked(): boolean;
1313
+ isReady(): boolean;
1314
+ constructor(period: number);
1315
+ reset(): void;
1316
+ /**
1317
+ * Streaming update. Returns `{ high, low, breakoutDistance }`.
1318
+ */
1319
+ update(high: number, low: number, close: number): any;
1320
+ warmupPeriod(): number;
1321
+ }
1322
+
1323
+ export class PGO {
1324
+ free(): void;
1325
+ [Symbol.dispose](): void;
1326
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1327
+ isReady(): boolean;
1328
+ constructor(period: number);
1329
+ reset(): void;
1330
+ update(high: number, low: number, close: number): number | undefined;
1331
+ warmupPeriod(): number;
1332
+ }
1333
+
1334
+ export class PMO {
1335
+ free(): void;
1336
+ [Symbol.dispose](): void;
1337
+ batch(prices: Float64Array): Float64Array;
1338
+ isReady(): boolean;
1339
+ constructor(smoothing1: number, smoothing2: number);
1340
+ reset(): void;
1341
+ update(value: number): number | undefined;
1342
+ warmupPeriod(): number;
1343
+ }
1344
+
1345
+ export class PPO {
1346
+ free(): void;
1347
+ [Symbol.dispose](): void;
1348
+ batch(prices: Float64Array): Float64Array;
1349
+ isReady(): boolean;
1350
+ constructor(fast: number, slow: number);
1351
+ reset(): void;
1352
+ update(value: number): number | undefined;
1353
+ warmupPeriod(): number;
1354
+ }
1355
+
1356
+ export class PSAR {
1357
+ free(): void;
1358
+ [Symbol.dispose](): void;
1359
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1360
+ isReady(): boolean;
1361
+ constructor(af_start: number, af_step: number, af_max: number);
1362
+ reset(): void;
1363
+ update(high: number, low: number, close: number): number | undefined;
1364
+ warmupPeriod(): number;
1365
+ }
1366
+
1367
+ export class PVI {
1368
+ free(): void;
1369
+ [Symbol.dispose](): void;
1370
+ batch(close: Float64Array, volume: Float64Array): Float64Array;
1371
+ constructor(baseline?: number | null);
1372
+ reset(): void;
1373
+ update(close: number, volume: number): number | undefined;
1374
+ }
1375
+
1376
+ export class PainIndex {
1377
+ free(): void;
1378
+ [Symbol.dispose](): void;
1379
+ batch(prices: Float64Array): Float64Array;
1380
+ isReady(): boolean;
1381
+ constructor(period: number);
1382
+ reset(): void;
1383
+ update(value: number): number | undefined;
1384
+ warmupPeriod(): number;
1385
+ }
1386
+
1387
+ export class ParkinsonVolatility {
1388
+ free(): void;
1389
+ [Symbol.dispose](): void;
1390
+ batch(high: Float64Array, low: Float64Array): Float64Array;
1391
+ isReady(): boolean;
1392
+ constructor(period: number, trading_periods: number);
1393
+ reset(): void;
1394
+ update(high: number, low: number): number | undefined;
1395
+ warmupPeriod(): number;
1396
+ }
1397
+
1398
+ export class PearsonCorrelation {
1399
+ free(): void;
1400
+ [Symbol.dispose](): void;
1401
+ /**
1402
+ * Batch over two equally-sized arrays. Returns one `f64` per
1403
+ * input position (`NaN` during warmup).
1404
+ */
1405
+ batch(x: Float64Array, y: Float64Array): Float64Array;
1406
+ isReady(): boolean;
1407
+ constructor(period: number);
1408
+ reset(): void;
1409
+ update(x: number, y: number): number | undefined;
1410
+ warmupPeriod(): number;
1411
+ }
1412
+
1413
+ export class PercentB {
1414
+ free(): void;
1415
+ [Symbol.dispose](): void;
1416
+ batch(prices: Float64Array): Float64Array;
1417
+ isReady(): boolean;
1418
+ constructor(period: number, multiplier: number);
1419
+ reset(): void;
1420
+ update(value: number): number | undefined;
1421
+ warmupPeriod(): number;
1422
+ }
1423
+
1424
+ export class PercentageTrailingStop {
1425
+ free(): void;
1426
+ [Symbol.dispose](): void;
1427
+ batch(prices: Float64Array): Float64Array;
1428
+ constructor(percent: number);
1429
+ reset(): void;
1430
+ update(value: number): number | undefined;
1431
+ }
1432
+
1433
+ export class PiercingDarkCloud {
1434
+ free(): void;
1435
+ [Symbol.dispose](): void;
1436
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1437
+ isReady(): boolean;
1438
+ constructor();
1439
+ reset(): void;
1440
+ update(open: number, high: number, low: number, close: number): number | undefined;
1441
+ warmupPeriod(): number;
1442
+ }
1443
+
1444
+ export class ProfitFactor {
1445
+ free(): void;
1446
+ [Symbol.dispose](): void;
1447
+ batch(prices: Float64Array): Float64Array;
1448
+ isReady(): boolean;
1449
+ constructor(period: number);
1450
+ reset(): void;
1451
+ update(value: number): number | undefined;
1452
+ warmupPeriod(): number;
1453
+ }
1454
+
1455
+ export class ROC {
1456
+ free(): void;
1457
+ [Symbol.dispose](): void;
1458
+ batch(prices: Float64Array): Float64Array;
1459
+ isReady(): boolean;
1460
+ constructor(period: number);
1461
+ reset(): void;
1462
+ update(value: number): number | undefined;
1463
+ warmupPeriod(): number;
1464
+ }
1465
+
1466
+ export class RSI {
1467
+ free(): void;
1468
+ [Symbol.dispose](): void;
1469
+ batch(prices: Float64Array): Float64Array;
1470
+ isReady(): boolean;
1471
+ constructor(period: number);
1472
+ reset(): void;
1473
+ update(value: number): number | undefined;
1474
+ warmupPeriod(): number;
1475
+ }
1476
+
1477
+ export class RSquared {
1478
+ free(): void;
1479
+ [Symbol.dispose](): void;
1480
+ batch(prices: Float64Array): Float64Array;
1481
+ isReady(): boolean;
1482
+ constructor(period: number);
1483
+ reset(): void;
1484
+ update(value: number): number | undefined;
1485
+ warmupPeriod(): number;
1486
+ }
1487
+
1488
+ export class RVI {
1489
+ free(): void;
1490
+ [Symbol.dispose](): void;
1491
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1492
+ isReady(): boolean;
1493
+ constructor(period: number);
1494
+ reset(): void;
1495
+ update(open: number, high: number, low: number, close: number): number | undefined;
1496
+ warmupPeriod(): number;
1497
+ }
1498
+
1499
+ export class RVIVolatility {
1500
+ free(): void;
1501
+ [Symbol.dispose](): void;
1502
+ batch(prices: Float64Array): Float64Array;
1503
+ isReady(): boolean;
1504
+ constructor(period: number);
1505
+ reset(): void;
1506
+ update(value: number): number | undefined;
1507
+ warmupPeriod(): number;
1508
+ }
1509
+
1510
+ export class RWI {
1511
+ free(): void;
1512
+ [Symbol.dispose](): void;
1513
+ /**
1514
+ * Returns `[high0, low0, high1, low1, ...]`, length `2 * n`. Warmup is NaN.
1515
+ */
1516
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1517
+ constructor(period: number);
1518
+ reset(): void;
1519
+ update(high: number, low: number, close: number): any;
1520
+ }
1521
+
1522
+ export class RecoveryFactor {
1523
+ free(): void;
1524
+ [Symbol.dispose](): void;
1525
+ batch(prices: Float64Array): Float64Array;
1526
+ isReady(): boolean;
1527
+ constructor();
1528
+ reset(): void;
1529
+ update(value: number): number | undefined;
1530
+ warmupPeriod(): number;
1531
+ }
1532
+
1533
+ export class RenkoTrailingStop {
1534
+ free(): void;
1535
+ [Symbol.dispose](): void;
1536
+ batch(prices: Float64Array): Float64Array;
1537
+ constructor(block_size: number);
1538
+ reset(): void;
1539
+ update(value: number): number | undefined;
1540
+ }
1541
+
1542
+ export class RogersSatchellVolatility {
1543
+ free(): void;
1544
+ [Symbol.dispose](): void;
1545
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1546
+ isReady(): boolean;
1547
+ constructor(period: number, trading_periods: number);
1548
+ reset(): void;
1549
+ update(open: number, high: number, low: number, close: number): number | undefined;
1550
+ warmupPeriod(): number;
1551
+ }
1552
+
1553
+ export class RollingVWAP {
1554
+ free(): void;
1555
+ [Symbol.dispose](): void;
1556
+ batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
1557
+ isReady(): boolean;
1558
+ constructor(period: number);
1559
+ reset(): void;
1560
+ update(high: number, low: number, close: number, volume: number): number | undefined;
1561
+ warmupPeriod(): number;
1562
+ readonly period: number;
1563
+ }
1564
+
1565
+ export class RoofingFilter {
1566
+ free(): void;
1567
+ [Symbol.dispose](): void;
1568
+ batch(prices: Float64Array): Float64Array;
1569
+ isReady(): boolean;
1570
+ constructor(lp_period: number, hp_period: number);
1571
+ reset(): void;
1572
+ update(value: number): number | undefined;
1573
+ warmupPeriod(): number;
1574
+ }
1575
+
1576
+ export class SMA {
1577
+ free(): void;
1578
+ [Symbol.dispose](): void;
1579
+ batch(prices: Float64Array): Float64Array;
1580
+ isReady(): boolean;
1581
+ constructor(period: number);
1582
+ reset(): void;
1583
+ update(value: number): number | undefined;
1584
+ warmupPeriod(): number;
1585
+ }
1586
+
1587
+ export class SMI {
1588
+ free(): void;
1589
+ [Symbol.dispose](): void;
1590
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1591
+ isReady(): boolean;
1592
+ constructor(period: number, d_period: number, d2_period: number);
1593
+ reset(): void;
1594
+ update(high: number, low: number, close: number): number | undefined;
1595
+ warmupPeriod(): number;
1596
+ }
1597
+
1598
+ export class SMMA {
1599
+ free(): void;
1600
+ [Symbol.dispose](): void;
1601
+ batch(prices: Float64Array): Float64Array;
1602
+ isReady(): boolean;
1603
+ constructor(period: number);
1604
+ reset(): void;
1605
+ update(value: number): number | undefined;
1606
+ warmupPeriod(): number;
1607
+ }
1608
+
1609
+ export class STC {
1610
+ free(): void;
1611
+ [Symbol.dispose](): void;
1612
+ batch(prices: Float64Array): Float64Array;
1613
+ isReady(): boolean;
1614
+ constructor(fast: number, slow: number, schaff_period: number, factor: number);
1615
+ reset(): void;
1616
+ update(value: number): number | undefined;
1617
+ warmupPeriod(): number;
1618
+ }
1619
+
1620
+ export class SharpeRatio {
1621
+ free(): void;
1622
+ [Symbol.dispose](): void;
1623
+ batch(prices: Float64Array): Float64Array;
1624
+ isReady(): boolean;
1625
+ constructor(period: number, risk_free: number);
1626
+ reset(): void;
1627
+ update(value: number): number | undefined;
1628
+ warmupPeriod(): number;
1629
+ }
1630
+
1631
+ export class ShootingStar {
1632
+ free(): void;
1633
+ [Symbol.dispose](): void;
1634
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1635
+ isReady(): boolean;
1636
+ constructor();
1637
+ reset(): void;
1638
+ update(open: number, high: number, low: number, close: number): number | undefined;
1639
+ warmupPeriod(): number;
1640
+ }
1641
+
1642
+ export class SineWave {
1643
+ free(): void;
1644
+ [Symbol.dispose](): void;
1645
+ batch(prices: Float64Array): Float64Array;
1646
+ isReady(): boolean;
1647
+ lead(): number;
1648
+ constructor();
1649
+ reset(): void;
1650
+ update(value: number): number | undefined;
1651
+ warmupPeriod(): number;
1652
+ }
1653
+
1654
+ export class Skewness {
1655
+ free(): void;
1656
+ [Symbol.dispose](): void;
1657
+ batch(prices: Float64Array): Float64Array;
1658
+ isReady(): boolean;
1659
+ constructor(period: number);
1660
+ reset(): void;
1661
+ update(value: number): number | undefined;
1662
+ warmupPeriod(): number;
1663
+ }
1664
+
1665
+ export class SortinoRatio {
1666
+ free(): void;
1667
+ [Symbol.dispose](): void;
1668
+ batch(prices: Float64Array): Float64Array;
1669
+ isReady(): boolean;
1670
+ constructor(period: number, mar: number);
1671
+ reset(): void;
1672
+ update(value: number): number | undefined;
1673
+ warmupPeriod(): number;
1674
+ }
1675
+
1676
+ export class SpearmanCorrelation {
1677
+ free(): void;
1678
+ [Symbol.dispose](): void;
1679
+ /**
1680
+ * Batch over two equally-sized arrays. Returns one `f64` per
1681
+ * input position (`NaN` during warmup).
1682
+ */
1683
+ batch(x: Float64Array, y: Float64Array): Float64Array;
1684
+ isReady(): boolean;
1685
+ constructor(period: number);
1686
+ reset(): void;
1687
+ update(x: number, y: number): number | undefined;
1688
+ warmupPeriod(): number;
1689
+ }
1690
+
1691
+ export class SpinningTop {
1692
+ free(): void;
1693
+ [Symbol.dispose](): void;
1694
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1695
+ isReady(): boolean;
1696
+ constructor();
1697
+ reset(): void;
1698
+ update(open: number, high: number, low: number, close: number): number | undefined;
1699
+ warmupPeriod(): number;
1700
+ }
1701
+
1702
+ export class StandardError {
1703
+ free(): void;
1704
+ [Symbol.dispose](): void;
1705
+ batch(prices: Float64Array): Float64Array;
1706
+ isReady(): boolean;
1707
+ constructor(period: number);
1708
+ reset(): void;
1709
+ update(value: number): number | undefined;
1710
+ warmupPeriod(): number;
1711
+ }
1712
+
1713
+ export class StandardErrorBands {
1714
+ free(): void;
1715
+ [Symbol.dispose](): void;
1716
+ batch(prices: Float64Array): Float64Array;
1717
+ isReady(): boolean;
1718
+ constructor(period: number, multiplier: number);
1719
+ reset(): void;
1720
+ update(value: number): any;
1721
+ warmupPeriod(): number;
1722
+ }
1723
+
1724
+ export class StarcBands {
1725
+ free(): void;
1726
+ [Symbol.dispose](): void;
1727
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1728
+ isReady(): boolean;
1729
+ constructor(sma_period: number, atr_period: number, multiplier: number);
1730
+ reset(): void;
1731
+ update(high: number, low: number, close: number): any;
1732
+ warmupPeriod(): number;
1733
+ }
1734
+
1735
+ export class StdDev {
1736
+ free(): void;
1737
+ [Symbol.dispose](): void;
1738
+ batch(prices: Float64Array): Float64Array;
1739
+ isReady(): boolean;
1740
+ constructor(period: number);
1741
+ reset(): void;
1742
+ update(value: number): number | undefined;
1743
+ warmupPeriod(): number;
1744
+ }
1745
+
1746
+ export class StepTrailingStop {
1747
+ free(): void;
1748
+ [Symbol.dispose](): void;
1749
+ batch(prices: Float64Array): Float64Array;
1750
+ constructor(step_size: number);
1751
+ reset(): void;
1752
+ update(value: number): number | undefined;
1753
+ }
1754
+
1755
+ export class StochRSI {
1756
+ free(): void;
1757
+ [Symbol.dispose](): void;
1758
+ batch(prices: Float64Array): Float64Array;
1759
+ isReady(): boolean;
1760
+ constructor(rsi_period: number, stoch_period: number);
1761
+ reset(): void;
1762
+ update(value: number): number | undefined;
1763
+ warmupPeriod(): number;
1764
+ }
1765
+
1766
+ export class Stochastic {
1767
+ free(): void;
1768
+ [Symbol.dispose](): void;
1769
+ /**
1770
+ * Returns `[k0, d0, k1, d1, ...]`, length `2 * n`.
1771
+ */
1772
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1773
+ isReady(): boolean;
1774
+ constructor(k_period: number, d_period: number);
1775
+ reset(): void;
1776
+ /**
1777
+ * Streaming update. Returns `{ k, d }` once warm, else `null`.
1778
+ */
1779
+ update(high: number, low: number, close: number): any;
1780
+ warmupPeriod(): number;
1781
+ }
1782
+
1783
+ export class SuperSmoother {
1784
+ free(): void;
1785
+ [Symbol.dispose](): void;
1786
+ batch(prices: Float64Array): Float64Array;
1787
+ isReady(): boolean;
1788
+ constructor(period: number);
1789
+ reset(): void;
1790
+ update(value: number): number | undefined;
1791
+ warmupPeriod(): number;
1792
+ }
1793
+
1794
+ export class SuperTrend {
1795
+ free(): void;
1796
+ [Symbol.dispose](): void;
1797
+ /**
1798
+ * Returns `[value0, direction0, value1, direction1, ...]`, length `2 * n`.
1799
+ * Warmup positions are NaN.
1800
+ */
1801
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1802
+ constructor(atr_period: number, multiplier: number);
1803
+ reset(): void;
1804
+ /**
1805
+ * Returns `{ value, direction }` once warm, else `null`.
1806
+ */
1807
+ update(high: number, low: number, close: number): any;
1808
+ }
1809
+
1810
+ export class T3 {
1811
+ free(): void;
1812
+ [Symbol.dispose](): void;
1813
+ batch(prices: Float64Array): Float64Array;
1814
+ isReady(): boolean;
1815
+ constructor(period: number, v: number);
1816
+ reset(): void;
1817
+ update(value: number): number | undefined;
1818
+ warmupPeriod(): number;
1819
+ }
1820
+
1821
+ export class TDCombo {
1822
+ free(): void;
1823
+ [Symbol.dispose](): void;
1824
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1825
+ isReady(): boolean;
1826
+ constructor(setup_lookback: number, setup_target: number, countdown_lookback: number, countdown_target: number);
1827
+ reset(): void;
1828
+ update(high: number, low: number, close: number): number | undefined;
1829
+ warmupPeriod(): number;
1830
+ }
1831
+
1832
+ export class TDCountdown {
1833
+ free(): void;
1834
+ [Symbol.dispose](): void;
1835
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1836
+ isReady(): boolean;
1837
+ constructor(setup_lookback: number, setup_target: number, countdown_lookback: number, countdown_target: number);
1838
+ reset(): void;
1839
+ update(high: number, low: number, close: number): number | undefined;
1840
+ warmupPeriod(): number;
1841
+ }
1842
+
1843
+ export class TDDeMarker {
1844
+ free(): void;
1845
+ [Symbol.dispose](): void;
1846
+ batch(high: Float64Array, low: Float64Array): Float64Array;
1847
+ isReady(): boolean;
1848
+ constructor(period: number);
1849
+ reset(): void;
1850
+ update(high: number, low: number): number | undefined;
1851
+ warmupPeriod(): number;
1852
+ }
1853
+
1854
+ export class TDDifferential {
1855
+ free(): void;
1856
+ [Symbol.dispose](): void;
1857
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1858
+ isReady(): boolean;
1859
+ constructor();
1860
+ reset(): void;
1861
+ update(high: number, low: number, close: number): number | undefined;
1862
+ warmupPeriod(): number;
1863
+ }
1864
+
1865
+ export class TDLines {
1866
+ free(): void;
1867
+ [Symbol.dispose](): void;
1868
+ /**
1869
+ * Batch returns a flat `Float64Array` `[resistance0, support0, ...]`.
1870
+ */
1871
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1872
+ isReady(): boolean;
1873
+ constructor(lookback: number, target: number);
1874
+ reset(): void;
1875
+ /**
1876
+ * Streaming update. Returns `{ resistance, support }` once warm, else `null`.
1877
+ */
1878
+ update(high: number, low: number, close: number): any;
1879
+ warmupPeriod(): number;
1880
+ }
1881
+
1882
+ export class TDOpen {
1883
+ free(): void;
1884
+ [Symbol.dispose](): void;
1885
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1886
+ isReady(): boolean;
1887
+ constructor();
1888
+ reset(): void;
1889
+ update(open: number, high: number, low: number, close: number): number | undefined;
1890
+ warmupPeriod(): number;
1891
+ }
1892
+
1893
+ export class TDPressure {
1894
+ free(): void;
1895
+ [Symbol.dispose](): void;
1896
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
1897
+ isReady(): boolean;
1898
+ constructor(period: number);
1899
+ reset(): void;
1900
+ update(open: number, high: number, low: number, close: number, volume: number): number | undefined;
1901
+ warmupPeriod(): number;
1902
+ }
1903
+
1904
+ export class TDREI {
1905
+ free(): void;
1906
+ [Symbol.dispose](): void;
1907
+ batch(high: Float64Array, low: Float64Array): Float64Array;
1908
+ isReady(): boolean;
1909
+ constructor(period: number);
1910
+ reset(): void;
1911
+ update(high: number, low: number): number | undefined;
1912
+ warmupPeriod(): number;
1913
+ }
1914
+
1915
+ export class TDRangeProjection {
1916
+ free(): void;
1917
+ [Symbol.dispose](): void;
1918
+ /**
1919
+ * Batch returns a flat `Float64Array` `[projHigh0, projLow0, ...]`.
1920
+ */
1921
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1922
+ isReady(): boolean;
1923
+ constructor();
1924
+ reset(): void;
1925
+ /**
1926
+ * Streaming update. Returns `{ high, low }` projected for the next bar.
1927
+ */
1928
+ update(open: number, high: number, low: number, close: number): any;
1929
+ warmupPeriod(): number;
1930
+ }
1931
+
1932
+ export class TDRiskLevel {
1933
+ free(): void;
1934
+ [Symbol.dispose](): void;
1935
+ /**
1936
+ * Batch returns a flat `Float64Array` `[buyRisk0, sellRisk0, ...]`.
1937
+ */
1938
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1939
+ isReady(): boolean;
1940
+ constructor(lookback: number, target: number);
1941
+ reset(): void;
1942
+ /**
1943
+ * Streaming update. Returns `{ buyRisk, sellRisk }` once warm, else `null`.
1944
+ */
1945
+ update(high: number, low: number, close: number): any;
1946
+ warmupPeriod(): number;
1947
+ }
1948
+
1949
+ export class TDSequential {
1950
+ free(): void;
1951
+ [Symbol.dispose](): void;
1952
+ /**
1953
+ * Batch returns a flat `Float64Array` `[setup0, countdown0, direction0, ...]`.
1954
+ */
1955
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1956
+ isReady(): boolean;
1957
+ constructor(setup_lookback: number, setup_target: number, countdown_lookback: number, countdown_target: number);
1958
+ reset(): void;
1959
+ /**
1960
+ * Streaming update. Returns `{ setup, countdown, direction }` once warm,
1961
+ * else `null`.
1962
+ */
1963
+ update(high: number, low: number, close: number): any;
1964
+ warmupPeriod(): number;
1965
+ }
1966
+
1967
+ export class TDSetup {
1968
+ free(): void;
1969
+ [Symbol.dispose](): void;
1970
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1971
+ isReady(): boolean;
1972
+ constructor(lookback: number, target: number);
1973
+ reset(): void;
1974
+ update(high: number, low: number, close: number): number | undefined;
1975
+ warmupPeriod(): number;
1976
+ }
1977
+
1978
+ export class TEMA {
1979
+ free(): void;
1980
+ [Symbol.dispose](): void;
1981
+ batch(prices: Float64Array): Float64Array;
1982
+ isReady(): boolean;
1983
+ constructor(period: number);
1984
+ reset(): void;
1985
+ update(value: number): number | undefined;
1986
+ warmupPeriod(): number;
1987
+ }
1988
+
1989
+ export class TII {
1990
+ free(): void;
1991
+ [Symbol.dispose](): void;
1992
+ batch(prices: Float64Array): Float64Array;
1993
+ isReady(): boolean;
1994
+ constructor(sma_period: number, dev_period: number);
1995
+ reset(): void;
1996
+ update(value: number): number | undefined;
1997
+ warmupPeriod(): number;
1998
+ }
1999
+
2000
+ export class TRIMA {
2001
+ free(): void;
2002
+ [Symbol.dispose](): void;
2003
+ batch(prices: Float64Array): Float64Array;
2004
+ isReady(): boolean;
2005
+ constructor(period: number);
2006
+ reset(): void;
2007
+ update(value: number): number | undefined;
2008
+ warmupPeriod(): number;
2009
+ }
2010
+
2011
+ export class TRIX {
2012
+ free(): void;
2013
+ [Symbol.dispose](): void;
2014
+ batch(prices: Float64Array): Float64Array;
2015
+ isReady(): boolean;
2016
+ constructor(period: number);
2017
+ reset(): void;
2018
+ update(value: number): number | undefined;
2019
+ warmupPeriod(): number;
2020
+ }
2021
+
2022
+ export class TSI {
2023
+ free(): void;
2024
+ [Symbol.dispose](): void;
2025
+ batch(prices: Float64Array): Float64Array;
2026
+ isReady(): boolean;
2027
+ constructor(long: number, short: number);
2028
+ reset(): void;
2029
+ update(value: number): number | undefined;
2030
+ warmupPeriod(): number;
2031
+ }
2032
+
2033
+ export class TSV {
2034
+ free(): void;
2035
+ [Symbol.dispose](): void;
2036
+ batch(close: Float64Array, volume: Float64Array): Float64Array;
2037
+ constructor(period: number);
2038
+ reset(): void;
2039
+ update(close: number, volume: number): number | undefined;
2040
+ }
2041
+
2042
+ export class ThreeInside {
2043
+ free(): void;
2044
+ [Symbol.dispose](): void;
2045
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2046
+ isReady(): boolean;
2047
+ constructor();
2048
+ reset(): void;
2049
+ update(open: number, high: number, low: number, close: number): number | undefined;
2050
+ warmupPeriod(): number;
2051
+ }
2052
+
2053
+ export class ThreeOutside {
2054
+ free(): void;
2055
+ [Symbol.dispose](): void;
2056
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2057
+ isReady(): boolean;
2058
+ constructor();
2059
+ reset(): void;
2060
+ update(open: number, high: number, low: number, close: number): number | undefined;
2061
+ warmupPeriod(): number;
2062
+ }
2063
+
2064
+ export class ThreeSoldiersOrCrows {
2065
+ free(): void;
2066
+ [Symbol.dispose](): void;
2067
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2068
+ isReady(): boolean;
2069
+ constructor();
2070
+ reset(): void;
2071
+ update(open: number, high: number, low: number, close: number): number | undefined;
2072
+ warmupPeriod(): number;
2073
+ }
2074
+
2075
+ export class TreynorRatio {
2076
+ free(): void;
2077
+ [Symbol.dispose](): void;
2078
+ batch(asset: Float64Array, benchmark: Float64Array): Float64Array;
2079
+ isReady(): boolean;
2080
+ constructor(period: number, risk_free: number);
2081
+ reset(): void;
2082
+ update(asset: number, benchmark: number): number | undefined;
2083
+ warmupPeriod(): number;
2084
+ }
2085
+
2086
+ export class TrueRange {
2087
+ free(): void;
2088
+ [Symbol.dispose](): void;
2089
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2090
+ constructor();
2091
+ reset(): void;
2092
+ update(high: number, low: number, close: number): number | undefined;
2093
+ }
2094
+
2095
+ export class TtmSqueeze {
2096
+ free(): void;
2097
+ [Symbol.dispose](): void;
2098
+ /**
2099
+ * Flat `[sq0, mom0, sq1, mom1, ...]`, length `2 * n`.
2100
+ */
2101
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2102
+ isReady(): boolean;
2103
+ constructor(period: number, bb_mult: number, kc_mult: number);
2104
+ reset(): void;
2105
+ update(high: number, low: number, close: number): any;
2106
+ warmupPeriod(): number;
2107
+ }
2108
+
2109
+ export class Tweezer {
2110
+ free(): void;
2111
+ [Symbol.dispose](): void;
2112
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2113
+ isReady(): boolean;
2114
+ constructor();
2115
+ reset(): void;
2116
+ update(open: number, high: number, low: number, close: number): number | undefined;
2117
+ warmupPeriod(): number;
2118
+ }
2119
+
2120
+ export class TypicalPrice {
2121
+ free(): void;
2122
+ [Symbol.dispose](): void;
2123
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2124
+ constructor();
2125
+ reset(): void;
2126
+ update(high: number, low: number, close: number): number | undefined;
2127
+ }
2128
+
2129
+ export class UlcerIndex {
2130
+ free(): void;
2131
+ [Symbol.dispose](): void;
2132
+ batch(prices: Float64Array): Float64Array;
2133
+ isReady(): boolean;
2134
+ constructor(period: number);
2135
+ reset(): void;
2136
+ update(value: number): number | undefined;
2137
+ warmupPeriod(): number;
2138
+ }
2139
+
2140
+ export class UltimateOscillator {
2141
+ free(): void;
2142
+ [Symbol.dispose](): void;
2143
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2144
+ constructor(short: number, mid: number, long: number);
2145
+ reset(): void;
2146
+ update(high: number, low: number, close: number): number | undefined;
2147
+ }
2148
+
2149
+ export class VIDYA {
2150
+ free(): void;
2151
+ [Symbol.dispose](): void;
2152
+ batch(prices: Float64Array): Float64Array;
2153
+ isReady(): boolean;
2154
+ constructor(period: number, cmo_period: number);
2155
+ reset(): void;
2156
+ update(value: number): number | undefined;
2157
+ warmupPeriod(): number;
2158
+ }
2159
+
2160
+ export class VWAP {
2161
+ free(): void;
2162
+ [Symbol.dispose](): void;
2163
+ batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
2164
+ isReady(): boolean;
2165
+ constructor();
2166
+ reset(): void;
2167
+ update(high: number, low: number, close: number, volume: number): number | undefined;
2168
+ warmupPeriod(): number;
2169
+ }
2170
+
2171
+ export class VWMA {
2172
+ free(): void;
2173
+ [Symbol.dispose](): void;
2174
+ batch(close: Float64Array, volume: Float64Array): Float64Array;
2175
+ constructor(period: number);
2176
+ reset(): void;
2177
+ update(close: number, volume: number): number | undefined;
2178
+ }
2179
+
2180
+ export class VZO {
2181
+ free(): void;
2182
+ [Symbol.dispose](): void;
2183
+ batch(close: Float64Array, volume: Float64Array): Float64Array;
2184
+ constructor(period: number);
2185
+ reset(): void;
2186
+ update(close: number, volume: number): number | undefined;
2187
+ }
2188
+
2189
+ export class ValueArea {
2190
+ free(): void;
2191
+ [Symbol.dispose](): void;
2192
+ batch(high: Float64Array, low: Float64Array, volume: Float64Array): Float64Array;
2193
+ isReady(): boolean;
2194
+ constructor(period: number, bin_count: number, value_area_pct: number);
2195
+ reset(): void;
2196
+ /**
2197
+ * Streaming update. Returns `{ poc, vah, val }` once warm, else `null`.
2198
+ */
2199
+ update(high: number, low: number, volume: number): any;
2200
+ warmupPeriod(): number;
2201
+ }
2202
+
2203
+ export class ValueAtRisk {
2204
+ free(): void;
2205
+ [Symbol.dispose](): void;
2206
+ batch(prices: Float64Array): Float64Array;
2207
+ isReady(): boolean;
2208
+ constructor(period: number, confidence: number);
2209
+ reset(): void;
2210
+ update(value: number): number | undefined;
2211
+ warmupPeriod(): number;
2212
+ }
2213
+
2214
+ export class Variance {
2215
+ free(): void;
2216
+ [Symbol.dispose](): void;
2217
+ batch(prices: Float64Array): Float64Array;
2218
+ isReady(): boolean;
2219
+ constructor(period: number);
2220
+ reset(): void;
2221
+ update(value: number): number | undefined;
2222
+ warmupPeriod(): number;
2223
+ }
2224
+
2225
+ export class VerticalHorizontalFilter {
2226
+ free(): void;
2227
+ [Symbol.dispose](): void;
2228
+ batch(prices: Float64Array): Float64Array;
2229
+ isReady(): boolean;
2230
+ constructor(period: number);
2231
+ reset(): void;
2232
+ update(value: number): number | undefined;
2233
+ warmupPeriod(): number;
2234
+ }
2235
+
2236
+ export class VoltyStop {
2237
+ free(): void;
2238
+ [Symbol.dispose](): void;
2239
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2240
+ constructor(atr_period: number, multiplier: number);
2241
+ reset(): void;
2242
+ update(high: number, low: number, close: number): number | undefined;
2243
+ }
2244
+
2245
+ export class VolumeOscillator {
2246
+ free(): void;
2247
+ [Symbol.dispose](): void;
2248
+ batch(volume: Float64Array): Float64Array;
2249
+ constructor(fast: number, slow: number);
2250
+ reset(): void;
2251
+ update(volume: number): number | undefined;
2252
+ }
2253
+
2254
+ export class VolumePriceTrend {
2255
+ free(): void;
2256
+ [Symbol.dispose](): void;
2257
+ batch(close: Float64Array, volume: Float64Array): Float64Array;
2258
+ constructor();
2259
+ reset(): void;
2260
+ update(close: number, volume: number): number | undefined;
2261
+ }
2262
+
2263
+ export class Vortex {
2264
+ free(): void;
2265
+ [Symbol.dispose](): void;
2266
+ /**
2267
+ * Returns `[plus0, minus0, plus1, minus1, ...]`, length `2 * n`. Warmup is NaN.
2268
+ */
2269
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2270
+ constructor(period: number);
2271
+ reset(): void;
2272
+ update(high: number, low: number, close: number): any;
2273
+ }
2274
+
2275
+ export class VwapStdDevBands {
2276
+ free(): void;
2277
+ [Symbol.dispose](): void;
2278
+ /**
2279
+ * Flat `[u0, m0, l0, sd0, ...]`, length `4 * n`.
2280
+ */
2281
+ batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
2282
+ isReady(): boolean;
2283
+ constructor(multiplier: number);
2284
+ reset(): void;
2285
+ update(high: number, low: number, close: number, volume: number): any;
2286
+ warmupPeriod(): number;
2287
+ }
2288
+
2289
+ export class WMA {
2290
+ free(): void;
2291
+ [Symbol.dispose](): void;
2292
+ batch(prices: Float64Array): Float64Array;
2293
+ isReady(): boolean;
2294
+ constructor(period: number);
2295
+ reset(): void;
2296
+ update(value: number): number | undefined;
2297
+ warmupPeriod(): number;
2298
+ }
2299
+
2300
+ export class WaveTrend {
2301
+ free(): void;
2302
+ [Symbol.dispose](): void;
2303
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2304
+ static classic(): WaveTrend;
2305
+ constructor(channel_period: number, average_period: number, signal_period: number);
2306
+ reset(): void;
2307
+ update(high: number, low: number, close: number): any;
2308
+ }
2309
+
2310
+ export class WeightedClose {
2311
+ free(): void;
2312
+ [Symbol.dispose](): void;
2313
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2314
+ constructor();
2315
+ reset(): void;
2316
+ update(high: number, low: number, close: number): number | undefined;
2317
+ }
2318
+
2319
+ export class WilliamsAD {
2320
+ free(): void;
2321
+ [Symbol.dispose](): void;
2322
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2323
+ constructor();
2324
+ reset(): void;
2325
+ update(high: number, low: number, close: number): number | undefined;
2326
+ }
2327
+
2328
+ export class WilliamsFractals {
2329
+ free(): void;
2330
+ [Symbol.dispose](): void;
2331
+ batch(high: Float64Array, low: Float64Array): Float64Array;
2332
+ isReady(): boolean;
2333
+ constructor();
2334
+ reset(): void;
2335
+ /**
2336
+ * Returns `{ up, down }` where each is the fractal price or `NaN` when no
2337
+ * fractal was confirmed at the centre of the most recent 5-bar window.
2338
+ * Returns `null` during the four-bar warmup.
2339
+ */
2340
+ update(high: number, low: number): any;
2341
+ warmupPeriod(): number;
2342
+ }
2343
+
2344
+ export class WilliamsR {
2345
+ free(): void;
2346
+ [Symbol.dispose](): void;
2347
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2348
+ isReady(): boolean;
2349
+ constructor(period: number);
2350
+ reset(): void;
2351
+ update(high: number, low: number, close: number): number | undefined;
2352
+ warmupPeriod(): number;
2353
+ }
2354
+
2355
+ export class WoodiePivots {
2356
+ free(): void;
2357
+ [Symbol.dispose](): void;
2358
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2359
+ isReady(): boolean;
2360
+ constructor();
2361
+ reset(): void;
2362
+ update(high: number, low: number, close: number): any;
2363
+ warmupPeriod(): number;
2364
+ }
2365
+
2366
+ export class YangZhangVolatility {
2367
+ free(): void;
2368
+ [Symbol.dispose](): void;
2369
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2370
+ isReady(): boolean;
2371
+ constructor(period: number, trading_periods: number);
2372
+ reset(): void;
2373
+ update(open: number, high: number, low: number, close: number): number | undefined;
2374
+ warmupPeriod(): number;
2375
+ }
2376
+
2377
+ export class YoyoExit {
2378
+ free(): void;
2379
+ [Symbol.dispose](): void;
2380
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2381
+ inTrade(): boolean;
2382
+ constructor(atr_period: number, multiplier: number);
2383
+ reset(): void;
2384
+ update(high: number, low: number, close: number): number | undefined;
2385
+ }
2386
+
2387
+ export class ZLEMA {
2388
+ free(): void;
2389
+ [Symbol.dispose](): void;
2390
+ batch(prices: Float64Array): Float64Array;
2391
+ isReady(): boolean;
2392
+ constructor(period: number);
2393
+ reset(): void;
2394
+ update(value: number): number | undefined;
2395
+ warmupPeriod(): number;
2396
+ }
2397
+
2398
+ export class ZScore {
2399
+ free(): void;
2400
+ [Symbol.dispose](): void;
2401
+ batch(prices: Float64Array): Float64Array;
2402
+ isReady(): boolean;
2403
+ constructor(period: number);
2404
+ reset(): void;
2405
+ update(value: number): number | undefined;
2406
+ warmupPeriod(): number;
2407
+ }
2408
+
2409
+ export class ZeroLagMACD {
2410
+ free(): void;
2411
+ [Symbol.dispose](): void;
2412
+ /**
2413
+ * Returns `[macd0, signal0, histogram0, ...]`, length `3n`.
2414
+ */
2415
+ batch(prices: Float64Array): Float64Array;
2416
+ isReady(): boolean;
2417
+ constructor(fast: number, slow: number, signal: number);
2418
+ reset(): void;
2419
+ /**
2420
+ * Returns `{ macd, signal, histogram }` once warm, else `null`.
2421
+ */
2422
+ update(value: number): any;
2423
+ warmupPeriod(): number;
2424
+ }
2425
+
2426
+ export class ZigZag {
2427
+ free(): void;
2428
+ [Symbol.dispose](): void;
2429
+ batch(high: Float64Array, low: Float64Array): Float64Array;
2430
+ isReady(): boolean;
2431
+ constructor(threshold: number);
2432
+ reset(): void;
2433
+ threshold(): number;
2434
+ update(high: number, low: number): any;
2435
+ warmupPeriod(): number;
2436
+ }
2437
+
797
2438
  /**
798
2439
  * Optional helper: install `console.error` panic hook in the browser.
799
2440
  */