wickra-wasm 0.5.7 → 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=420" 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 420 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
- 420 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).
@@ -146,7 +146,7 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
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
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 |
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 420 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.7",
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
@@ -2401,6 +2401,17 @@ export class MaEnvelope {
2401
2401
  warmupPeriod(): number;
2402
2402
  }
2403
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
+
2404
2415
  export class MarketFacilitationIndex {
2405
2416
  free(): void;
2406
2417
  [Symbol.dispose](): void;
@@ -2954,6 +2965,17 @@ export class PointAndFigureBars {
2954
2965
  update(close: number): Array<any>;
2955
2966
  }
2956
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
+
2957
2979
  export class ProfitFactor {
2958
2980
  free(): void;
2959
2981
  [Symbol.dispose](): void;
@@ -4262,6 +4284,17 @@ export class TrueRange {
4262
4284
  update(high: number, low: number, close: number): number | undefined;
4263
4285
  }
4264
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
+
4265
4298
  export class TtmSqueeze {
4266
4299
  free(): void;
4267
4300
  [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, 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
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
@@ -17294,6 +17294,84 @@ export class MaEnvelope {
17294
17294
  }
17295
17295
  if (Symbol.dispose) MaEnvelope.prototype[Symbol.dispose] = MaEnvelope.prototype.free;
17296
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
+
17297
17375
  export class MarketFacilitationIndex {
17298
17376
  __destroy_into_raw() {
17299
17377
  const ptr = this.__wbg_ptr;
@@ -21384,6 +21462,84 @@ export class PointAndFigureBars {
21384
21462
  }
21385
21463
  if (Symbol.dispose) PointAndFigureBars.prototype[Symbol.dispose] = PointAndFigureBars.prototype.free;
21386
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
+
21387
21543
  export class ProfitFactor {
21388
21544
  __destroy_into_raw() {
21389
21545
  const ptr = this.__wbg_ptr;
@@ -30790,6 +30946,82 @@ export class TrueRange {
30790
30946
  }
30791
30947
  if (Symbol.dispose) TrueRange.prototype[Symbol.dispose] = TrueRange.prototype.free;
30792
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
+
30793
31025
  export class TtmSqueeze {
30794
31026
  __destroy_into_raw() {
30795
31027
  const ptr = this.__wbg_ptr;
@@ -35311,6 +35543,9 @@ const MACDEXTFinalization = (typeof FinalizationRegistry === 'undefined')
35311
35543
  const MACDFIXFinalization = (typeof FinalizationRegistry === 'undefined')
35312
35544
  ? { register: () => {}, unregister: () => {} }
35313
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));
35314
35549
  const MAMAFinalization = (typeof FinalizationRegistry === 'undefined')
35315
35550
  ? { register: () => {}, unregister: () => {} }
35316
35551
  : new FinalizationRegistry(ptr => wasm.__wbg_mama_free(ptr, 1));
@@ -35479,6 +35714,9 @@ const POLARIZED_FRACTAL_EFFICIENCYFinalization = (typeof FinalizationRegistry ==
35479
35714
  const PPOFinalization = (typeof FinalizationRegistry === 'undefined')
35480
35715
  ? { register: () => {}, unregister: () => {} }
35481
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));
35482
35720
  const ProfitFactorFinalization = (typeof FinalizationRegistry === 'undefined')
35483
35721
  ? { register: () => {}, unregister: () => {} }
35484
35722
  : new FinalizationRegistry(ptr => wasm.__wbg_profitfactor_free(ptr, 1));
@@ -35815,6 +36053,9 @@ const TrueRangeFinalization = (typeof FinalizationRegistry === 'undefined')
35815
36053
  const TSFFinalization = (typeof FinalizationRegistry === 'undefined')
35816
36054
  ? { register: () => {}, unregister: () => {} }
35817
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));
35818
36059
  const TSIFinalization = (typeof FinalizationRegistry === 'undefined')
35819
36060
  ? { register: () => {}, unregister: () => {} }
35820
36061
  : new FinalizationRegistry(ptr => wasm.__wbg_tsi_free(ptr, 1));
Binary file