wickra-wasm 0.5.6 → 0.5.8

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=413" 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=423" 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)
@@ -48,7 +48,7 @@ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
48
48
  [Node](https://docs.wickra.org/Quickstart-Node),
49
49
  [WASM](https://docs.wickra.org/Quickstart-WASM).
50
50
  - **Indicators** — a per-indicator deep dive (formula, parameters, warmup) for
51
- every one of the 413 indicators; start at the
51
+ every one of the 423 indicators; start at the
52
52
  [indicators overview](https://docs.wickra.org/Indicators-Overview).
53
53
  - **Reference** — [warmup periods](https://docs.wickra.org/Warmup-Periods),
54
54
  [streaming vs batch](https://docs.wickra.org/Streaming-vs-Batch),
@@ -136,7 +136,7 @@ python -m benchmarks.compare_libraries
136
136
 
137
137
  ## Indicators
138
138
 
139
- 413 streaming-first indicators across twenty-four families. Every one passes the
139
+ 423 streaming-first indicators across twenty-four families. Every one passes the
140
140
  `batch == streaming` equivalence test, reference-value tests, and reset
141
141
  semantics tests. Each has a per-indicator deep dive (formula, parameters,
142
142
  warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
@@ -145,8 +145,8 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
145
145
  |--------|-----------|
146
146
  | Moving Averages | SMA, EMA, WMA, DEMA, TEMA, HMA, KAMA, SMMA, TRIMA, ZLEMA, T3, VWMA, ALMA, McGinley Dynamic, FRAMA, VIDYA, JMA, Alligator, EVWMA, SWMA, GMA, EHMA, Median MA, Adaptive Laguerre, GD, Holt-Winters |
147
147
  | Momentum Oscillators | RSI (Wilder), Anchored RSI, Stochastic, CCI, ROC, Williams %R, MFI, Awesome Oscillator, MOM, CMO, TSI, PMO, StochRSI, Ultimate Oscillator, RVI, PGO, KST, SMI, Laguerre RSI, Connors RSI, Inertia, ROC Percentage (ROCP), ROC Ratio (ROCR), ROC Ratio 100 (ROCR100), Disparity Index, Fisher RSI, RSX, Dynamic Momentum Index, Stochastic CCI, RMI, Derivative Oscillator, Elder Ray, Intraday Momentum Index, QQE |
148
- | Trend & Directional | MACD, MACD Fixed (MACDFIX), MACD Extended (MACDEXT), ADX (+DI/-DI), ADXR, Aroon, TRIX, Aroon Oscillator, Vortex, Random Walk Index, Trend Intensity Index, Wave Trend Oscillator, Mass Index, Choppiness Index, Vertical Horizontal Filter, Plus DM, Minus DM, Plus DI, Minus DI, DX |
149
- | Price Oscillators | PPO, DPO, Coppock, Accelerator Oscillator, Balance of Power, APO, AO Histogram, CFO, Zero-Lag MACD, Elder Impulse, STC |
148
+ | Trend & Directional | MACD, MACD Fixed (MACDFIX), MACD Extended (MACDEXT), ADX (+DI/-DI), ADXR, Aroon, TRIX, Aroon Oscillator, Vortex, Random Walk Index, Trend Intensity Index, Wave Trend Oscillator, Mass Index, Choppiness Index, Vertical Horizontal Filter, Plus DM, Minus DM, Plus DI, Minus DI, DX, TTM Trend, Trend Strength Index, Qstick, Polarized Fractal Efficiency, Wave PM, Gator Oscillator, Kase Permission Stochastic |
149
+ | Price Oscillators | PPO, DPO, Coppock, Accelerator Oscillator, Balance of Power, APO, AO Histogram, CFO, Zero-Lag MACD, Elder Impulse, STC, TSF Oscillator, MACD Histogram, PPO Histogram |
150
150
  | Volatility & Bands | ATR, Bollinger Bands, Keltner Channels, Donchian Channels, NATR, StdDev, Ulcer Index, Historical Volatility, Bollinger Bandwidth, %B, True Range, Chaikin Volatility, RVI (Relative Volatility Index), Parkinson Volatility, Garman-Klass Volatility, Rogers-Satchell Volatility, Yang-Zhang Volatility |
151
151
  | Bands & Channels | MA Envelope, Acceleration Bands, STARC Bands, ATR Bands, Hurst Channel, LinReg Channel, Standard Error Bands, Double Bollinger Bands, TTM Squeeze, Fractal Chaos Bands, VWAP StdDev Bands |
152
152
  | Trailing Stops | Parabolic SAR, Parabolic SAR Extended (SAREXT), SuperTrend, Chandelier Exit, Chande Kroll Stop, ATR Trailing Stop, HiLo Activator, Volty Stop, Yo-Yo Exit, Donchian Channel Stop, Percentage Trailing Stop, Step Trailing Stop, Renko Trailing Stop |
@@ -245,7 +245,7 @@ A Python live-trading example using the public `websockets` package lives at
245
245
  ```
246
246
  wickra/
247
247
  ├── crates/
248
- │ ├── wickra-core/ core engine + all 413 indicators
248
+ │ ├── wickra-core/ core engine + all 423 indicators
249
249
  │ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
250
250
  │ └── wickra-data/ CSV reader, tick aggregator, live exchange feeds
251
251
  ├── 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.6",
8
+ "version": "0.5.8",
9
9
  "license": "MIT OR Apache-2.0",
10
10
  "repository": {
11
11
  "type": "git",
package/wickra_wasm.d.ts CHANGED
@@ -1525,6 +1525,23 @@ export class Gartley {
1525
1525
  warmupPeriod(): number;
1526
1526
  }
1527
1527
 
1528
+ export class GatorOscillator {
1529
+ free(): void;
1530
+ [Symbol.dispose](): void;
1531
+ /**
1532
+ * Returns `[upper0, lower0, upper1, lower1, ...]`, length `2 * n`.
1533
+ */
1534
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1535
+ isReady(): boolean;
1536
+ constructor(jaw_period: number, teeth_period: number, lips_period: number);
1537
+ reset(): void;
1538
+ /**
1539
+ * Streaming update. Returns `{ upper, lower }` once warm, else `null`.
1540
+ */
1541
+ update(high: number, low: number, close: number): any;
1542
+ warmupPeriod(): number;
1543
+ }
1544
+
1528
1545
  export class GoldenPocket {
1529
1546
  free(): void;
1530
1547
  [Symbol.dispose](): void;
@@ -2021,6 +2038,23 @@ export class KalmanHedgeRatio {
2021
2038
  warmupPeriod(): number;
2022
2039
  }
2023
2040
 
2041
+ export class KasePermissionStochastic {
2042
+ free(): void;
2043
+ [Symbol.dispose](): void;
2044
+ /**
2045
+ * Returns `[fast0, slow0, fast1, slow1, ...]`, length `2 * n`.
2046
+ */
2047
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
2048
+ isReady(): boolean;
2049
+ constructor(length: number, smooth: number);
2050
+ reset(): void;
2051
+ /**
2052
+ * Streaming update. Returns `{ fast, slow }` once warm, else `null`.
2053
+ */
2054
+ update(high: number, low: number, close: number): any;
2055
+ warmupPeriod(): number;
2056
+ }
2057
+
2024
2058
  export class KellyCriterion {
2025
2059
  free(): void;
2026
2060
  [Symbol.dispose](): void;
@@ -2367,6 +2401,17 @@ export class MaEnvelope {
2367
2401
  warmupPeriod(): number;
2368
2402
  }
2369
2403
 
2404
+ export class MacdHistogram {
2405
+ free(): void;
2406
+ [Symbol.dispose](): void;
2407
+ batch(prices: Float64Array): Float64Array;
2408
+ isReady(): boolean;
2409
+ constructor(fast: number, slow: number, signal: number);
2410
+ reset(): void;
2411
+ update(value: number): number | undefined;
2412
+ warmupPeriod(): number;
2413
+ }
2414
+
2370
2415
  export class MarketFacilitationIndex {
2371
2416
  free(): void;
2372
2417
  [Symbol.dispose](): void;
@@ -2756,6 +2801,17 @@ export class PMO {
2756
2801
  warmupPeriod(): number;
2757
2802
  }
2758
2803
 
2804
+ export class POLARIZED_FRACTAL_EFFICIENCY {
2805
+ free(): void;
2806
+ [Symbol.dispose](): void;
2807
+ batch(prices: Float64Array): Float64Array;
2808
+ isReady(): boolean;
2809
+ constructor(period: number, smoothing: number);
2810
+ reset(): void;
2811
+ update(value: number): number | undefined;
2812
+ warmupPeriod(): number;
2813
+ }
2814
+
2759
2815
  export class PPO {
2760
2816
  free(): void;
2761
2817
  [Symbol.dispose](): void;
@@ -2909,6 +2965,17 @@ export class PointAndFigureBars {
2909
2965
  update(close: number): Array<any>;
2910
2966
  }
2911
2967
 
2968
+ export class PpoHistogram {
2969
+ free(): void;
2970
+ [Symbol.dispose](): void;
2971
+ batch(prices: Float64Array): Float64Array;
2972
+ isReady(): boolean;
2973
+ constructor(fast: number, slow: number, signal: number);
2974
+ reset(): void;
2975
+ update(value: number): number | undefined;
2976
+ warmupPeriod(): number;
2977
+ }
2978
+
2912
2979
  export class ProfitFactor {
2913
2980
  free(): void;
2914
2981
  [Symbol.dispose](): void;
@@ -2937,6 +3004,23 @@ export class QQE {
2937
3004
  warmupPeriod(): number;
2938
3005
  }
2939
3006
 
3007
+ export class Qstick {
3008
+ free(): void;
3009
+ [Symbol.dispose](): void;
3010
+ /**
3011
+ * Batch over open/close arrays; `NaN` during warmup.
3012
+ */
3013
+ batch(open: Float64Array, close: Float64Array): Float64Array;
3014
+ isReady(): boolean;
3015
+ constructor(period: number);
3016
+ reset(): void;
3017
+ /**
3018
+ * Streaming update over one candle's open and close.
3019
+ */
3020
+ update(open: number, close: number): number | undefined;
3021
+ warmupPeriod(): number;
3022
+ }
3023
+
2940
3024
  export class QuotedSpread {
2941
3025
  free(): void;
2942
3026
  [Symbol.dispose](): void;
@@ -3900,6 +3984,17 @@ export class TII {
3900
3984
  warmupPeriod(): number;
3901
3985
  }
3902
3986
 
3987
+ export class TREND_STRENGTH_INDEX {
3988
+ free(): void;
3989
+ [Symbol.dispose](): void;
3990
+ batch(prices: Float64Array): Float64Array;
3991
+ isReady(): boolean;
3992
+ constructor(period: number);
3993
+ reset(): void;
3994
+ update(value: number): number | undefined;
3995
+ warmupPeriod(): number;
3996
+ }
3997
+
3903
3998
  export class TRIMA {
3904
3999
  free(): void;
3905
4000
  [Symbol.dispose](): void;
@@ -3953,6 +4048,15 @@ export class TSV {
3953
4048
  update(close: number, volume: number): number | undefined;
3954
4049
  }
3955
4050
 
4051
+ export class TTM_TREND {
4052
+ free(): void;
4053
+ [Symbol.dispose](): void;
4054
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
4055
+ constructor(period: number);
4056
+ reset(): void;
4057
+ update(high: number, low: number, close: number): number | undefined;
4058
+ }
4059
+
3956
4060
  export class TakerBuySellRatio {
3957
4061
  free(): void;
3958
4062
  [Symbol.dispose](): void;
@@ -4180,6 +4284,17 @@ export class TrueRange {
4180
4284
  update(high: number, low: number, close: number): number | undefined;
4181
4285
  }
4182
4286
 
4287
+ export class TsfOscillator {
4288
+ free(): void;
4289
+ [Symbol.dispose](): void;
4290
+ batch(prices: Float64Array): Float64Array;
4291
+ isReady(): boolean;
4292
+ constructor(period: number);
4293
+ reset(): void;
4294
+ update(value: number): number | undefined;
4295
+ warmupPeriod(): number;
4296
+ }
4297
+
4183
4298
  export class TtmSqueeze {
4184
4299
  free(): void;
4185
4300
  [Symbol.dispose](): void;
@@ -4488,6 +4603,17 @@ export class VwapStdDevBands {
4488
4603
  warmupPeriod(): number;
4489
4604
  }
4490
4605
 
4606
+ export class WAVE_PM {
4607
+ free(): void;
4608
+ [Symbol.dispose](): void;
4609
+ batch(prices: Float64Array): Float64Array;
4610
+ isReady(): boolean;
4611
+ constructor(length: number, smoothing: number);
4612
+ reset(): void;
4613
+ update(value: number): number | undefined;
4614
+ warmupPeriod(): number;
4615
+ }
4616
+
4491
4617
  export class WMA {
4492
4618
  free(): void;
4493
4619
  [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, Abcd, AbsoluteBreadthIndex, AccelerationBands, AcceleratorOscillator, AdVolumeLine, AdaptiveCycle, AdaptiveLaguerre, AdvanceBlock, AdvanceDecline, AdvanceDeclineRatio, Alligator, Alpha, AmihudIlliquidity, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, AutoFib, Autocorrelation, AverageDailyRange, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, Bat, BeltHold, Beta, BetaNeutralSpread, BodySizePct, BollingerBands, BollingerBandwidth, BreadthThrust, Breakaway, BullishPercentIndex, Butterfly, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, CloseVsOpen, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, Crab, CumulativeVolumeDelta, CumulativeVolumeIndex, CupAndHandle, CyberneticCycle, Cypher, DEMA, DPO, DX, DayOfWeekProfile, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DerivativeOscillator, DetrendedStdDev, DisparityIndex, DistanceSsd, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DoubleTopBottom, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, DynamicMomentumIndex, EHMA, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, ElderRay, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, Expectancy, FAMA, FRAMA, FallingThreeMethods, FibArcs, FibChannel, FibConfluence, FibExtension, FibFan, FibProjection, FibRetracement, FibTimeZones, FibonacciPivots, FisherRSI, FisherTransform, FlagPennant, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GD, GMA, GainLossRatio, GapSideBySideWhite, GarmanKlassVolatility, Gartley, GoldenPocket, GrangerCausality, GravestoneDoji, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeadAndShoulders, HeikinAshi, HiLoActivator, HighLowIndex, HighLowRange, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HoltWinters, HomingPigeon, HurstChannel, HurstExponent, IMI, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, IntradayVolatilityProfile, InverseFisherTransform, InvertedHammer, JMA, JumpIndicator, KAMA, KST, KVO, KagiBars, KalmanHedgeRatio, KellyCriterion, Keltner, Kicking, KickingByLength, Kurtosis, KylesLambda, LINEARREG_INTERCEPT, LadderBottom, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, LiquidationFeatures, LogReturn, 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, MedianMA, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, NewHighsNewLows, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, OrderFlowImbalance, OuHalfLife, OvernightGap, OvernightIntradayReturn, PGO, PLUS_DI, PLUS_DM, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentAboveMa, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, ProfitFactor, QQE, QuotedSpread, RMI, ROC, ROCP, ROCR, ROCR100, RSI, RSX, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RealizedVolatility, RecoveryFactor, RectangleRange, RegimeLabel, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollMeasure, RollingCorrelation, RollingCovariance, RollingIqr, RollingPercentileRank, RollingQuantile, RollingVWAP, RoofingFilter, SAREXT, SMA, SMI, SMMA, STC, SWMA, SeasonalZScore, SeparatingLines, SessionHighLow, SessionRange, SessionVwap, Shark, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, SpreadAr1Coefficient, SpreadBollingerBands, SpreadHurst, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, StochasticCCI, 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, TrendLabel, 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, Vpin, VwapStdDevBands, WMA, WaveTrend, Wedge, WeightedClose, WickRatio, WilliamsAD, WilliamsFractals, WilliamsR, WinRate, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
8
+ ADL, ADX, ADXR, ALMA, APO, ATR, AVGPRICE, AbandonedBaby, Abcd, AbsoluteBreadthIndex, AccelerationBands, AcceleratorOscillator, AdVolumeLine, AdaptiveCycle, AdaptiveLaguerre, AdvanceBlock, AdvanceDecline, AdvanceDeclineRatio, Alligator, Alpha, AmihudIlliquidity, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, AutoFib, Autocorrelation, AverageDailyRange, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, Bat, BeltHold, Beta, BetaNeutralSpread, BodySizePct, BollingerBands, BollingerBandwidth, BreadthThrust, Breakaway, BullishPercentIndex, Butterfly, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, CloseVsOpen, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, Crab, CumulativeVolumeDelta, CumulativeVolumeIndex, CupAndHandle, CyberneticCycle, Cypher, DEMA, DPO, DX, DayOfWeekProfile, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DerivativeOscillator, DetrendedStdDev, DisparityIndex, DistanceSsd, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DoubleTopBottom, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, DynamicMomentumIndex, EHMA, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, ElderRay, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, Expectancy, FAMA, FRAMA, FallingThreeMethods, FibArcs, FibChannel, FibConfluence, FibExtension, FibFan, FibProjection, FibRetracement, FibTimeZones, FibonacciPivots, FisherRSI, FisherTransform, FlagPennant, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GD, GMA, GainLossRatio, GapSideBySideWhite, GarmanKlassVolatility, Gartley, GatorOscillator, GoldenPocket, GrangerCausality, GravestoneDoji, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeadAndShoulders, HeikinAshi, HiLoActivator, HighLowIndex, HighLowRange, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HoltWinters, HomingPigeon, HurstChannel, HurstExponent, IMI, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, IntradayVolatilityProfile, InverseFisherTransform, InvertedHammer, JMA, JumpIndicator, KAMA, KST, KVO, KagiBars, KalmanHedgeRatio, KasePermissionStochastic, KellyCriterion, Keltner, Kicking, KickingByLength, Kurtosis, KylesLambda, LINEARREG_INTERCEPT, LadderBottom, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, LiquidationFeatures, LogReturn, LongLeggedDoji, LongLine, LongShortRatio, MACD, MACDEXT, MACDFIX, MAMA, MFI, MIDPOINT, MIDPRICE, MINUS_DI, MINUS_DM, MOM, MaEnvelope, MacdHistogram, MarketFacilitationIndex, Marubozu, MassIndex, MatHold, MatchingLow, MaxDrawdown, McClellanOscillator, McClellanSummationIndex, McGinleyDynamic, MedianAbsoluteDeviation, MedianMA, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, NewHighsNewLows, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, OrderFlowImbalance, OuHalfLife, OvernightGap, OvernightIntradayReturn, PGO, PLUS_DI, PLUS_DM, PMO, POLARIZED_FRACTAL_EFFICIENCY, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentAboveMa, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, PpoHistogram, ProfitFactor, QQE, Qstick, QuotedSpread, RMI, ROC, ROCP, ROCR, ROCR100, RSI, RSX, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RealizedVolatility, RecoveryFactor, RectangleRange, RegimeLabel, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollMeasure, RollingCorrelation, RollingCovariance, RollingIqr, RollingPercentileRank, RollingQuantile, RollingVWAP, RoofingFilter, SAREXT, SMA, SMI, SMMA, STC, SWMA, SeasonalZScore, SeparatingLines, SessionHighLow, SessionRange, SessionVwap, Shark, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, SpreadAr1Coefficient, SpreadBollingerBands, SpreadHurst, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, StochasticCCI, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TREND_STRENGTH_INDEX, TRIMA, TRIX, TSF, TSI, TSV, TTM_TREND, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeDrives, ThreeInside, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TickIndex, TimeOfDayReturnProfile, TpoProfile, TradeImbalance, TrendLabel, TreynorRatio, Triangle, Trin, TripleTopBottom, TrueRange, TsfOscillator, 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, Vpin, VwapStdDevBands, WAVE_PM, WMA, WaveTrend, Wedge, WeightedClose, WickRatio, WilliamsAD, WilliamsFractals, WilliamsR, WinRate, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
9
9
  } from "./wickra_wasm_bg.js";
package/wickra_wasm_bg.js CHANGED
@@ -11195,6 +11195,109 @@ export class Gartley {
11195
11195
  }
11196
11196
  if (Symbol.dispose) Gartley.prototype[Symbol.dispose] = Gartley.prototype.free;
11197
11197
 
11198
+ export class GatorOscillator {
11199
+ __destroy_into_raw() {
11200
+ const ptr = this.__wbg_ptr;
11201
+ this.__wbg_ptr = 0;
11202
+ GatorOscillatorFinalization.unregister(this);
11203
+ return ptr;
11204
+ }
11205
+ free() {
11206
+ const ptr = this.__destroy_into_raw();
11207
+ wasm.__wbg_gatoroscillator_free(ptr, 0);
11208
+ }
11209
+ /**
11210
+ * Returns `[upper0, lower0, upper1, lower1, ...]`, length `2 * n`.
11211
+ * @param {Float64Array} high
11212
+ * @param {Float64Array} low
11213
+ * @param {Float64Array} close
11214
+ * @returns {Float64Array}
11215
+ */
11216
+ batch(high, low, close) {
11217
+ try {
11218
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
11219
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
11220
+ const len0 = WASM_VECTOR_LEN;
11221
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
11222
+ const len1 = WASM_VECTOR_LEN;
11223
+ const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
11224
+ const len2 = WASM_VECTOR_LEN;
11225
+ wasm.gatoroscillator_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
11226
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
11227
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
11228
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
11229
+ if (r2) {
11230
+ throw takeObject(r1);
11231
+ }
11232
+ return takeObject(r0);
11233
+ } finally {
11234
+ wasm.__wbindgen_add_to_stack_pointer(16);
11235
+ }
11236
+ }
11237
+ /**
11238
+ * @returns {boolean}
11239
+ */
11240
+ isReady() {
11241
+ const ret = wasm.gatoroscillator_isReady(this.__wbg_ptr);
11242
+ return ret !== 0;
11243
+ }
11244
+ /**
11245
+ * @param {number} jaw_period
11246
+ * @param {number} teeth_period
11247
+ * @param {number} lips_period
11248
+ */
11249
+ constructor(jaw_period, teeth_period, lips_period) {
11250
+ try {
11251
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
11252
+ wasm.gatoroscillator_new(retptr, jaw_period, teeth_period, lips_period);
11253
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
11254
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
11255
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
11256
+ if (r2) {
11257
+ throw takeObject(r1);
11258
+ }
11259
+ this.__wbg_ptr = r0;
11260
+ GatorOscillatorFinalization.register(this, this.__wbg_ptr, this);
11261
+ return this;
11262
+ } finally {
11263
+ wasm.__wbindgen_add_to_stack_pointer(16);
11264
+ }
11265
+ }
11266
+ reset() {
11267
+ wasm.gatoroscillator_reset(this.__wbg_ptr);
11268
+ }
11269
+ /**
11270
+ * Streaming update. Returns `{ upper, lower }` once warm, else `null`.
11271
+ * @param {number} high
11272
+ * @param {number} low
11273
+ * @param {number} close
11274
+ * @returns {any}
11275
+ */
11276
+ update(high, low, close) {
11277
+ try {
11278
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
11279
+ wasm.gatoroscillator_update(retptr, this.__wbg_ptr, high, low, close);
11280
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
11281
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
11282
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
11283
+ if (r2) {
11284
+ throw takeObject(r1);
11285
+ }
11286
+ return takeObject(r0);
11287
+ } finally {
11288
+ wasm.__wbindgen_add_to_stack_pointer(16);
11289
+ }
11290
+ }
11291
+ /**
11292
+ * @returns {number}
11293
+ */
11294
+ warmupPeriod() {
11295
+ const ret = wasm.gatoroscillator_warmupPeriod(this.__wbg_ptr);
11296
+ return ret >>> 0;
11297
+ }
11298
+ }
11299
+ if (Symbol.dispose) GatorOscillator.prototype[Symbol.dispose] = GatorOscillator.prototype.free;
11300
+
11198
11301
  export class GoldenPocket {
11199
11302
  __destroy_into_raw() {
11200
11303
  const ptr = this.__wbg_ptr;
@@ -14741,6 +14844,108 @@ export class KalmanHedgeRatio {
14741
14844
  }
14742
14845
  if (Symbol.dispose) KalmanHedgeRatio.prototype[Symbol.dispose] = KalmanHedgeRatio.prototype.free;
14743
14846
 
14847
+ export class KasePermissionStochastic {
14848
+ __destroy_into_raw() {
14849
+ const ptr = this.__wbg_ptr;
14850
+ this.__wbg_ptr = 0;
14851
+ KasePermissionStochasticFinalization.unregister(this);
14852
+ return ptr;
14853
+ }
14854
+ free() {
14855
+ const ptr = this.__destroy_into_raw();
14856
+ wasm.__wbg_kasepermissionstochastic_free(ptr, 0);
14857
+ }
14858
+ /**
14859
+ * Returns `[fast0, slow0, fast1, slow1, ...]`, length `2 * n`.
14860
+ * @param {Float64Array} high
14861
+ * @param {Float64Array} low
14862
+ * @param {Float64Array} close
14863
+ * @returns {Float64Array}
14864
+ */
14865
+ batch(high, low, close) {
14866
+ try {
14867
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
14868
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
14869
+ const len0 = WASM_VECTOR_LEN;
14870
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
14871
+ const len1 = WASM_VECTOR_LEN;
14872
+ const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
14873
+ const len2 = WASM_VECTOR_LEN;
14874
+ wasm.kasepermissionstochastic_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
14875
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14876
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
14877
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
14878
+ if (r2) {
14879
+ throw takeObject(r1);
14880
+ }
14881
+ return takeObject(r0);
14882
+ } finally {
14883
+ wasm.__wbindgen_add_to_stack_pointer(16);
14884
+ }
14885
+ }
14886
+ /**
14887
+ * @returns {boolean}
14888
+ */
14889
+ isReady() {
14890
+ const ret = wasm.kasepermissionstochastic_isReady(this.__wbg_ptr);
14891
+ return ret !== 0;
14892
+ }
14893
+ /**
14894
+ * @param {number} length
14895
+ * @param {number} smooth
14896
+ */
14897
+ constructor(length, smooth) {
14898
+ try {
14899
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
14900
+ wasm.kasepermissionstochastic_new(retptr, length, smooth);
14901
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14902
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
14903
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
14904
+ if (r2) {
14905
+ throw takeObject(r1);
14906
+ }
14907
+ this.__wbg_ptr = r0;
14908
+ KasePermissionStochasticFinalization.register(this, this.__wbg_ptr, this);
14909
+ return this;
14910
+ } finally {
14911
+ wasm.__wbindgen_add_to_stack_pointer(16);
14912
+ }
14913
+ }
14914
+ reset() {
14915
+ wasm.kasepermissionstochastic_reset(this.__wbg_ptr);
14916
+ }
14917
+ /**
14918
+ * Streaming update. Returns `{ fast, slow }` once warm, else `null`.
14919
+ * @param {number} high
14920
+ * @param {number} low
14921
+ * @param {number} close
14922
+ * @returns {any}
14923
+ */
14924
+ update(high, low, close) {
14925
+ try {
14926
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
14927
+ wasm.kasepermissionstochastic_update(retptr, this.__wbg_ptr, high, low, close);
14928
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14929
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
14930
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
14931
+ if (r2) {
14932
+ throw takeObject(r1);
14933
+ }
14934
+ return takeObject(r0);
14935
+ } finally {
14936
+ wasm.__wbindgen_add_to_stack_pointer(16);
14937
+ }
14938
+ }
14939
+ /**
14940
+ * @returns {number}
14941
+ */
14942
+ warmupPeriod() {
14943
+ const ret = wasm.kasepermissionstochastic_warmupPeriod(this.__wbg_ptr);
14944
+ return ret >>> 0;
14945
+ }
14946
+ }
14947
+ if (Symbol.dispose) KasePermissionStochastic.prototype[Symbol.dispose] = KasePermissionStochastic.prototype.free;
14948
+
14744
14949
  export class KellyCriterion {
14745
14950
  __destroy_into_raw() {
14746
14951
  const ptr = this.__wbg_ptr;
@@ -17089,6 +17294,84 @@ export class MaEnvelope {
17089
17294
  }
17090
17295
  if (Symbol.dispose) MaEnvelope.prototype[Symbol.dispose] = MaEnvelope.prototype.free;
17091
17296
 
17297
+ export class MacdHistogram {
17298
+ __destroy_into_raw() {
17299
+ const ptr = this.__wbg_ptr;
17300
+ this.__wbg_ptr = 0;
17301
+ MacdHistogramFinalization.unregister(this);
17302
+ return ptr;
17303
+ }
17304
+ free() {
17305
+ const ptr = this.__destroy_into_raw();
17306
+ wasm.__wbg_macdhistogram_free(ptr, 0);
17307
+ }
17308
+ /**
17309
+ * @param {Float64Array} prices
17310
+ * @returns {Float64Array}
17311
+ */
17312
+ batch(prices) {
17313
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
17314
+ const len0 = WASM_VECTOR_LEN;
17315
+ const ret = wasm.macdhistogram_batch(this.__wbg_ptr, ptr0, len0);
17316
+ return takeObject(ret);
17317
+ }
17318
+ /**
17319
+ * @returns {boolean}
17320
+ */
17321
+ isReady() {
17322
+ const ret = wasm.macdhistogram_isReady(this.__wbg_ptr);
17323
+ return ret !== 0;
17324
+ }
17325
+ /**
17326
+ * @param {number} fast
17327
+ * @param {number} slow
17328
+ * @param {number} signal
17329
+ */
17330
+ constructor(fast, slow, signal) {
17331
+ try {
17332
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
17333
+ wasm.macdhistogram_new(retptr, fast, slow, signal);
17334
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
17335
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
17336
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
17337
+ if (r2) {
17338
+ throw takeObject(r1);
17339
+ }
17340
+ this.__wbg_ptr = r0;
17341
+ MacdHistogramFinalization.register(this, this.__wbg_ptr, this);
17342
+ return this;
17343
+ } finally {
17344
+ wasm.__wbindgen_add_to_stack_pointer(16);
17345
+ }
17346
+ }
17347
+ reset() {
17348
+ wasm.macdhistogram_reset(this.__wbg_ptr);
17349
+ }
17350
+ /**
17351
+ * @param {number} value
17352
+ * @returns {number | undefined}
17353
+ */
17354
+ update(value) {
17355
+ try {
17356
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
17357
+ wasm.macdhistogram_update(retptr, this.__wbg_ptr, value);
17358
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
17359
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
17360
+ return r0 === 0 ? undefined : r2;
17361
+ } finally {
17362
+ wasm.__wbindgen_add_to_stack_pointer(16);
17363
+ }
17364
+ }
17365
+ /**
17366
+ * @returns {number}
17367
+ */
17368
+ warmupPeriod() {
17369
+ const ret = wasm.macdhistogram_warmupPeriod(this.__wbg_ptr);
17370
+ return ret >>> 0;
17371
+ }
17372
+ }
17373
+ if (Symbol.dispose) MacdHistogram.prototype[Symbol.dispose] = MacdHistogram.prototype.free;
17374
+
17092
17375
  export class MarketFacilitationIndex {
17093
17376
  __destroy_into_raw() {
17094
17377
  const ptr = this.__wbg_ptr;
@@ -20006,16 +20289,16 @@ export class PMO {
20006
20289
  }
20007
20290
  if (Symbol.dispose) PMO.prototype[Symbol.dispose] = PMO.prototype.free;
20008
20291
 
20009
- export class PPO {
20292
+ export class POLARIZED_FRACTAL_EFFICIENCY {
20010
20293
  __destroy_into_raw() {
20011
20294
  const ptr = this.__wbg_ptr;
20012
20295
  this.__wbg_ptr = 0;
20013
- PPOFinalization.unregister(this);
20296
+ POLARIZED_FRACTAL_EFFICIENCYFinalization.unregister(this);
20014
20297
  return ptr;
20015
20298
  }
20016
20299
  free() {
20017
20300
  const ptr = this.__destroy_into_raw();
20018
- wasm.__wbg_ppo_free(ptr, 0);
20301
+ wasm.__wbg_polarized_fractal_efficiency_free(ptr, 0);
20019
20302
  }
20020
20303
  /**
20021
20304
  * @param {Float64Array} prices
@@ -20024,24 +20307,24 @@ export class PPO {
20024
20307
  batch(prices) {
20025
20308
  const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
20026
20309
  const len0 = WASM_VECTOR_LEN;
20027
- const ret = wasm.ppo_batch(this.__wbg_ptr, ptr0, len0);
20310
+ const ret = wasm.polarized_fractal_efficiency_batch(this.__wbg_ptr, ptr0, len0);
20028
20311
  return takeObject(ret);
20029
20312
  }
20030
20313
  /**
20031
20314
  * @returns {boolean}
20032
20315
  */
20033
20316
  isReady() {
20034
- const ret = wasm.ppo_isReady(this.__wbg_ptr);
20317
+ const ret = wasm.polarized_fractal_efficiency_isReady(this.__wbg_ptr);
20035
20318
  return ret !== 0;
20036
20319
  }
20037
20320
  /**
20038
- * @param {number} fast
20039
- * @param {number} slow
20321
+ * @param {number} period
20322
+ * @param {number} smoothing
20040
20323
  */
20041
- constructor(fast, slow) {
20324
+ constructor(period, smoothing) {
20042
20325
  try {
20043
20326
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20044
- wasm.ppo_new(retptr, fast, slow);
20327
+ wasm.polarized_fractal_efficiency_new(retptr, period, smoothing);
20045
20328
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20046
20329
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
20047
20330
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -20049,14 +20332,14 @@ export class PPO {
20049
20332
  throw takeObject(r1);
20050
20333
  }
20051
20334
  this.__wbg_ptr = r0;
20052
- PPOFinalization.register(this, this.__wbg_ptr, this);
20335
+ POLARIZED_FRACTAL_EFFICIENCYFinalization.register(this, this.__wbg_ptr, this);
20053
20336
  return this;
20054
20337
  } finally {
20055
20338
  wasm.__wbindgen_add_to_stack_pointer(16);
20056
20339
  }
20057
20340
  }
20058
20341
  reset() {
20059
- wasm.ppo_reset(this.__wbg_ptr);
20342
+ wasm.polarized_fractal_efficiency_reset(this.__wbg_ptr);
20060
20343
  }
20061
20344
  /**
20062
20345
  * @param {number} value
@@ -20065,7 +20348,7 @@ export class PPO {
20065
20348
  update(value) {
20066
20349
  try {
20067
20350
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20068
- wasm.ppo_update(retptr, this.__wbg_ptr, value);
20351
+ wasm.polarized_fractal_efficiency_update(retptr, this.__wbg_ptr, value);
20069
20352
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20070
20353
  var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
20071
20354
  return r0 === 0 ? undefined : r2;
@@ -20077,13 +20360,90 @@ export class PPO {
20077
20360
  * @returns {number}
20078
20361
  */
20079
20362
  warmupPeriod() {
20080
- const ret = wasm.ppo_warmupPeriod(this.__wbg_ptr);
20363
+ const ret = wasm.polarized_fractal_efficiency_warmupPeriod(this.__wbg_ptr);
20081
20364
  return ret >>> 0;
20082
20365
  }
20083
20366
  }
20084
- if (Symbol.dispose) PPO.prototype[Symbol.dispose] = PPO.prototype.free;
20367
+ if (Symbol.dispose) POLARIZED_FRACTAL_EFFICIENCY.prototype[Symbol.dispose] = POLARIZED_FRACTAL_EFFICIENCY.prototype.free;
20085
20368
 
20086
- export class PSAR {
20369
+ export class PPO {
20370
+ __destroy_into_raw() {
20371
+ const ptr = this.__wbg_ptr;
20372
+ this.__wbg_ptr = 0;
20373
+ PPOFinalization.unregister(this);
20374
+ return ptr;
20375
+ }
20376
+ free() {
20377
+ const ptr = this.__destroy_into_raw();
20378
+ wasm.__wbg_ppo_free(ptr, 0);
20379
+ }
20380
+ /**
20381
+ * @param {Float64Array} prices
20382
+ * @returns {Float64Array}
20383
+ */
20384
+ batch(prices) {
20385
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
20386
+ const len0 = WASM_VECTOR_LEN;
20387
+ const ret = wasm.ppo_batch(this.__wbg_ptr, ptr0, len0);
20388
+ return takeObject(ret);
20389
+ }
20390
+ /**
20391
+ * @returns {boolean}
20392
+ */
20393
+ isReady() {
20394
+ const ret = wasm.ppo_isReady(this.__wbg_ptr);
20395
+ return ret !== 0;
20396
+ }
20397
+ /**
20398
+ * @param {number} fast
20399
+ * @param {number} slow
20400
+ */
20401
+ constructor(fast, slow) {
20402
+ try {
20403
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20404
+ wasm.ppo_new(retptr, fast, slow);
20405
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20406
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
20407
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
20408
+ if (r2) {
20409
+ throw takeObject(r1);
20410
+ }
20411
+ this.__wbg_ptr = r0;
20412
+ PPOFinalization.register(this, this.__wbg_ptr, this);
20413
+ return this;
20414
+ } finally {
20415
+ wasm.__wbindgen_add_to_stack_pointer(16);
20416
+ }
20417
+ }
20418
+ reset() {
20419
+ wasm.ppo_reset(this.__wbg_ptr);
20420
+ }
20421
+ /**
20422
+ * @param {number} value
20423
+ * @returns {number | undefined}
20424
+ */
20425
+ update(value) {
20426
+ try {
20427
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20428
+ wasm.ppo_update(retptr, this.__wbg_ptr, value);
20429
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20430
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
20431
+ return r0 === 0 ? undefined : r2;
20432
+ } finally {
20433
+ wasm.__wbindgen_add_to_stack_pointer(16);
20434
+ }
20435
+ }
20436
+ /**
20437
+ * @returns {number}
20438
+ */
20439
+ warmupPeriod() {
20440
+ const ret = wasm.ppo_warmupPeriod(this.__wbg_ptr);
20441
+ return ret >>> 0;
20442
+ }
20443
+ }
20444
+ if (Symbol.dispose) PPO.prototype[Symbol.dispose] = PPO.prototype.free;
20445
+
20446
+ export class PSAR {
20087
20447
  __destroy_into_raw() {
20088
20448
  const ptr = this.__wbg_ptr;
20089
20449
  this.__wbg_ptr = 0;
@@ -21102,6 +21462,84 @@ export class PointAndFigureBars {
21102
21462
  }
21103
21463
  if (Symbol.dispose) PointAndFigureBars.prototype[Symbol.dispose] = PointAndFigureBars.prototype.free;
21104
21464
 
21465
+ export class PpoHistogram {
21466
+ __destroy_into_raw() {
21467
+ const ptr = this.__wbg_ptr;
21468
+ this.__wbg_ptr = 0;
21469
+ PpoHistogramFinalization.unregister(this);
21470
+ return ptr;
21471
+ }
21472
+ free() {
21473
+ const ptr = this.__destroy_into_raw();
21474
+ wasm.__wbg_ppohistogram_free(ptr, 0);
21475
+ }
21476
+ /**
21477
+ * @param {Float64Array} prices
21478
+ * @returns {Float64Array}
21479
+ */
21480
+ batch(prices) {
21481
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
21482
+ const len0 = WASM_VECTOR_LEN;
21483
+ const ret = wasm.ppohistogram_batch(this.__wbg_ptr, ptr0, len0);
21484
+ return takeObject(ret);
21485
+ }
21486
+ /**
21487
+ * @returns {boolean}
21488
+ */
21489
+ isReady() {
21490
+ const ret = wasm.ppohistogram_isReady(this.__wbg_ptr);
21491
+ return ret !== 0;
21492
+ }
21493
+ /**
21494
+ * @param {number} fast
21495
+ * @param {number} slow
21496
+ * @param {number} signal
21497
+ */
21498
+ constructor(fast, slow, signal) {
21499
+ try {
21500
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
21501
+ wasm.ppohistogram_new(retptr, fast, slow, signal);
21502
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21503
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
21504
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
21505
+ if (r2) {
21506
+ throw takeObject(r1);
21507
+ }
21508
+ this.__wbg_ptr = r0;
21509
+ PpoHistogramFinalization.register(this, this.__wbg_ptr, this);
21510
+ return this;
21511
+ } finally {
21512
+ wasm.__wbindgen_add_to_stack_pointer(16);
21513
+ }
21514
+ }
21515
+ reset() {
21516
+ wasm.ppohistogram_reset(this.__wbg_ptr);
21517
+ }
21518
+ /**
21519
+ * @param {number} value
21520
+ * @returns {number | undefined}
21521
+ */
21522
+ update(value) {
21523
+ try {
21524
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
21525
+ wasm.ppohistogram_update(retptr, this.__wbg_ptr, value);
21526
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21527
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
21528
+ return r0 === 0 ? undefined : r2;
21529
+ } finally {
21530
+ wasm.__wbindgen_add_to_stack_pointer(16);
21531
+ }
21532
+ }
21533
+ /**
21534
+ * @returns {number}
21535
+ */
21536
+ warmupPeriod() {
21537
+ const ret = wasm.ppohistogram_warmupPeriod(this.__wbg_ptr);
21538
+ return ret >>> 0;
21539
+ }
21540
+ }
21541
+ if (Symbol.dispose) PpoHistogram.prototype[Symbol.dispose] = PpoHistogram.prototype.free;
21542
+
21105
21543
  export class ProfitFactor {
21106
21544
  __destroy_into_raw() {
21107
21545
  const ptr = this.__wbg_ptr;
@@ -21251,6 +21689,104 @@ export class QQE {
21251
21689
  }
21252
21690
  if (Symbol.dispose) QQE.prototype[Symbol.dispose] = QQE.prototype.free;
21253
21691
 
21692
+ export class Qstick {
21693
+ __destroy_into_raw() {
21694
+ const ptr = this.__wbg_ptr;
21695
+ this.__wbg_ptr = 0;
21696
+ QstickFinalization.unregister(this);
21697
+ return ptr;
21698
+ }
21699
+ free() {
21700
+ const ptr = this.__destroy_into_raw();
21701
+ wasm.__wbg_qstick_free(ptr, 0);
21702
+ }
21703
+ /**
21704
+ * Batch over open/close arrays; `NaN` during warmup.
21705
+ * @param {Float64Array} open
21706
+ * @param {Float64Array} close
21707
+ * @returns {Float64Array}
21708
+ */
21709
+ batch(open, close) {
21710
+ try {
21711
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
21712
+ const ptr0 = passArrayF64ToWasm0(open, wasm.__wbindgen_export3);
21713
+ const len0 = WASM_VECTOR_LEN;
21714
+ const ptr1 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
21715
+ const len1 = WASM_VECTOR_LEN;
21716
+ wasm.qstick_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
21717
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21718
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
21719
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
21720
+ if (r2) {
21721
+ throw takeObject(r1);
21722
+ }
21723
+ return takeObject(r0);
21724
+ } finally {
21725
+ wasm.__wbindgen_add_to_stack_pointer(16);
21726
+ }
21727
+ }
21728
+ /**
21729
+ * @returns {boolean}
21730
+ */
21731
+ isReady() {
21732
+ const ret = wasm.qstick_isReady(this.__wbg_ptr);
21733
+ return ret !== 0;
21734
+ }
21735
+ /**
21736
+ * @param {number} period
21737
+ */
21738
+ constructor(period) {
21739
+ try {
21740
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
21741
+ wasm.qstick_new(retptr, period);
21742
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21743
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
21744
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
21745
+ if (r2) {
21746
+ throw takeObject(r1);
21747
+ }
21748
+ this.__wbg_ptr = r0;
21749
+ QstickFinalization.register(this, this.__wbg_ptr, this);
21750
+ return this;
21751
+ } finally {
21752
+ wasm.__wbindgen_add_to_stack_pointer(16);
21753
+ }
21754
+ }
21755
+ reset() {
21756
+ wasm.qstick_reset(this.__wbg_ptr);
21757
+ }
21758
+ /**
21759
+ * Streaming update over one candle's open and close.
21760
+ * @param {number} open
21761
+ * @param {number} close
21762
+ * @returns {number | undefined}
21763
+ */
21764
+ update(open, close) {
21765
+ try {
21766
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
21767
+ wasm.qstick_update(retptr, this.__wbg_ptr, open, close);
21768
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21769
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
21770
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
21771
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
21772
+ if (r5) {
21773
+ throw takeObject(r4);
21774
+ }
21775
+ return r0 === 0 ? undefined : r2;
21776
+ } finally {
21777
+ wasm.__wbindgen_add_to_stack_pointer(32);
21778
+ }
21779
+ }
21780
+ /**
21781
+ * @returns {number}
21782
+ */
21783
+ warmupPeriod() {
21784
+ const ret = wasm.qstick_warmupPeriod(this.__wbg_ptr);
21785
+ return ret >>> 0;
21786
+ }
21787
+ }
21788
+ if (Symbol.dispose) Qstick.prototype[Symbol.dispose] = Qstick.prototype.free;
21789
+
21254
21790
  export class QuotedSpread {
21255
21791
  __destroy_into_raw() {
21256
21792
  const ptr = this.__wbg_ptr;
@@ -28126,6 +28662,82 @@ export class TII {
28126
28662
  }
28127
28663
  if (Symbol.dispose) TII.prototype[Symbol.dispose] = TII.prototype.free;
28128
28664
 
28665
+ export class TREND_STRENGTH_INDEX {
28666
+ __destroy_into_raw() {
28667
+ const ptr = this.__wbg_ptr;
28668
+ this.__wbg_ptr = 0;
28669
+ TREND_STRENGTH_INDEXFinalization.unregister(this);
28670
+ return ptr;
28671
+ }
28672
+ free() {
28673
+ const ptr = this.__destroy_into_raw();
28674
+ wasm.__wbg_trend_strength_index_free(ptr, 0);
28675
+ }
28676
+ /**
28677
+ * @param {Float64Array} prices
28678
+ * @returns {Float64Array}
28679
+ */
28680
+ batch(prices) {
28681
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
28682
+ const len0 = WASM_VECTOR_LEN;
28683
+ const ret = wasm.trend_strength_index_batch(this.__wbg_ptr, ptr0, len0);
28684
+ return takeObject(ret);
28685
+ }
28686
+ /**
28687
+ * @returns {boolean}
28688
+ */
28689
+ isReady() {
28690
+ const ret = wasm.trend_strength_index_isReady(this.__wbg_ptr);
28691
+ return ret !== 0;
28692
+ }
28693
+ /**
28694
+ * @param {number} period
28695
+ */
28696
+ constructor(period) {
28697
+ try {
28698
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
28699
+ wasm.trend_strength_index_new(retptr, period);
28700
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
28701
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
28702
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
28703
+ if (r2) {
28704
+ throw takeObject(r1);
28705
+ }
28706
+ this.__wbg_ptr = r0;
28707
+ TREND_STRENGTH_INDEXFinalization.register(this, this.__wbg_ptr, this);
28708
+ return this;
28709
+ } finally {
28710
+ wasm.__wbindgen_add_to_stack_pointer(16);
28711
+ }
28712
+ }
28713
+ reset() {
28714
+ wasm.trend_strength_index_reset(this.__wbg_ptr);
28715
+ }
28716
+ /**
28717
+ * @param {number} value
28718
+ * @returns {number | undefined}
28719
+ */
28720
+ update(value) {
28721
+ try {
28722
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
28723
+ wasm.trend_strength_index_update(retptr, this.__wbg_ptr, value);
28724
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
28725
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
28726
+ return r0 === 0 ? undefined : r2;
28727
+ } finally {
28728
+ wasm.__wbindgen_add_to_stack_pointer(16);
28729
+ }
28730
+ }
28731
+ /**
28732
+ * @returns {number}
28733
+ */
28734
+ warmupPeriod() {
28735
+ const ret = wasm.trend_strength_index_warmupPeriod(this.__wbg_ptr);
28736
+ return ret >>> 0;
28737
+ }
28738
+ }
28739
+ if (Symbol.dispose) TREND_STRENGTH_INDEX.prototype[Symbol.dispose] = TREND_STRENGTH_INDEX.prototype.free;
28740
+
28129
28741
  export class TRIMA {
28130
28742
  __destroy_into_raw() {
28131
28743
  const ptr = this.__wbg_ptr;
@@ -28513,6 +29125,92 @@ export class TSV {
28513
29125
  }
28514
29126
  if (Symbol.dispose) TSV.prototype[Symbol.dispose] = TSV.prototype.free;
28515
29127
 
29128
+ export class TTM_TREND {
29129
+ __destroy_into_raw() {
29130
+ const ptr = this.__wbg_ptr;
29131
+ this.__wbg_ptr = 0;
29132
+ TTM_TRENDFinalization.unregister(this);
29133
+ return ptr;
29134
+ }
29135
+ free() {
29136
+ const ptr = this.__destroy_into_raw();
29137
+ wasm.__wbg_ttm_trend_free(ptr, 0);
29138
+ }
29139
+ /**
29140
+ * @param {Float64Array} high
29141
+ * @param {Float64Array} low
29142
+ * @param {Float64Array} close
29143
+ * @returns {Float64Array}
29144
+ */
29145
+ batch(high, low, close) {
29146
+ try {
29147
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
29148
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
29149
+ const len0 = WASM_VECTOR_LEN;
29150
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
29151
+ const len1 = WASM_VECTOR_LEN;
29152
+ const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
29153
+ const len2 = WASM_VECTOR_LEN;
29154
+ wasm.ttm_trend_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
29155
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
29156
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
29157
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
29158
+ if (r2) {
29159
+ throw takeObject(r1);
29160
+ }
29161
+ return takeObject(r0);
29162
+ } finally {
29163
+ wasm.__wbindgen_add_to_stack_pointer(16);
29164
+ }
29165
+ }
29166
+ /**
29167
+ * @param {number} period
29168
+ */
29169
+ constructor(period) {
29170
+ try {
29171
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
29172
+ wasm.ttm_trend_new(retptr, period);
29173
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
29174
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
29175
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
29176
+ if (r2) {
29177
+ throw takeObject(r1);
29178
+ }
29179
+ this.__wbg_ptr = r0;
29180
+ TTM_TRENDFinalization.register(this, this.__wbg_ptr, this);
29181
+ return this;
29182
+ } finally {
29183
+ wasm.__wbindgen_add_to_stack_pointer(16);
29184
+ }
29185
+ }
29186
+ reset() {
29187
+ wasm.ttm_trend_reset(this.__wbg_ptr);
29188
+ }
29189
+ /**
29190
+ * @param {number} high
29191
+ * @param {number} low
29192
+ * @param {number} close
29193
+ * @returns {number | undefined}
29194
+ */
29195
+ update(high, low, close) {
29196
+ try {
29197
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
29198
+ wasm.ttm_trend_update(retptr, this.__wbg_ptr, high, low, close);
29199
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
29200
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
29201
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
29202
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
29203
+ if (r5) {
29204
+ throw takeObject(r4);
29205
+ }
29206
+ return r0 === 0 ? undefined : r2;
29207
+ } finally {
29208
+ wasm.__wbindgen_add_to_stack_pointer(32);
29209
+ }
29210
+ }
29211
+ }
29212
+ if (Symbol.dispose) TTM_TREND.prototype[Symbol.dispose] = TTM_TREND.prototype.free;
29213
+
28516
29214
  export class TakerBuySellRatio {
28517
29215
  __destroy_into_raw() {
28518
29216
  const ptr = this.__wbg_ptr;
@@ -30248,6 +30946,82 @@ export class TrueRange {
30248
30946
  }
30249
30947
  if (Symbol.dispose) TrueRange.prototype[Symbol.dispose] = TrueRange.prototype.free;
30250
30948
 
30949
+ export class TsfOscillator {
30950
+ __destroy_into_raw() {
30951
+ const ptr = this.__wbg_ptr;
30952
+ this.__wbg_ptr = 0;
30953
+ TsfOscillatorFinalization.unregister(this);
30954
+ return ptr;
30955
+ }
30956
+ free() {
30957
+ const ptr = this.__destroy_into_raw();
30958
+ wasm.__wbg_tsfoscillator_free(ptr, 0);
30959
+ }
30960
+ /**
30961
+ * @param {Float64Array} prices
30962
+ * @returns {Float64Array}
30963
+ */
30964
+ batch(prices) {
30965
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
30966
+ const len0 = WASM_VECTOR_LEN;
30967
+ const ret = wasm.tsfoscillator_batch(this.__wbg_ptr, ptr0, len0);
30968
+ return takeObject(ret);
30969
+ }
30970
+ /**
30971
+ * @returns {boolean}
30972
+ */
30973
+ isReady() {
30974
+ const ret = wasm.tsfoscillator_isReady(this.__wbg_ptr);
30975
+ return ret !== 0;
30976
+ }
30977
+ /**
30978
+ * @param {number} period
30979
+ */
30980
+ constructor(period) {
30981
+ try {
30982
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
30983
+ wasm.tsfoscillator_new(retptr, period);
30984
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
30985
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
30986
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
30987
+ if (r2) {
30988
+ throw takeObject(r1);
30989
+ }
30990
+ this.__wbg_ptr = r0;
30991
+ TsfOscillatorFinalization.register(this, this.__wbg_ptr, this);
30992
+ return this;
30993
+ } finally {
30994
+ wasm.__wbindgen_add_to_stack_pointer(16);
30995
+ }
30996
+ }
30997
+ reset() {
30998
+ wasm.tsfoscillator_reset(this.__wbg_ptr);
30999
+ }
31000
+ /**
31001
+ * @param {number} value
31002
+ * @returns {number | undefined}
31003
+ */
31004
+ update(value) {
31005
+ try {
31006
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
31007
+ wasm.tsfoscillator_update(retptr, this.__wbg_ptr, value);
31008
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
31009
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
31010
+ return r0 === 0 ? undefined : r2;
31011
+ } finally {
31012
+ wasm.__wbindgen_add_to_stack_pointer(16);
31013
+ }
31014
+ }
31015
+ /**
31016
+ * @returns {number}
31017
+ */
31018
+ warmupPeriod() {
31019
+ const ret = wasm.tsfoscillator_warmupPeriod(this.__wbg_ptr);
31020
+ return ret >>> 0;
31021
+ }
31022
+ }
31023
+ if (Symbol.dispose) TsfOscillator.prototype[Symbol.dispose] = TsfOscillator.prototype.free;
31024
+
30251
31025
  export class TtmSqueeze {
30252
31026
  __destroy_into_raw() {
30253
31027
  const ptr = this.__wbg_ptr;
@@ -32620,6 +33394,83 @@ export class VwapStdDevBands {
32620
33394
  }
32621
33395
  if (Symbol.dispose) VwapStdDevBands.prototype[Symbol.dispose] = VwapStdDevBands.prototype.free;
32622
33396
 
33397
+ export class WAVE_PM {
33398
+ __destroy_into_raw() {
33399
+ const ptr = this.__wbg_ptr;
33400
+ this.__wbg_ptr = 0;
33401
+ WAVE_PMFinalization.unregister(this);
33402
+ return ptr;
33403
+ }
33404
+ free() {
33405
+ const ptr = this.__destroy_into_raw();
33406
+ wasm.__wbg_wave_pm_free(ptr, 0);
33407
+ }
33408
+ /**
33409
+ * @param {Float64Array} prices
33410
+ * @returns {Float64Array}
33411
+ */
33412
+ batch(prices) {
33413
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
33414
+ const len0 = WASM_VECTOR_LEN;
33415
+ const ret = wasm.wave_pm_batch(this.__wbg_ptr, ptr0, len0);
33416
+ return takeObject(ret);
33417
+ }
33418
+ /**
33419
+ * @returns {boolean}
33420
+ */
33421
+ isReady() {
33422
+ const ret = wasm.wave_pm_isReady(this.__wbg_ptr);
33423
+ return ret !== 0;
33424
+ }
33425
+ /**
33426
+ * @param {number} length
33427
+ * @param {number} smoothing
33428
+ */
33429
+ constructor(length, smoothing) {
33430
+ try {
33431
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
33432
+ wasm.wave_pm_new(retptr, length, smoothing);
33433
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
33434
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
33435
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
33436
+ if (r2) {
33437
+ throw takeObject(r1);
33438
+ }
33439
+ this.__wbg_ptr = r0;
33440
+ WAVE_PMFinalization.register(this, this.__wbg_ptr, this);
33441
+ return this;
33442
+ } finally {
33443
+ wasm.__wbindgen_add_to_stack_pointer(16);
33444
+ }
33445
+ }
33446
+ reset() {
33447
+ wasm.wave_pm_reset(this.__wbg_ptr);
33448
+ }
33449
+ /**
33450
+ * @param {number} value
33451
+ * @returns {number | undefined}
33452
+ */
33453
+ update(value) {
33454
+ try {
33455
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
33456
+ wasm.wave_pm_update(retptr, this.__wbg_ptr, value);
33457
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
33458
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
33459
+ return r0 === 0 ? undefined : r2;
33460
+ } finally {
33461
+ wasm.__wbindgen_add_to_stack_pointer(16);
33462
+ }
33463
+ }
33464
+ /**
33465
+ * @returns {number}
33466
+ */
33467
+ warmupPeriod() {
33468
+ const ret = wasm.wave_pm_warmupPeriod(this.__wbg_ptr);
33469
+ return ret >>> 0;
33470
+ }
33471
+ }
33472
+ if (Symbol.dispose) WAVE_PM.prototype[Symbol.dispose] = WAVE_PM.prototype.free;
33473
+
32623
33474
  export class WMA {
32624
33475
  __destroy_into_raw() {
32625
33476
  const ptr = this.__wbg_ptr;
@@ -34485,6 +35336,9 @@ const GarmanKlassVolatilityFinalization = (typeof FinalizationRegistry === 'unde
34485
35336
  const GartleyFinalization = (typeof FinalizationRegistry === 'undefined')
34486
35337
  ? { register: () => {}, unregister: () => {} }
34487
35338
  : new FinalizationRegistry(ptr => wasm.__wbg_gartley_free(ptr, 1));
35339
+ const GatorOscillatorFinalization = (typeof FinalizationRegistry === 'undefined')
35340
+ ? { register: () => {}, unregister: () => {} }
35341
+ : new FinalizationRegistry(ptr => wasm.__wbg_gatoroscillator_free(ptr, 1));
34488
35342
  const GDFinalization = (typeof FinalizationRegistry === 'undefined')
34489
35343
  ? { register: () => {}, unregister: () => {} }
34490
35344
  : new FinalizationRegistry(ptr => wasm.__wbg_gd_free(ptr, 1));
@@ -34611,6 +35465,9 @@ const KalmanHedgeRatioFinalization = (typeof FinalizationRegistry === 'undefined
34611
35465
  const KAMAFinalization = (typeof FinalizationRegistry === 'undefined')
34612
35466
  ? { register: () => {}, unregister: () => {} }
34613
35467
  : new FinalizationRegistry(ptr => wasm.__wbg_kama_free(ptr, 1));
35468
+ const KasePermissionStochasticFinalization = (typeof FinalizationRegistry === 'undefined')
35469
+ ? { register: () => {}, unregister: () => {} }
35470
+ : new FinalizationRegistry(ptr => wasm.__wbg_kasepermissionstochastic_free(ptr, 1));
34614
35471
  const KellyCriterionFinalization = (typeof FinalizationRegistry === 'undefined')
34615
35472
  ? { register: () => {}, unregister: () => {} }
34616
35473
  : new FinalizationRegistry(ptr => wasm.__wbg_kellycriterion_free(ptr, 1));
@@ -34686,6 +35543,9 @@ const MACDEXTFinalization = (typeof FinalizationRegistry === 'undefined')
34686
35543
  const MACDFIXFinalization = (typeof FinalizationRegistry === 'undefined')
34687
35544
  ? { register: () => {}, unregister: () => {} }
34688
35545
  : new FinalizationRegistry(ptr => wasm.__wbg_macdfix_free(ptr, 1));
35546
+ const MacdHistogramFinalization = (typeof FinalizationRegistry === 'undefined')
35547
+ ? { register: () => {}, unregister: () => {} }
35548
+ : new FinalizationRegistry(ptr => wasm.__wbg_macdhistogram_free(ptr, 1));
34689
35549
  const MAMAFinalization = (typeof FinalizationRegistry === 'undefined')
34690
35550
  ? { register: () => {}, unregister: () => {} }
34691
35551
  : new FinalizationRegistry(ptr => wasm.__wbg_mama_free(ptr, 1));
@@ -34848,9 +35708,15 @@ const PMOFinalization = (typeof FinalizationRegistry === 'undefined')
34848
35708
  const PointAndFigureBarsFinalization = (typeof FinalizationRegistry === 'undefined')
34849
35709
  ? { register: () => {}, unregister: () => {} }
34850
35710
  : new FinalizationRegistry(ptr => wasm.__wbg_pointandfigurebars_free(ptr, 1));
35711
+ const POLARIZED_FRACTAL_EFFICIENCYFinalization = (typeof FinalizationRegistry === 'undefined')
35712
+ ? { register: () => {}, unregister: () => {} }
35713
+ : new FinalizationRegistry(ptr => wasm.__wbg_polarized_fractal_efficiency_free(ptr, 1));
34851
35714
  const PPOFinalization = (typeof FinalizationRegistry === 'undefined')
34852
35715
  ? { register: () => {}, unregister: () => {} }
34853
35716
  : new FinalizationRegistry(ptr => wasm.__wbg_ppo_free(ptr, 1));
35717
+ const PpoHistogramFinalization = (typeof FinalizationRegistry === 'undefined')
35718
+ ? { register: () => {}, unregister: () => {} }
35719
+ : new FinalizationRegistry(ptr => wasm.__wbg_ppohistogram_free(ptr, 1));
34854
35720
  const ProfitFactorFinalization = (typeof FinalizationRegistry === 'undefined')
34855
35721
  ? { register: () => {}, unregister: () => {} }
34856
35722
  : new FinalizationRegistry(ptr => wasm.__wbg_profitfactor_free(ptr, 1));
@@ -34863,6 +35729,9 @@ const PVIFinalization = (typeof FinalizationRegistry === 'undefined')
34863
35729
  const QQEFinalization = (typeof FinalizationRegistry === 'undefined')
34864
35730
  ? { register: () => {}, unregister: () => {} }
34865
35731
  : new FinalizationRegistry(ptr => wasm.__wbg_qqe_free(ptr, 1));
35732
+ const QstickFinalization = (typeof FinalizationRegistry === 'undefined')
35733
+ ? { register: () => {}, unregister: () => {} }
35734
+ : new FinalizationRegistry(ptr => wasm.__wbg_qstick_free(ptr, 1));
34866
35735
  const QuotedSpreadFinalization = (typeof FinalizationRegistry === 'undefined')
34867
35736
  ? { register: () => {}, unregister: () => {} }
34868
35737
  : new FinalizationRegistry(ptr => wasm.__wbg_quotedspread_free(ptr, 1));
@@ -35157,6 +36026,9 @@ const TradeImbalanceFinalization = (typeof FinalizationRegistry === 'undefined')
35157
36026
  const TrendLabelFinalization = (typeof FinalizationRegistry === 'undefined')
35158
36027
  ? { register: () => {}, unregister: () => {} }
35159
36028
  : new FinalizationRegistry(ptr => wasm.__wbg_trendlabel_free(ptr, 1));
36029
+ const TREND_STRENGTH_INDEXFinalization = (typeof FinalizationRegistry === 'undefined')
36030
+ ? { register: () => {}, unregister: () => {} }
36031
+ : new FinalizationRegistry(ptr => wasm.__wbg_trend_strength_index_free(ptr, 1));
35160
36032
  const TreynorRatioFinalization = (typeof FinalizationRegistry === 'undefined')
35161
36033
  ? { register: () => {}, unregister: () => {} }
35162
36034
  : new FinalizationRegistry(ptr => wasm.__wbg_treynorratio_free(ptr, 1));
@@ -35181,6 +36053,9 @@ const TrueRangeFinalization = (typeof FinalizationRegistry === 'undefined')
35181
36053
  const TSFFinalization = (typeof FinalizationRegistry === 'undefined')
35182
36054
  ? { register: () => {}, unregister: () => {} }
35183
36055
  : new FinalizationRegistry(ptr => wasm.__wbg_tsf_free(ptr, 1));
36056
+ const TsfOscillatorFinalization = (typeof FinalizationRegistry === 'undefined')
36057
+ ? { register: () => {}, unregister: () => {} }
36058
+ : new FinalizationRegistry(ptr => wasm.__wbg_tsfoscillator_free(ptr, 1));
35184
36059
  const TSIFinalization = (typeof FinalizationRegistry === 'undefined')
35185
36060
  ? { register: () => {}, unregister: () => {} }
35186
36061
  : new FinalizationRegistry(ptr => wasm.__wbg_tsi_free(ptr, 1));
@@ -35190,6 +36065,9 @@ const TSVFinalization = (typeof FinalizationRegistry === 'undefined')
35190
36065
  const TtmSqueezeFinalization = (typeof FinalizationRegistry === 'undefined')
35191
36066
  ? { register: () => {}, unregister: () => {} }
35192
36067
  : new FinalizationRegistry(ptr => wasm.__wbg_ttmsqueeze_free(ptr, 1));
36068
+ const TTM_TRENDFinalization = (typeof FinalizationRegistry === 'undefined')
36069
+ ? { register: () => {}, unregister: () => {} }
36070
+ : new FinalizationRegistry(ptr => wasm.__wbg_ttm_trend_free(ptr, 1));
35193
36071
  const TurnOfMonthFinalization = (typeof FinalizationRegistry === 'undefined')
35194
36072
  ? { register: () => {}, unregister: () => {} }
35195
36073
  : new FinalizationRegistry(ptr => wasm.__wbg_turnofmonth_free(ptr, 1));
@@ -35271,6 +36149,9 @@ const VWMAFinalization = (typeof FinalizationRegistry === 'undefined')
35271
36149
  const VZOFinalization = (typeof FinalizationRegistry === 'undefined')
35272
36150
  ? { register: () => {}, unregister: () => {} }
35273
36151
  : new FinalizationRegistry(ptr => wasm.__wbg_vzo_free(ptr, 1));
36152
+ const WAVE_PMFinalization = (typeof FinalizationRegistry === 'undefined')
36153
+ ? { register: () => {}, unregister: () => {} }
36154
+ : new FinalizationRegistry(ptr => wasm.__wbg_wave_pm_free(ptr, 1));
35274
36155
  const WaveTrendFinalization = (typeof FinalizationRegistry === 'undefined')
35275
36156
  ? { register: () => {}, unregister: () => {} }
35276
36157
  : new FinalizationRegistry(ptr => wasm.__wbg_wavetrend_free(ptr, 1));
Binary file