wickra-wasm 0.5.6 → 0.5.7

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=420" 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 420 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
+ 420 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,7 +145,7 @@ 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 |
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
149
  | Price Oscillators | PPO, DPO, Coppock, Accelerator Oscillator, Balance of Power, APO, AO Histogram, CFO, Zero-Lag MACD, Elder Impulse, STC |
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 |
@@ -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 420 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.7",
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;
@@ -2756,6 +2790,17 @@ export class PMO {
2756
2790
  warmupPeriod(): number;
2757
2791
  }
2758
2792
 
2793
+ export class POLARIZED_FRACTAL_EFFICIENCY {
2794
+ free(): void;
2795
+ [Symbol.dispose](): void;
2796
+ batch(prices: Float64Array): Float64Array;
2797
+ isReady(): boolean;
2798
+ constructor(period: number, smoothing: number);
2799
+ reset(): void;
2800
+ update(value: number): number | undefined;
2801
+ warmupPeriod(): number;
2802
+ }
2803
+
2759
2804
  export class PPO {
2760
2805
  free(): void;
2761
2806
  [Symbol.dispose](): void;
@@ -2937,6 +2982,23 @@ export class QQE {
2937
2982
  warmupPeriod(): number;
2938
2983
  }
2939
2984
 
2985
+ export class Qstick {
2986
+ free(): void;
2987
+ [Symbol.dispose](): void;
2988
+ /**
2989
+ * Batch over open/close arrays; `NaN` during warmup.
2990
+ */
2991
+ batch(open: Float64Array, close: Float64Array): Float64Array;
2992
+ isReady(): boolean;
2993
+ constructor(period: number);
2994
+ reset(): void;
2995
+ /**
2996
+ * Streaming update over one candle's open and close.
2997
+ */
2998
+ update(open: number, close: number): number | undefined;
2999
+ warmupPeriod(): number;
3000
+ }
3001
+
2940
3002
  export class QuotedSpread {
2941
3003
  free(): void;
2942
3004
  [Symbol.dispose](): void;
@@ -3900,6 +3962,17 @@ export class TII {
3900
3962
  warmupPeriod(): number;
3901
3963
  }
3902
3964
 
3965
+ export class TREND_STRENGTH_INDEX {
3966
+ free(): void;
3967
+ [Symbol.dispose](): void;
3968
+ batch(prices: Float64Array): Float64Array;
3969
+ isReady(): boolean;
3970
+ constructor(period: number);
3971
+ reset(): void;
3972
+ update(value: number): number | undefined;
3973
+ warmupPeriod(): number;
3974
+ }
3975
+
3903
3976
  export class TRIMA {
3904
3977
  free(): void;
3905
3978
  [Symbol.dispose](): void;
@@ -3953,6 +4026,15 @@ export class TSV {
3953
4026
  update(close: number, volume: number): number | undefined;
3954
4027
  }
3955
4028
 
4029
+ export class TTM_TREND {
4030
+ free(): void;
4031
+ [Symbol.dispose](): void;
4032
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
4033
+ constructor(period: number);
4034
+ reset(): void;
4035
+ update(high: number, low: number, close: number): number | undefined;
4036
+ }
4037
+
3956
4038
  export class TakerBuySellRatio {
3957
4039
  free(): void;
3958
4040
  [Symbol.dispose](): void;
@@ -4488,6 +4570,17 @@ export class VwapStdDevBands {
4488
4570
  warmupPeriod(): number;
4489
4571
  }
4490
4572
 
4573
+ export class WAVE_PM {
4574
+ free(): void;
4575
+ [Symbol.dispose](): void;
4576
+ batch(prices: Float64Array): Float64Array;
4577
+ isReady(): boolean;
4578
+ constructor(length: number, smoothing: number);
4579
+ reset(): void;
4580
+ update(value: number): number | undefined;
4581
+ warmupPeriod(): number;
4582
+ }
4583
+
4491
4584
  export class WMA {
4492
4585
  free(): void;
4493
4586
  [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, 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, 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, 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;
@@ -20006,6 +20211,83 @@ export class PMO {
20006
20211
  }
20007
20212
  if (Symbol.dispose) PMO.prototype[Symbol.dispose] = PMO.prototype.free;
20008
20213
 
20214
+ export class POLARIZED_FRACTAL_EFFICIENCY {
20215
+ __destroy_into_raw() {
20216
+ const ptr = this.__wbg_ptr;
20217
+ this.__wbg_ptr = 0;
20218
+ POLARIZED_FRACTAL_EFFICIENCYFinalization.unregister(this);
20219
+ return ptr;
20220
+ }
20221
+ free() {
20222
+ const ptr = this.__destroy_into_raw();
20223
+ wasm.__wbg_polarized_fractal_efficiency_free(ptr, 0);
20224
+ }
20225
+ /**
20226
+ * @param {Float64Array} prices
20227
+ * @returns {Float64Array}
20228
+ */
20229
+ batch(prices) {
20230
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
20231
+ const len0 = WASM_VECTOR_LEN;
20232
+ const ret = wasm.polarized_fractal_efficiency_batch(this.__wbg_ptr, ptr0, len0);
20233
+ return takeObject(ret);
20234
+ }
20235
+ /**
20236
+ * @returns {boolean}
20237
+ */
20238
+ isReady() {
20239
+ const ret = wasm.polarized_fractal_efficiency_isReady(this.__wbg_ptr);
20240
+ return ret !== 0;
20241
+ }
20242
+ /**
20243
+ * @param {number} period
20244
+ * @param {number} smoothing
20245
+ */
20246
+ constructor(period, smoothing) {
20247
+ try {
20248
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20249
+ wasm.polarized_fractal_efficiency_new(retptr, period, smoothing);
20250
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20251
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
20252
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
20253
+ if (r2) {
20254
+ throw takeObject(r1);
20255
+ }
20256
+ this.__wbg_ptr = r0;
20257
+ POLARIZED_FRACTAL_EFFICIENCYFinalization.register(this, this.__wbg_ptr, this);
20258
+ return this;
20259
+ } finally {
20260
+ wasm.__wbindgen_add_to_stack_pointer(16);
20261
+ }
20262
+ }
20263
+ reset() {
20264
+ wasm.polarized_fractal_efficiency_reset(this.__wbg_ptr);
20265
+ }
20266
+ /**
20267
+ * @param {number} value
20268
+ * @returns {number | undefined}
20269
+ */
20270
+ update(value) {
20271
+ try {
20272
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20273
+ wasm.polarized_fractal_efficiency_update(retptr, this.__wbg_ptr, value);
20274
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20275
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
20276
+ return r0 === 0 ? undefined : r2;
20277
+ } finally {
20278
+ wasm.__wbindgen_add_to_stack_pointer(16);
20279
+ }
20280
+ }
20281
+ /**
20282
+ * @returns {number}
20283
+ */
20284
+ warmupPeriod() {
20285
+ const ret = wasm.polarized_fractal_efficiency_warmupPeriod(this.__wbg_ptr);
20286
+ return ret >>> 0;
20287
+ }
20288
+ }
20289
+ if (Symbol.dispose) POLARIZED_FRACTAL_EFFICIENCY.prototype[Symbol.dispose] = POLARIZED_FRACTAL_EFFICIENCY.prototype.free;
20290
+
20009
20291
  export class PPO {
20010
20292
  __destroy_into_raw() {
20011
20293
  const ptr = this.__wbg_ptr;
@@ -21204,18 +21486,103 @@ export class QQE {
21204
21486
  * @returns {boolean}
21205
21487
  */
21206
21488
  isReady() {
21207
- const ret = wasm.qqe_isReady(this.__wbg_ptr);
21489
+ const ret = wasm.qqe_isReady(this.__wbg_ptr);
21490
+ return ret !== 0;
21491
+ }
21492
+ /**
21493
+ * @param {number} rsi_period
21494
+ * @param {number} smoothing
21495
+ * @param {number} factor
21496
+ */
21497
+ constructor(rsi_period, smoothing, factor) {
21498
+ try {
21499
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
21500
+ wasm.qqe_new(retptr, rsi_period, smoothing, factor);
21501
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21502
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
21503
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
21504
+ if (r2) {
21505
+ throw takeObject(r1);
21506
+ }
21507
+ this.__wbg_ptr = r0;
21508
+ QQEFinalization.register(this, this.__wbg_ptr, this);
21509
+ return this;
21510
+ } finally {
21511
+ wasm.__wbindgen_add_to_stack_pointer(16);
21512
+ }
21513
+ }
21514
+ reset() {
21515
+ wasm.qqe_reset(this.__wbg_ptr);
21516
+ }
21517
+ /**
21518
+ * Streaming update. Returns `{ rsiMa, trailingLine }` once warm, else `null`.
21519
+ * @param {number} value
21520
+ * @returns {any}
21521
+ */
21522
+ update(value) {
21523
+ const ret = wasm.qqe_update(this.__wbg_ptr, value);
21524
+ return takeObject(ret);
21525
+ }
21526
+ /**
21527
+ * @returns {number}
21528
+ */
21529
+ warmupPeriod() {
21530
+ const ret = wasm.qqe_warmupPeriod(this.__wbg_ptr);
21531
+ return ret >>> 0;
21532
+ }
21533
+ }
21534
+ if (Symbol.dispose) QQE.prototype[Symbol.dispose] = QQE.prototype.free;
21535
+
21536
+ export class Qstick {
21537
+ __destroy_into_raw() {
21538
+ const ptr = this.__wbg_ptr;
21539
+ this.__wbg_ptr = 0;
21540
+ QstickFinalization.unregister(this);
21541
+ return ptr;
21542
+ }
21543
+ free() {
21544
+ const ptr = this.__destroy_into_raw();
21545
+ wasm.__wbg_qstick_free(ptr, 0);
21546
+ }
21547
+ /**
21548
+ * Batch over open/close arrays; `NaN` during warmup.
21549
+ * @param {Float64Array} open
21550
+ * @param {Float64Array} close
21551
+ * @returns {Float64Array}
21552
+ */
21553
+ batch(open, close) {
21554
+ try {
21555
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
21556
+ const ptr0 = passArrayF64ToWasm0(open, wasm.__wbindgen_export3);
21557
+ const len0 = WASM_VECTOR_LEN;
21558
+ const ptr1 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
21559
+ const len1 = WASM_VECTOR_LEN;
21560
+ wasm.qstick_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
21561
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21562
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
21563
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
21564
+ if (r2) {
21565
+ throw takeObject(r1);
21566
+ }
21567
+ return takeObject(r0);
21568
+ } finally {
21569
+ wasm.__wbindgen_add_to_stack_pointer(16);
21570
+ }
21571
+ }
21572
+ /**
21573
+ * @returns {boolean}
21574
+ */
21575
+ isReady() {
21576
+ const ret = wasm.qstick_isReady(this.__wbg_ptr);
21208
21577
  return ret !== 0;
21209
21578
  }
21210
21579
  /**
21211
- * @param {number} rsi_period
21212
- * @param {number} smoothing
21213
- * @param {number} factor
21580
+ * @param {number} period
21214
21581
  */
21215
- constructor(rsi_period, smoothing, factor) {
21582
+ constructor(period) {
21216
21583
  try {
21217
21584
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
21218
- wasm.qqe_new(retptr, rsi_period, smoothing, factor);
21585
+ wasm.qstick_new(retptr, period);
21219
21586
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21220
21587
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
21221
21588
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -21223,33 +21590,46 @@ export class QQE {
21223
21590
  throw takeObject(r1);
21224
21591
  }
21225
21592
  this.__wbg_ptr = r0;
21226
- QQEFinalization.register(this, this.__wbg_ptr, this);
21593
+ QstickFinalization.register(this, this.__wbg_ptr, this);
21227
21594
  return this;
21228
21595
  } finally {
21229
21596
  wasm.__wbindgen_add_to_stack_pointer(16);
21230
21597
  }
21231
21598
  }
21232
21599
  reset() {
21233
- wasm.qqe_reset(this.__wbg_ptr);
21600
+ wasm.qstick_reset(this.__wbg_ptr);
21234
21601
  }
21235
21602
  /**
21236
- * Streaming update. Returns `{ rsiMa, trailingLine }` once warm, else `null`.
21237
- * @param {number} value
21238
- * @returns {any}
21603
+ * Streaming update over one candle's open and close.
21604
+ * @param {number} open
21605
+ * @param {number} close
21606
+ * @returns {number | undefined}
21239
21607
  */
21240
- update(value) {
21241
- const ret = wasm.qqe_update(this.__wbg_ptr, value);
21242
- return takeObject(ret);
21608
+ update(open, close) {
21609
+ try {
21610
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
21611
+ wasm.qstick_update(retptr, this.__wbg_ptr, open, close);
21612
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21613
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
21614
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
21615
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
21616
+ if (r5) {
21617
+ throw takeObject(r4);
21618
+ }
21619
+ return r0 === 0 ? undefined : r2;
21620
+ } finally {
21621
+ wasm.__wbindgen_add_to_stack_pointer(32);
21622
+ }
21243
21623
  }
21244
21624
  /**
21245
21625
  * @returns {number}
21246
21626
  */
21247
21627
  warmupPeriod() {
21248
- const ret = wasm.qqe_warmupPeriod(this.__wbg_ptr);
21628
+ const ret = wasm.qstick_warmupPeriod(this.__wbg_ptr);
21249
21629
  return ret >>> 0;
21250
21630
  }
21251
21631
  }
21252
- if (Symbol.dispose) QQE.prototype[Symbol.dispose] = QQE.prototype.free;
21632
+ if (Symbol.dispose) Qstick.prototype[Symbol.dispose] = Qstick.prototype.free;
21253
21633
 
21254
21634
  export class QuotedSpread {
21255
21635
  __destroy_into_raw() {
@@ -28126,6 +28506,82 @@ export class TII {
28126
28506
  }
28127
28507
  if (Symbol.dispose) TII.prototype[Symbol.dispose] = TII.prototype.free;
28128
28508
 
28509
+ export class TREND_STRENGTH_INDEX {
28510
+ __destroy_into_raw() {
28511
+ const ptr = this.__wbg_ptr;
28512
+ this.__wbg_ptr = 0;
28513
+ TREND_STRENGTH_INDEXFinalization.unregister(this);
28514
+ return ptr;
28515
+ }
28516
+ free() {
28517
+ const ptr = this.__destroy_into_raw();
28518
+ wasm.__wbg_trend_strength_index_free(ptr, 0);
28519
+ }
28520
+ /**
28521
+ * @param {Float64Array} prices
28522
+ * @returns {Float64Array}
28523
+ */
28524
+ batch(prices) {
28525
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
28526
+ const len0 = WASM_VECTOR_LEN;
28527
+ const ret = wasm.trend_strength_index_batch(this.__wbg_ptr, ptr0, len0);
28528
+ return takeObject(ret);
28529
+ }
28530
+ /**
28531
+ * @returns {boolean}
28532
+ */
28533
+ isReady() {
28534
+ const ret = wasm.trend_strength_index_isReady(this.__wbg_ptr);
28535
+ return ret !== 0;
28536
+ }
28537
+ /**
28538
+ * @param {number} period
28539
+ */
28540
+ constructor(period) {
28541
+ try {
28542
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
28543
+ wasm.trend_strength_index_new(retptr, period);
28544
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
28545
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
28546
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
28547
+ if (r2) {
28548
+ throw takeObject(r1);
28549
+ }
28550
+ this.__wbg_ptr = r0;
28551
+ TREND_STRENGTH_INDEXFinalization.register(this, this.__wbg_ptr, this);
28552
+ return this;
28553
+ } finally {
28554
+ wasm.__wbindgen_add_to_stack_pointer(16);
28555
+ }
28556
+ }
28557
+ reset() {
28558
+ wasm.trend_strength_index_reset(this.__wbg_ptr);
28559
+ }
28560
+ /**
28561
+ * @param {number} value
28562
+ * @returns {number | undefined}
28563
+ */
28564
+ update(value) {
28565
+ try {
28566
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
28567
+ wasm.trend_strength_index_update(retptr, this.__wbg_ptr, value);
28568
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
28569
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
28570
+ return r0 === 0 ? undefined : r2;
28571
+ } finally {
28572
+ wasm.__wbindgen_add_to_stack_pointer(16);
28573
+ }
28574
+ }
28575
+ /**
28576
+ * @returns {number}
28577
+ */
28578
+ warmupPeriod() {
28579
+ const ret = wasm.trend_strength_index_warmupPeriod(this.__wbg_ptr);
28580
+ return ret >>> 0;
28581
+ }
28582
+ }
28583
+ if (Symbol.dispose) TREND_STRENGTH_INDEX.prototype[Symbol.dispose] = TREND_STRENGTH_INDEX.prototype.free;
28584
+
28129
28585
  export class TRIMA {
28130
28586
  __destroy_into_raw() {
28131
28587
  const ptr = this.__wbg_ptr;
@@ -28513,6 +28969,92 @@ export class TSV {
28513
28969
  }
28514
28970
  if (Symbol.dispose) TSV.prototype[Symbol.dispose] = TSV.prototype.free;
28515
28971
 
28972
+ export class TTM_TREND {
28973
+ __destroy_into_raw() {
28974
+ const ptr = this.__wbg_ptr;
28975
+ this.__wbg_ptr = 0;
28976
+ TTM_TRENDFinalization.unregister(this);
28977
+ return ptr;
28978
+ }
28979
+ free() {
28980
+ const ptr = this.__destroy_into_raw();
28981
+ wasm.__wbg_ttm_trend_free(ptr, 0);
28982
+ }
28983
+ /**
28984
+ * @param {Float64Array} high
28985
+ * @param {Float64Array} low
28986
+ * @param {Float64Array} close
28987
+ * @returns {Float64Array}
28988
+ */
28989
+ batch(high, low, close) {
28990
+ try {
28991
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
28992
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
28993
+ const len0 = WASM_VECTOR_LEN;
28994
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
28995
+ const len1 = WASM_VECTOR_LEN;
28996
+ const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
28997
+ const len2 = WASM_VECTOR_LEN;
28998
+ wasm.ttm_trend_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
28999
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
29000
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
29001
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
29002
+ if (r2) {
29003
+ throw takeObject(r1);
29004
+ }
29005
+ return takeObject(r0);
29006
+ } finally {
29007
+ wasm.__wbindgen_add_to_stack_pointer(16);
29008
+ }
29009
+ }
29010
+ /**
29011
+ * @param {number} period
29012
+ */
29013
+ constructor(period) {
29014
+ try {
29015
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
29016
+ wasm.ttm_trend_new(retptr, period);
29017
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
29018
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
29019
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
29020
+ if (r2) {
29021
+ throw takeObject(r1);
29022
+ }
29023
+ this.__wbg_ptr = r0;
29024
+ TTM_TRENDFinalization.register(this, this.__wbg_ptr, this);
29025
+ return this;
29026
+ } finally {
29027
+ wasm.__wbindgen_add_to_stack_pointer(16);
29028
+ }
29029
+ }
29030
+ reset() {
29031
+ wasm.ttm_trend_reset(this.__wbg_ptr);
29032
+ }
29033
+ /**
29034
+ * @param {number} high
29035
+ * @param {number} low
29036
+ * @param {number} close
29037
+ * @returns {number | undefined}
29038
+ */
29039
+ update(high, low, close) {
29040
+ try {
29041
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
29042
+ wasm.ttm_trend_update(retptr, this.__wbg_ptr, high, low, close);
29043
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
29044
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
29045
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
29046
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
29047
+ if (r5) {
29048
+ throw takeObject(r4);
29049
+ }
29050
+ return r0 === 0 ? undefined : r2;
29051
+ } finally {
29052
+ wasm.__wbindgen_add_to_stack_pointer(32);
29053
+ }
29054
+ }
29055
+ }
29056
+ if (Symbol.dispose) TTM_TREND.prototype[Symbol.dispose] = TTM_TREND.prototype.free;
29057
+
28516
29058
  export class TakerBuySellRatio {
28517
29059
  __destroy_into_raw() {
28518
29060
  const ptr = this.__wbg_ptr;
@@ -32620,6 +33162,83 @@ export class VwapStdDevBands {
32620
33162
  }
32621
33163
  if (Symbol.dispose) VwapStdDevBands.prototype[Symbol.dispose] = VwapStdDevBands.prototype.free;
32622
33164
 
33165
+ export class WAVE_PM {
33166
+ __destroy_into_raw() {
33167
+ const ptr = this.__wbg_ptr;
33168
+ this.__wbg_ptr = 0;
33169
+ WAVE_PMFinalization.unregister(this);
33170
+ return ptr;
33171
+ }
33172
+ free() {
33173
+ const ptr = this.__destroy_into_raw();
33174
+ wasm.__wbg_wave_pm_free(ptr, 0);
33175
+ }
33176
+ /**
33177
+ * @param {Float64Array} prices
33178
+ * @returns {Float64Array}
33179
+ */
33180
+ batch(prices) {
33181
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
33182
+ const len0 = WASM_VECTOR_LEN;
33183
+ const ret = wasm.wave_pm_batch(this.__wbg_ptr, ptr0, len0);
33184
+ return takeObject(ret);
33185
+ }
33186
+ /**
33187
+ * @returns {boolean}
33188
+ */
33189
+ isReady() {
33190
+ const ret = wasm.wave_pm_isReady(this.__wbg_ptr);
33191
+ return ret !== 0;
33192
+ }
33193
+ /**
33194
+ * @param {number} length
33195
+ * @param {number} smoothing
33196
+ */
33197
+ constructor(length, smoothing) {
33198
+ try {
33199
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
33200
+ wasm.wave_pm_new(retptr, length, smoothing);
33201
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
33202
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
33203
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
33204
+ if (r2) {
33205
+ throw takeObject(r1);
33206
+ }
33207
+ this.__wbg_ptr = r0;
33208
+ WAVE_PMFinalization.register(this, this.__wbg_ptr, this);
33209
+ return this;
33210
+ } finally {
33211
+ wasm.__wbindgen_add_to_stack_pointer(16);
33212
+ }
33213
+ }
33214
+ reset() {
33215
+ wasm.wave_pm_reset(this.__wbg_ptr);
33216
+ }
33217
+ /**
33218
+ * @param {number} value
33219
+ * @returns {number | undefined}
33220
+ */
33221
+ update(value) {
33222
+ try {
33223
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
33224
+ wasm.wave_pm_update(retptr, this.__wbg_ptr, value);
33225
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
33226
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
33227
+ return r0 === 0 ? undefined : r2;
33228
+ } finally {
33229
+ wasm.__wbindgen_add_to_stack_pointer(16);
33230
+ }
33231
+ }
33232
+ /**
33233
+ * @returns {number}
33234
+ */
33235
+ warmupPeriod() {
33236
+ const ret = wasm.wave_pm_warmupPeriod(this.__wbg_ptr);
33237
+ return ret >>> 0;
33238
+ }
33239
+ }
33240
+ if (Symbol.dispose) WAVE_PM.prototype[Symbol.dispose] = WAVE_PM.prototype.free;
33241
+
32623
33242
  export class WMA {
32624
33243
  __destroy_into_raw() {
32625
33244
  const ptr = this.__wbg_ptr;
@@ -34485,6 +35104,9 @@ const GarmanKlassVolatilityFinalization = (typeof FinalizationRegistry === 'unde
34485
35104
  const GartleyFinalization = (typeof FinalizationRegistry === 'undefined')
34486
35105
  ? { register: () => {}, unregister: () => {} }
34487
35106
  : new FinalizationRegistry(ptr => wasm.__wbg_gartley_free(ptr, 1));
35107
+ const GatorOscillatorFinalization = (typeof FinalizationRegistry === 'undefined')
35108
+ ? { register: () => {}, unregister: () => {} }
35109
+ : new FinalizationRegistry(ptr => wasm.__wbg_gatoroscillator_free(ptr, 1));
34488
35110
  const GDFinalization = (typeof FinalizationRegistry === 'undefined')
34489
35111
  ? { register: () => {}, unregister: () => {} }
34490
35112
  : new FinalizationRegistry(ptr => wasm.__wbg_gd_free(ptr, 1));
@@ -34611,6 +35233,9 @@ const KalmanHedgeRatioFinalization = (typeof FinalizationRegistry === 'undefined
34611
35233
  const KAMAFinalization = (typeof FinalizationRegistry === 'undefined')
34612
35234
  ? { register: () => {}, unregister: () => {} }
34613
35235
  : new FinalizationRegistry(ptr => wasm.__wbg_kama_free(ptr, 1));
35236
+ const KasePermissionStochasticFinalization = (typeof FinalizationRegistry === 'undefined')
35237
+ ? { register: () => {}, unregister: () => {} }
35238
+ : new FinalizationRegistry(ptr => wasm.__wbg_kasepermissionstochastic_free(ptr, 1));
34614
35239
  const KellyCriterionFinalization = (typeof FinalizationRegistry === 'undefined')
34615
35240
  ? { register: () => {}, unregister: () => {} }
34616
35241
  : new FinalizationRegistry(ptr => wasm.__wbg_kellycriterion_free(ptr, 1));
@@ -34848,6 +35473,9 @@ const PMOFinalization = (typeof FinalizationRegistry === 'undefined')
34848
35473
  const PointAndFigureBarsFinalization = (typeof FinalizationRegistry === 'undefined')
34849
35474
  ? { register: () => {}, unregister: () => {} }
34850
35475
  : new FinalizationRegistry(ptr => wasm.__wbg_pointandfigurebars_free(ptr, 1));
35476
+ const POLARIZED_FRACTAL_EFFICIENCYFinalization = (typeof FinalizationRegistry === 'undefined')
35477
+ ? { register: () => {}, unregister: () => {} }
35478
+ : new FinalizationRegistry(ptr => wasm.__wbg_polarized_fractal_efficiency_free(ptr, 1));
34851
35479
  const PPOFinalization = (typeof FinalizationRegistry === 'undefined')
34852
35480
  ? { register: () => {}, unregister: () => {} }
34853
35481
  : new FinalizationRegistry(ptr => wasm.__wbg_ppo_free(ptr, 1));
@@ -34863,6 +35491,9 @@ const PVIFinalization = (typeof FinalizationRegistry === 'undefined')
34863
35491
  const QQEFinalization = (typeof FinalizationRegistry === 'undefined')
34864
35492
  ? { register: () => {}, unregister: () => {} }
34865
35493
  : new FinalizationRegistry(ptr => wasm.__wbg_qqe_free(ptr, 1));
35494
+ const QstickFinalization = (typeof FinalizationRegistry === 'undefined')
35495
+ ? { register: () => {}, unregister: () => {} }
35496
+ : new FinalizationRegistry(ptr => wasm.__wbg_qstick_free(ptr, 1));
34866
35497
  const QuotedSpreadFinalization = (typeof FinalizationRegistry === 'undefined')
34867
35498
  ? { register: () => {}, unregister: () => {} }
34868
35499
  : new FinalizationRegistry(ptr => wasm.__wbg_quotedspread_free(ptr, 1));
@@ -35157,6 +35788,9 @@ const TradeImbalanceFinalization = (typeof FinalizationRegistry === 'undefined')
35157
35788
  const TrendLabelFinalization = (typeof FinalizationRegistry === 'undefined')
35158
35789
  ? { register: () => {}, unregister: () => {} }
35159
35790
  : new FinalizationRegistry(ptr => wasm.__wbg_trendlabel_free(ptr, 1));
35791
+ const TREND_STRENGTH_INDEXFinalization = (typeof FinalizationRegistry === 'undefined')
35792
+ ? { register: () => {}, unregister: () => {} }
35793
+ : new FinalizationRegistry(ptr => wasm.__wbg_trend_strength_index_free(ptr, 1));
35160
35794
  const TreynorRatioFinalization = (typeof FinalizationRegistry === 'undefined')
35161
35795
  ? { register: () => {}, unregister: () => {} }
35162
35796
  : new FinalizationRegistry(ptr => wasm.__wbg_treynorratio_free(ptr, 1));
@@ -35190,6 +35824,9 @@ const TSVFinalization = (typeof FinalizationRegistry === 'undefined')
35190
35824
  const TtmSqueezeFinalization = (typeof FinalizationRegistry === 'undefined')
35191
35825
  ? { register: () => {}, unregister: () => {} }
35192
35826
  : new FinalizationRegistry(ptr => wasm.__wbg_ttmsqueeze_free(ptr, 1));
35827
+ const TTM_TRENDFinalization = (typeof FinalizationRegistry === 'undefined')
35828
+ ? { register: () => {}, unregister: () => {} }
35829
+ : new FinalizationRegistry(ptr => wasm.__wbg_ttm_trend_free(ptr, 1));
35193
35830
  const TurnOfMonthFinalization = (typeof FinalizationRegistry === 'undefined')
35194
35831
  ? { register: () => {}, unregister: () => {} }
35195
35832
  : new FinalizationRegistry(ptr => wasm.__wbg_turnofmonth_free(ptr, 1));
@@ -35271,6 +35908,9 @@ const VWMAFinalization = (typeof FinalizationRegistry === 'undefined')
35271
35908
  const VZOFinalization = (typeof FinalizationRegistry === 'undefined')
35272
35909
  ? { register: () => {}, unregister: () => {} }
35273
35910
  : new FinalizationRegistry(ptr => wasm.__wbg_vzo_free(ptr, 1));
35911
+ const WAVE_PMFinalization = (typeof FinalizationRegistry === 'undefined')
35912
+ ? { register: () => {}, unregister: () => {} }
35913
+ : new FinalizationRegistry(ptr => wasm.__wbg_wave_pm_free(ptr, 1));
35274
35914
  const WaveTrendFinalization = (typeof FinalizationRegistry === 'undefined')
35275
35915
  ? { register: () => {}, unregister: () => {} }
35276
35916
  : new FinalizationRegistry(ptr => wasm.__wbg_wavetrend_free(ptr, 1));
Binary file