wickra-wasm 0.7.1 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="https://wickra.org"><img src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=493" 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=498" 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 493 indicators; start at the
51
+ every one of the 498 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),
@@ -66,7 +66,7 @@ an afterthought — **live, tick-by-tick data** — without giving up the breadt
66
66
  a full batch library, and without making you reimplement your indicators four
67
67
  times to get there.
68
68
 
69
- - **The biggest streaming-native catalogue, period.** 493 indicators across 24
69
+ - **The biggest streaming-native catalogue, period.** 498 indicators across 24
70
70
  families — candlesticks, harmonic & chart patterns, market profile, market
71
71
  breadth, Renko/Kagi/Point&Figure bars, Ehlers DSP cycles, risk/performance
72
72
  metrics — every single one updating in **O(1) per tick**. TA-Lib ships ~150 and
@@ -77,7 +77,7 @@ times to get there.
77
77
  - **Correct by construction, not by hope.** Every `update` validates its input,
78
78
  runs a real warmup, and returns an `Option` so a single bad tick can't silently
79
79
  poison state. `batch == streaming` is **bit-exact, fuzzed and 100 %-line-covered
80
- for all 493 indicators**.
80
+ for all 498 indicators**.
81
81
  - **Orders of magnitude faster where it counts.** In streaming Wickra is **11–56×**
82
82
  faster than the only other incremental peer and **thousands of times** faster
83
83
  than recompute-on-every-tick libraries. On batch it wins several rows outright
@@ -95,7 +95,7 @@ Every other library forces one of those compromises. Wickra doesn't:
95
95
 
96
96
  | Library | Install | Streaming | Languages | Indicators | Active |
97
97
  |------------------|-------------|-------------|-----------------------------|-----------:|--------|
98
- | **★&nbsp;Wickra**| **clean** | **yes, O(1)** | **Python · Node · WASM · Rust** | **493** | **yes** |
98
+ | **★&nbsp;Wickra**| **clean** | **yes, O(1)** | **Python · Node · WASM · Rust** | **498** | **yes** |
99
99
  | kand | clean | yes | Python · WASM · Rust | ~60 | yes |
100
100
  | ta-rs | clean | yes | Rust only | ~30 | stale |
101
101
  | yata | clean | partial | Rust only | ~35 | yes |
@@ -128,7 +128,7 @@ Full tables (Rust + Python, streaming + batch) and how to reproduce them live in
128
128
 
129
129
  ## Indicators
130
130
 
131
- 493 streaming-first indicators across twenty-four families. Every one passes the
131
+ 498 streaming-first indicators across twenty-four families. Every one passes the
132
132
  `batch == streaming` equivalence test, reference-value tests, and reset
133
133
  semantics tests. Each has a per-indicator deep dive (formula, parameters,
134
134
  warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
@@ -155,7 +155,7 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
155
155
  | Fibonacci | Fibonacci Retracement, Fibonacci Extension, Fibonacci Projection, Auto-Fibonacci, Golden Pocket, Fibonacci Confluence, Fibonacci Fan, Fibonacci Arcs, Fibonacci Channel, Fibonacci Time Zones |
156
156
  | Microstructure | Order-Book Imbalance (Top-1 / Top-N / Full), Microprice, Quoted Spread, Depth Slope, Signed Volume, Cumulative Volume Delta, Trade Imbalance, Effective Spread, Realized Spread, Kyle's Lambda, Footprint, Order Flow Imbalance, VPIN, Amihud Illiquidity, Roll Measure, Trade-Sign Autocorrelation, Hasbrouck Information Share |
157
157
  | Derivatives | Funding Rate, Funding Rate Mean, Funding Rate Z-Score, Funding Basis, Open-Interest Delta, OI / Price Divergence, OI-Weighted Price, Long/Short Ratio, Taker Buy/Sell Ratio, Liquidation Features, Term-Structure Basis, Calendar Spread, Estimated Leverage Ratio, OI-to-Volume Ratio, Perpetual Premium Index, Funding-Implied APR, Open-Interest Momentum |
158
- | Market Profile | Value Area (POC / VAH / VAL), Volume Profile (histogram), TPO Profile, Initial Balance, Opening Range |
158
+ | Market Profile | Value Area (POC / VAH / VAL), Volume Profile (histogram), TPO Profile, Initial Balance, Opening Range, Naked POC, Single Prints, Profile Shape, High/Low Volume Nodes, Composite Profile |
159
159
  | Market Breadth | Advance/Decline Line, Advance/Decline Ratio, Advance/Decline Volume Line, McClellan Oscillator, McClellan Summation Index, TRIN / Arms Index, Breadth Thrust, New Highs - New Lows, High-Low Index, Percent Above Moving Average, Up/Down Volume Ratio, Bullish Percent Index, Cumulative Volume Index, Absolute Breadth Index, TICK Index |
160
160
  | Risk / Performance | Sharpe Ratio, Sortino Ratio, Calmar Ratio, Omega Ratio, Max Drawdown, Average Drawdown, Drawdown Duration, Pain Index, Value at Risk, Conditional Value at Risk (CVaR), Profit Factor, Gain/Loss Ratio, Recovery Factor, Kelly Criterion, Treynor Ratio, Information Ratio, Alpha (Jensen) |
161
161
  | Seasonality & Session | Session VWAP, Session High/Low, Session Range, Average Daily Range, Overnight Gap, Overnight/Intraday Return, Turn-of-Month, Seasonal Z-Score, Time-of-Day Return Profile, Day-of-Week Profile, Intraday Volatility Profile, Volume-by-Time Profile |
@@ -237,7 +237,7 @@ A Python live-trading example using the public `websockets` package lives at
237
237
  ```
238
238
  wickra/
239
239
  ├── crates/
240
- │ ├── wickra-core/ core engine + all 493 indicators
240
+ │ ├── wickra-core/ core engine + all 498 indicators
241
241
  │ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
242
242
  │ ├── wickra-data/ CSV reader, tick aggregator, live exchange feeds
243
243
  │ └── wickra-bench/ internal cross-library benchmark harness (not published)
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.7.1",
8
+ "version": "0.7.2",
9
9
  "license": "MIT OR Apache-2.0",
10
10
  "repository": {
11
11
  "type": "git",
package/wickra_wasm.d.ts CHANGED
@@ -839,6 +839,20 @@ export class Cointegration {
839
839
  warmupPeriod(): number;
840
840
  }
841
841
 
842
+ export class CompositeProfile {
843
+ free(): void;
844
+ [Symbol.dispose](): void;
845
+ batch(high: Float64Array, low: Float64Array, volume: Float64Array): Float64Array;
846
+ isReady(): boolean;
847
+ constructor(period: number, bin_count: number, value_area_pct: number);
848
+ reset(): void;
849
+ /**
850
+ * Streaming update. Returns `{ poc, vah, val }` once warm, else `null`.
851
+ */
852
+ update(high: number, low: number, volume: number): any;
853
+ warmupPeriod(): number;
854
+ }
855
+
842
856
  export class ConcealingBabySwallow {
843
857
  free(): void;
844
858
  [Symbol.dispose](): void;
@@ -1999,6 +2013,20 @@ export class HighLowRange {
1999
2013
  update(open: number, high: number, low: number, close: number): number | undefined;
2000
2014
  }
2001
2015
 
2016
+ export class HighLowVolumeNodes {
2017
+ free(): void;
2018
+ [Symbol.dispose](): void;
2019
+ batch(high: Float64Array, low: Float64Array, volume: Float64Array): Float64Array;
2020
+ isReady(): boolean;
2021
+ constructor(period: number, bin_count: number);
2022
+ reset(): void;
2023
+ /**
2024
+ * Streaming update. Returns `{ hvn, lvn }` once warm, else `null`.
2025
+ */
2026
+ update(high: number, low: number, volume: number): any;
2027
+ warmupPeriod(): number;
2028
+ }
2029
+
2002
2030
  export class HighWave {
2003
2031
  free(): void;
2004
2032
  [Symbol.dispose](): void;
@@ -2962,6 +2990,17 @@ export class NVI {
2962
2990
  update(close: number, volume: number): number | undefined;
2963
2991
  }
2964
2992
 
2993
+ export class NakedPoc {
2994
+ free(): void;
2995
+ [Symbol.dispose](): void;
2996
+ batch(high: Float64Array, low: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
2997
+ isReady(): boolean;
2998
+ constructor(session_len: number, bin_count: number);
2999
+ reset(): void;
3000
+ update(high: number, low: number, close: number, volume: number): number | undefined;
3001
+ warmupPeriod(): number;
3002
+ }
3003
+
2965
3004
  export class NewHighsNewLows {
2966
3005
  free(): void;
2967
3006
  [Symbol.dispose](): void;
@@ -3430,6 +3469,17 @@ export class PpoHistogram {
3430
3469
  warmupPeriod(): number;
3431
3470
  }
3432
3471
 
3472
+ export class ProfileShape {
3473
+ free(): void;
3474
+ [Symbol.dispose](): void;
3475
+ batch(high: Float64Array, low: Float64Array, volume: Float64Array): Float64Array;
3476
+ isReady(): boolean;
3477
+ constructor(period: number, bin_count: number);
3478
+ reset(): void;
3479
+ update(high: number, low: number, volume: number): number | undefined;
3480
+ warmupPeriod(): number;
3481
+ }
3482
+
3433
3483
  export class ProfitFactor {
3434
3484
  free(): void;
3435
3485
  [Symbol.dispose](): void;
@@ -4088,6 +4138,17 @@ export class SineWave {
4088
4138
  warmupPeriod(): number;
4089
4139
  }
4090
4140
 
4141
+ export class SinglePrints {
4142
+ free(): void;
4143
+ [Symbol.dispose](): void;
4144
+ batch(high: Float64Array, low: Float64Array): Float64Array;
4145
+ isReady(): boolean;
4146
+ constructor(period: number, bin_count: number);
4147
+ reset(): void;
4148
+ update(high: number, low: number): number | undefined;
4149
+ warmupPeriod(): number;
4150
+ }
4151
+
4091
4152
  export class Skewness {
4092
4153
  free(): void;
4093
4154
  [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
- ADAPTIVECCI, ADAPTIVERSI, ADL, ADX, ADXR, ALMA, APO, ATR, AUTOCORRPGRAM, AVGPRICE, AbandonedBaby, Abcd, AbsoluteBreadthIndex, AccelerationBands, AcceleratorOscillator, AdVolumeLine, AdaptiveCycle, AdaptiveLaguerre, AdvanceBlock, AdvanceDecline, AdvanceDeclineRatio, Alligator, Alpha, AmihudIlliquidity, AnchoredRSI, AnchoredVWAP, AndrewsPitchfork, Aroon, AroonOscillator, AtrBands, AtrRatchet, AtrTrailingStop, AutoFib, Autocorrelation, AverageDailyRange, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BANDPASS, BalanceOfPower, Bat, BeltHold, Beta, BetaNeutralSpread, BetterVolume, BipowerVariation, BodySizePct, BollingerBands, BollingerBandwidth, BomarBands, BreadthThrust, Breakaway, BullishPercentIndex, Butterfly, CCI, CFO, CMO, CTI, CalendarSpread, CalmarRatio, Camarilla, CandleVolume, CenterOfGravity, CentralPivotRange, 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, DumplingTop, DynamicMomentumIndex, EHMA, EMA, EVENBETTERSINE, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, ElderRay, ElderSafeZone, EmpiricalModeDecomposition, Engulfing, Equivolume, EstimatedLeverageRatio, EveningDojiStar, EwmaVolatility, Expectancy, FAMA, FRAMA, FallingThreeMethods, FibArcs, FibChannel, FibConfluence, FibExtension, FibFan, FibProjection, FibRetracement, FibTimeZones, FibonacciPivots, FisherRSI, FisherTransform, FlagPennant, Footprint, ForceIndex, FractalChaosBands, FryPanBottom, FundingBasis, FundingImpliedApr, FundingRate, FundingRateMean, FundingRateZScore, GD, GMA, GainLossRatio, GapSideBySideWhite, Garch11, GarmanKlassVolatility, Gartley, GatorOscillator, GoldenPocket, GrangerCausality, GravestoneDoji, HIGHPASS, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HaramiCross, HasbrouckInformationShare, HeadAndShoulders, HeikinAshi, HeikinAshiOscillator, HiLoActivator, HighLowIndex, HighLowRange, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HoltWinters, HomingPigeon, HurstChannel, HurstExponent, IMI, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, IntradayIntensity, IntradayVolatilityProfile, InverseFisherTransform, InvertedHammer, JARQUEBERA, JMA, JumpIndicator, KAMA, KST, KVO, KagiBars, KalmanHedgeRatio, KaseDevStop, KasePermissionStochastic, KellyCriterion, Keltner, KendallTau, 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, MedianChannel, MedianMA, MedianPrice, Microprice, ModifiedMaStop, MorningDojiStar, MorningEveningStar, MurreyMathLines, NATR, NVI, NewHighsNewLows, NewPriceLines, Nrtr, OBV, OIPriceDivergence, OIWeighted, OiToVolumeRatio, OmegaRatio, OnNeck, OpenInterestDelta, OpenInterestMomentum, 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, PerpetualPremiumIndex, PiercingDarkCloud, Pin, PivotReversal, PointAndFigureBars, PpoHistogram, ProfitFactor, ProjectionBands, ProjectionOscillator, QQE, Qstick, QuartileBands, QuotedSpread, REFLEX, RMI, ROC, ROCP, ROCR, ROCR100, ROLLINGMINMAX, 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, SAMPLEENT, SAREXT, SHANNONENT, SMA, SMI, SMMA, STC, SWMA, SeasonalZScore, SeparatingLines, SessionHighLow, SessionRange, SessionVwap, Shark, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SmoothedHeikinAshi, SortinoRatio, SpearmanCorrelation, SpinningTop, SpreadAr1Coefficient, SpreadBollingerBands, SpreadHurst, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, StochasticCCI, SuperSmoother, SuperTrend, T3, TDCamouflage, TDClop, TDClopwin, TDCombo, TDCountdown, TDDWave, TDDeMarker, TDDifferential, TDLines, TDMovingAverage, TDOpen, TDPressure, TDPropulsion, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TDTrap, TEMA, TII, TRENDFLEX, TREND_STRENGTH_INDEX, TRIMA, TRIX, TSF, TSI, TSV, TTM_TREND, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeDrives, ThreeInside, ThreeLineBreak, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TickIndex, TimeBasedStop, TimeOfDayReturnProfile, TowerTopBottom, TpoProfile, TradeImbalance, TradeSignAutocorrelation, TradeVolumeIndex, TrendLabel, TreynorRatio, Triangle, Trin, TripleTopBottom, Tristar, TrueRange, TsfOscillator, TtmSqueeze, TurnOfMonth, Tweezer, TwiggsMoneyFlow, TwoCrows, TypicalPrice, UNIVERSALOSC, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpDownVolumeRatio, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VarianceRatio, VerticalHorizontalFilter, VolatilityCone, VolatilityOfVolatility, VolatilityRatio, VoltyStop, VolumeByTimeProfile, VolumeOscillator, VolumePriceTrend, VolumeProfile, VolumeRsi, VolumeWeightedMacd, VolumeWeightedSr, Vortex, Vpin, VwapStdDevBands, WAVE_PM, WMA, Wad, WaveTrend, Wedge, WeightedClose, WickRatio, WilliamsAD, WilliamsFractals, WilliamsR, WinRate, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
8
+ ADAPTIVECCI, ADAPTIVERSI, ADL, ADX, ADXR, ALMA, APO, ATR, AUTOCORRPGRAM, AVGPRICE, AbandonedBaby, Abcd, AbsoluteBreadthIndex, AccelerationBands, AcceleratorOscillator, AdVolumeLine, AdaptiveCycle, AdaptiveLaguerre, AdvanceBlock, AdvanceDecline, AdvanceDeclineRatio, Alligator, Alpha, AmihudIlliquidity, AnchoredRSI, AnchoredVWAP, AndrewsPitchfork, Aroon, AroonOscillator, AtrBands, AtrRatchet, AtrTrailingStop, AutoFib, Autocorrelation, AverageDailyRange, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BANDPASS, BalanceOfPower, Bat, BeltHold, Beta, BetaNeutralSpread, BetterVolume, BipowerVariation, BodySizePct, BollingerBands, BollingerBandwidth, BomarBands, BreadthThrust, Breakaway, BullishPercentIndex, Butterfly, CCI, CFO, CMO, CTI, CalendarSpread, CalmarRatio, Camarilla, CandleVolume, CenterOfGravity, CentralPivotRange, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, CloseVsOpen, ClosingMarubozu, CoefficientOfVariation, Cointegration, CompositeProfile, 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, DumplingTop, DynamicMomentumIndex, EHMA, EMA, EVENBETTERSINE, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, ElderRay, ElderSafeZone, EmpiricalModeDecomposition, Engulfing, Equivolume, EstimatedLeverageRatio, EveningDojiStar, EwmaVolatility, Expectancy, FAMA, FRAMA, FallingThreeMethods, FibArcs, FibChannel, FibConfluence, FibExtension, FibFan, FibProjection, FibRetracement, FibTimeZones, FibonacciPivots, FisherRSI, FisherTransform, FlagPennant, Footprint, ForceIndex, FractalChaosBands, FryPanBottom, FundingBasis, FundingImpliedApr, FundingRate, FundingRateMean, FundingRateZScore, GD, GMA, GainLossRatio, GapSideBySideWhite, Garch11, GarmanKlassVolatility, Gartley, GatorOscillator, GoldenPocket, GrangerCausality, GravestoneDoji, HIGHPASS, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HaramiCross, HasbrouckInformationShare, HeadAndShoulders, HeikinAshi, HeikinAshiOscillator, HiLoActivator, HighLowIndex, HighLowRange, HighLowVolumeNodes, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HoltWinters, HomingPigeon, HurstChannel, HurstExponent, IMI, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, IntradayIntensity, IntradayVolatilityProfile, InverseFisherTransform, InvertedHammer, JARQUEBERA, JMA, JumpIndicator, KAMA, KST, KVO, KagiBars, KalmanHedgeRatio, KaseDevStop, KasePermissionStochastic, KellyCriterion, Keltner, KendallTau, 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, MedianChannel, MedianMA, MedianPrice, Microprice, ModifiedMaStop, MorningDojiStar, MorningEveningStar, MurreyMathLines, NATR, NVI, NakedPoc, NewHighsNewLows, NewPriceLines, Nrtr, OBV, OIPriceDivergence, OIWeighted, OiToVolumeRatio, OmegaRatio, OnNeck, OpenInterestDelta, OpenInterestMomentum, 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, PerpetualPremiumIndex, PiercingDarkCloud, Pin, PivotReversal, PointAndFigureBars, PpoHistogram, ProfileShape, ProfitFactor, ProjectionBands, ProjectionOscillator, QQE, Qstick, QuartileBands, QuotedSpread, REFLEX, RMI, ROC, ROCP, ROCR, ROCR100, ROLLINGMINMAX, 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, SAMPLEENT, SAREXT, SHANNONENT, SMA, SMI, SMMA, STC, SWMA, SeasonalZScore, SeparatingLines, SessionHighLow, SessionRange, SessionVwap, Shark, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, SinglePrints, Skewness, SmoothedHeikinAshi, SortinoRatio, SpearmanCorrelation, SpinningTop, SpreadAr1Coefficient, SpreadBollingerBands, SpreadHurst, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, StochasticCCI, SuperSmoother, SuperTrend, T3, TDCamouflage, TDClop, TDClopwin, TDCombo, TDCountdown, TDDWave, TDDeMarker, TDDifferential, TDLines, TDMovingAverage, TDOpen, TDPressure, TDPropulsion, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TDTrap, TEMA, TII, TRENDFLEX, TREND_STRENGTH_INDEX, TRIMA, TRIX, TSF, TSI, TSV, TTM_TREND, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeDrives, ThreeInside, ThreeLineBreak, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TickIndex, TimeBasedStop, TimeOfDayReturnProfile, TowerTopBottom, TpoProfile, TradeImbalance, TradeSignAutocorrelation, TradeVolumeIndex, TrendLabel, TreynorRatio, Triangle, Trin, TripleTopBottom, Tristar, TrueRange, TsfOscillator, TtmSqueeze, TurnOfMonth, Tweezer, TwiggsMoneyFlow, TwoCrows, TypicalPrice, UNIVERSALOSC, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpDownVolumeRatio, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VarianceRatio, VerticalHorizontalFilter, VolatilityCone, VolatilityOfVolatility, VolatilityRatio, VoltyStop, VolumeByTimeProfile, VolumeOscillator, VolumePriceTrend, VolumeProfile, VolumeRsi, VolumeWeightedMacd, VolumeWeightedSr, Vortex, Vpin, VwapStdDevBands, WAVE_PM, WMA, Wad, 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
@@ -6222,6 +6222,108 @@ export class Cointegration {
6222
6222
  }
6223
6223
  if (Symbol.dispose) Cointegration.prototype[Symbol.dispose] = Cointegration.prototype.free;
6224
6224
 
6225
+ export class CompositeProfile {
6226
+ __destroy_into_raw() {
6227
+ const ptr = this.__wbg_ptr;
6228
+ this.__wbg_ptr = 0;
6229
+ CompositeProfileFinalization.unregister(this);
6230
+ return ptr;
6231
+ }
6232
+ free() {
6233
+ const ptr = this.__destroy_into_raw();
6234
+ wasm.__wbg_compositeprofile_free(ptr, 0);
6235
+ }
6236
+ /**
6237
+ * @param {Float64Array} high
6238
+ * @param {Float64Array} low
6239
+ * @param {Float64Array} volume
6240
+ * @returns {Float64Array}
6241
+ */
6242
+ batch(high, low, volume) {
6243
+ try {
6244
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
6245
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
6246
+ const len0 = WASM_VECTOR_LEN;
6247
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
6248
+ const len1 = WASM_VECTOR_LEN;
6249
+ const ptr2 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
6250
+ const len2 = WASM_VECTOR_LEN;
6251
+ wasm.compositeprofile_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
6252
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
6253
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
6254
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
6255
+ if (r2) {
6256
+ throw takeObject(r1);
6257
+ }
6258
+ return takeObject(r0);
6259
+ } finally {
6260
+ wasm.__wbindgen_add_to_stack_pointer(16);
6261
+ }
6262
+ }
6263
+ /**
6264
+ * @returns {boolean}
6265
+ */
6266
+ isReady() {
6267
+ const ret = wasm.compositeprofile_isReady(this.__wbg_ptr);
6268
+ return ret !== 0;
6269
+ }
6270
+ /**
6271
+ * @param {number} period
6272
+ * @param {number} bin_count
6273
+ * @param {number} value_area_pct
6274
+ */
6275
+ constructor(period, bin_count, value_area_pct) {
6276
+ try {
6277
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
6278
+ wasm.compositeprofile_new(retptr, period, bin_count, value_area_pct);
6279
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
6280
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
6281
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
6282
+ if (r2) {
6283
+ throw takeObject(r1);
6284
+ }
6285
+ this.__wbg_ptr = r0;
6286
+ CompositeProfileFinalization.register(this, this.__wbg_ptr, this);
6287
+ return this;
6288
+ } finally {
6289
+ wasm.__wbindgen_add_to_stack_pointer(16);
6290
+ }
6291
+ }
6292
+ reset() {
6293
+ wasm.compositeprofile_reset(this.__wbg_ptr);
6294
+ }
6295
+ /**
6296
+ * Streaming update. Returns `{ poc, vah, val }` once warm, else `null`.
6297
+ * @param {number} high
6298
+ * @param {number} low
6299
+ * @param {number} volume
6300
+ * @returns {any}
6301
+ */
6302
+ update(high, low, volume) {
6303
+ try {
6304
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
6305
+ wasm.compositeprofile_update(retptr, this.__wbg_ptr, high, low, volume);
6306
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
6307
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
6308
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
6309
+ if (r2) {
6310
+ throw takeObject(r1);
6311
+ }
6312
+ return takeObject(r0);
6313
+ } finally {
6314
+ wasm.__wbindgen_add_to_stack_pointer(16);
6315
+ }
6316
+ }
6317
+ /**
6318
+ * @returns {number}
6319
+ */
6320
+ warmupPeriod() {
6321
+ const ret = wasm.compositeprofile_warmupPeriod(this.__wbg_ptr);
6322
+ return ret >>> 0;
6323
+ }
6324
+ }
6325
+ if (Symbol.dispose) CompositeProfile.prototype[Symbol.dispose] = CompositeProfile.prototype.free;
6326
+
6225
6327
  export class ConcealingBabySwallow {
6226
6328
  __destroy_into_raw() {
6227
6329
  const ptr = this.__wbg_ptr;
@@ -14624,6 +14726,107 @@ export class HighLowRange {
14624
14726
  }
14625
14727
  if (Symbol.dispose) HighLowRange.prototype[Symbol.dispose] = HighLowRange.prototype.free;
14626
14728
 
14729
+ export class HighLowVolumeNodes {
14730
+ __destroy_into_raw() {
14731
+ const ptr = this.__wbg_ptr;
14732
+ this.__wbg_ptr = 0;
14733
+ HighLowVolumeNodesFinalization.unregister(this);
14734
+ return ptr;
14735
+ }
14736
+ free() {
14737
+ const ptr = this.__destroy_into_raw();
14738
+ wasm.__wbg_highlowvolumenodes_free(ptr, 0);
14739
+ }
14740
+ /**
14741
+ * @param {Float64Array} high
14742
+ * @param {Float64Array} low
14743
+ * @param {Float64Array} volume
14744
+ * @returns {Float64Array}
14745
+ */
14746
+ batch(high, low, volume) {
14747
+ try {
14748
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
14749
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
14750
+ const len0 = WASM_VECTOR_LEN;
14751
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
14752
+ const len1 = WASM_VECTOR_LEN;
14753
+ const ptr2 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
14754
+ const len2 = WASM_VECTOR_LEN;
14755
+ wasm.highlowvolumenodes_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
14756
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14757
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
14758
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
14759
+ if (r2) {
14760
+ throw takeObject(r1);
14761
+ }
14762
+ return takeObject(r0);
14763
+ } finally {
14764
+ wasm.__wbindgen_add_to_stack_pointer(16);
14765
+ }
14766
+ }
14767
+ /**
14768
+ * @returns {boolean}
14769
+ */
14770
+ isReady() {
14771
+ const ret = wasm.highlowvolumenodes_isReady(this.__wbg_ptr);
14772
+ return ret !== 0;
14773
+ }
14774
+ /**
14775
+ * @param {number} period
14776
+ * @param {number} bin_count
14777
+ */
14778
+ constructor(period, bin_count) {
14779
+ try {
14780
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
14781
+ wasm.highlowvolumenodes_new(retptr, period, bin_count);
14782
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14783
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
14784
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
14785
+ if (r2) {
14786
+ throw takeObject(r1);
14787
+ }
14788
+ this.__wbg_ptr = r0;
14789
+ HighLowVolumeNodesFinalization.register(this, this.__wbg_ptr, this);
14790
+ return this;
14791
+ } finally {
14792
+ wasm.__wbindgen_add_to_stack_pointer(16);
14793
+ }
14794
+ }
14795
+ reset() {
14796
+ wasm.highlowvolumenodes_reset(this.__wbg_ptr);
14797
+ }
14798
+ /**
14799
+ * Streaming update. Returns `{ hvn, lvn }` once warm, else `null`.
14800
+ * @param {number} high
14801
+ * @param {number} low
14802
+ * @param {number} volume
14803
+ * @returns {any}
14804
+ */
14805
+ update(high, low, volume) {
14806
+ try {
14807
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
14808
+ wasm.highlowvolumenodes_update(retptr, this.__wbg_ptr, high, low, volume);
14809
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14810
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
14811
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
14812
+ if (r2) {
14813
+ throw takeObject(r1);
14814
+ }
14815
+ return takeObject(r0);
14816
+ } finally {
14817
+ wasm.__wbindgen_add_to_stack_pointer(16);
14818
+ }
14819
+ }
14820
+ /**
14821
+ * @returns {number}
14822
+ */
14823
+ warmupPeriod() {
14824
+ const ret = wasm.highlowvolumenodes_warmupPeriod(this.__wbg_ptr);
14825
+ return ret >>> 0;
14826
+ }
14827
+ }
14828
+ if (Symbol.dispose) HighLowVolumeNodes.prototype[Symbol.dispose] = HighLowVolumeNodes.prototype.free;
14829
+
14627
14830
  export class HighWave {
14628
14831
  __destroy_into_raw() {
14629
14832
  const ptr = this.__wbg_ptr;
@@ -21434,6 +21637,111 @@ export class NVI {
21434
21637
  }
21435
21638
  if (Symbol.dispose) NVI.prototype[Symbol.dispose] = NVI.prototype.free;
21436
21639
 
21640
+ export class NakedPoc {
21641
+ __destroy_into_raw() {
21642
+ const ptr = this.__wbg_ptr;
21643
+ this.__wbg_ptr = 0;
21644
+ NakedPocFinalization.unregister(this);
21645
+ return ptr;
21646
+ }
21647
+ free() {
21648
+ const ptr = this.__destroy_into_raw();
21649
+ wasm.__wbg_nakedpoc_free(ptr, 0);
21650
+ }
21651
+ /**
21652
+ * @param {Float64Array} high
21653
+ * @param {Float64Array} low
21654
+ * @param {Float64Array} close
21655
+ * @param {Float64Array} volume
21656
+ * @returns {Float64Array}
21657
+ */
21658
+ batch(high, low, close, volume) {
21659
+ try {
21660
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
21661
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
21662
+ const len0 = WASM_VECTOR_LEN;
21663
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
21664
+ const len1 = WASM_VECTOR_LEN;
21665
+ const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
21666
+ const len2 = WASM_VECTOR_LEN;
21667
+ const ptr3 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
21668
+ const len3 = WASM_VECTOR_LEN;
21669
+ wasm.nakedpoc_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
21670
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21671
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
21672
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
21673
+ if (r2) {
21674
+ throw takeObject(r1);
21675
+ }
21676
+ return takeObject(r0);
21677
+ } finally {
21678
+ wasm.__wbindgen_add_to_stack_pointer(16);
21679
+ }
21680
+ }
21681
+ /**
21682
+ * @returns {boolean}
21683
+ */
21684
+ isReady() {
21685
+ const ret = wasm.nakedpoc_isReady(this.__wbg_ptr);
21686
+ return ret !== 0;
21687
+ }
21688
+ /**
21689
+ * @param {number} session_len
21690
+ * @param {number} bin_count
21691
+ */
21692
+ constructor(session_len, bin_count) {
21693
+ try {
21694
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
21695
+ wasm.nakedpoc_new(retptr, session_len, bin_count);
21696
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21697
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
21698
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
21699
+ if (r2) {
21700
+ throw takeObject(r1);
21701
+ }
21702
+ this.__wbg_ptr = r0;
21703
+ NakedPocFinalization.register(this, this.__wbg_ptr, this);
21704
+ return this;
21705
+ } finally {
21706
+ wasm.__wbindgen_add_to_stack_pointer(16);
21707
+ }
21708
+ }
21709
+ reset() {
21710
+ wasm.nakedpoc_reset(this.__wbg_ptr);
21711
+ }
21712
+ /**
21713
+ * @param {number} high
21714
+ * @param {number} low
21715
+ * @param {number} close
21716
+ * @param {number} volume
21717
+ * @returns {number | undefined}
21718
+ */
21719
+ update(high, low, close, volume) {
21720
+ try {
21721
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
21722
+ wasm.nakedpoc_update(retptr, this.__wbg_ptr, high, low, close, volume);
21723
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21724
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
21725
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
21726
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
21727
+ if (r5) {
21728
+ throw takeObject(r4);
21729
+ }
21730
+ return r0 === 0 ? undefined : r2;
21731
+ } finally {
21732
+ wasm.__wbindgen_add_to_stack_pointer(32);
21733
+ }
21734
+ }
21735
+ /**
21736
+ * @returns {number}
21737
+ */
21738
+ warmupPeriod() {
21739
+ const ret = wasm.nakedpoc_warmupPeriod(this.__wbg_ptr);
21740
+ return ret >>> 0;
21741
+ }
21742
+ }
21743
+ if (Symbol.dispose) NakedPoc.prototype[Symbol.dispose] = NakedPoc.prototype.free;
21744
+
21437
21745
  export class NewHighsNewLows {
21438
21746
  __destroy_into_raw() {
21439
21747
  const ptr = this.__wbg_ptr;
@@ -24814,6 +25122,107 @@ export class PpoHistogram {
24814
25122
  }
24815
25123
  if (Symbol.dispose) PpoHistogram.prototype[Symbol.dispose] = PpoHistogram.prototype.free;
24816
25124
 
25125
+ export class ProfileShape {
25126
+ __destroy_into_raw() {
25127
+ const ptr = this.__wbg_ptr;
25128
+ this.__wbg_ptr = 0;
25129
+ ProfileShapeFinalization.unregister(this);
25130
+ return ptr;
25131
+ }
25132
+ free() {
25133
+ const ptr = this.__destroy_into_raw();
25134
+ wasm.__wbg_profileshape_free(ptr, 0);
25135
+ }
25136
+ /**
25137
+ * @param {Float64Array} high
25138
+ * @param {Float64Array} low
25139
+ * @param {Float64Array} volume
25140
+ * @returns {Float64Array}
25141
+ */
25142
+ batch(high, low, volume) {
25143
+ try {
25144
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
25145
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
25146
+ const len0 = WASM_VECTOR_LEN;
25147
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
25148
+ const len1 = WASM_VECTOR_LEN;
25149
+ const ptr2 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
25150
+ const len2 = WASM_VECTOR_LEN;
25151
+ wasm.profileshape_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
25152
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
25153
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
25154
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
25155
+ if (r2) {
25156
+ throw takeObject(r1);
25157
+ }
25158
+ return takeObject(r0);
25159
+ } finally {
25160
+ wasm.__wbindgen_add_to_stack_pointer(16);
25161
+ }
25162
+ }
25163
+ /**
25164
+ * @returns {boolean}
25165
+ */
25166
+ isReady() {
25167
+ const ret = wasm.profileshape_isReady(this.__wbg_ptr);
25168
+ return ret !== 0;
25169
+ }
25170
+ /**
25171
+ * @param {number} period
25172
+ * @param {number} bin_count
25173
+ */
25174
+ constructor(period, bin_count) {
25175
+ try {
25176
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
25177
+ wasm.profileshape_new(retptr, period, bin_count);
25178
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
25179
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
25180
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
25181
+ if (r2) {
25182
+ throw takeObject(r1);
25183
+ }
25184
+ this.__wbg_ptr = r0;
25185
+ ProfileShapeFinalization.register(this, this.__wbg_ptr, this);
25186
+ return this;
25187
+ } finally {
25188
+ wasm.__wbindgen_add_to_stack_pointer(16);
25189
+ }
25190
+ }
25191
+ reset() {
25192
+ wasm.profileshape_reset(this.__wbg_ptr);
25193
+ }
25194
+ /**
25195
+ * @param {number} high
25196
+ * @param {number} low
25197
+ * @param {number} volume
25198
+ * @returns {number | undefined}
25199
+ */
25200
+ update(high, low, volume) {
25201
+ try {
25202
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
25203
+ wasm.profileshape_update(retptr, this.__wbg_ptr, high, low, volume);
25204
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
25205
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
25206
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
25207
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
25208
+ if (r5) {
25209
+ throw takeObject(r4);
25210
+ }
25211
+ return r0 === 0 ? undefined : r2;
25212
+ } finally {
25213
+ wasm.__wbindgen_add_to_stack_pointer(32);
25214
+ }
25215
+ }
25216
+ /**
25217
+ * @returns {number}
25218
+ */
25219
+ warmupPeriod() {
25220
+ const ret = wasm.profileshape_warmupPeriod(this.__wbg_ptr);
25221
+ return ret >>> 0;
25222
+ }
25223
+ }
25224
+ if (Symbol.dispose) ProfileShape.prototype[Symbol.dispose] = ProfileShape.prototype.free;
25225
+
24817
25226
  export class ProfitFactor {
24818
25227
  __destroy_into_raw() {
24819
25228
  const ptr = this.__wbg_ptr;
@@ -29475,6 +29884,103 @@ export class SineWave {
29475
29884
  }
29476
29885
  if (Symbol.dispose) SineWave.prototype[Symbol.dispose] = SineWave.prototype.free;
29477
29886
 
29887
+ export class SinglePrints {
29888
+ __destroy_into_raw() {
29889
+ const ptr = this.__wbg_ptr;
29890
+ this.__wbg_ptr = 0;
29891
+ SinglePrintsFinalization.unregister(this);
29892
+ return ptr;
29893
+ }
29894
+ free() {
29895
+ const ptr = this.__destroy_into_raw();
29896
+ wasm.__wbg_singleprints_free(ptr, 0);
29897
+ }
29898
+ /**
29899
+ * @param {Float64Array} high
29900
+ * @param {Float64Array} low
29901
+ * @returns {Float64Array}
29902
+ */
29903
+ batch(high, low) {
29904
+ try {
29905
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
29906
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
29907
+ const len0 = WASM_VECTOR_LEN;
29908
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
29909
+ const len1 = WASM_VECTOR_LEN;
29910
+ wasm.singleprints_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
29911
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
29912
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
29913
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
29914
+ if (r2) {
29915
+ throw takeObject(r1);
29916
+ }
29917
+ return takeObject(r0);
29918
+ } finally {
29919
+ wasm.__wbindgen_add_to_stack_pointer(16);
29920
+ }
29921
+ }
29922
+ /**
29923
+ * @returns {boolean}
29924
+ */
29925
+ isReady() {
29926
+ const ret = wasm.singleprints_isReady(this.__wbg_ptr);
29927
+ return ret !== 0;
29928
+ }
29929
+ /**
29930
+ * @param {number} period
29931
+ * @param {number} bin_count
29932
+ */
29933
+ constructor(period, bin_count) {
29934
+ try {
29935
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
29936
+ wasm.singleprints_new(retptr, period, bin_count);
29937
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
29938
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
29939
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
29940
+ if (r2) {
29941
+ throw takeObject(r1);
29942
+ }
29943
+ this.__wbg_ptr = r0;
29944
+ SinglePrintsFinalization.register(this, this.__wbg_ptr, this);
29945
+ return this;
29946
+ } finally {
29947
+ wasm.__wbindgen_add_to_stack_pointer(16);
29948
+ }
29949
+ }
29950
+ reset() {
29951
+ wasm.singleprints_reset(this.__wbg_ptr);
29952
+ }
29953
+ /**
29954
+ * @param {number} high
29955
+ * @param {number} low
29956
+ * @returns {number | undefined}
29957
+ */
29958
+ update(high, low) {
29959
+ try {
29960
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
29961
+ wasm.singleprints_update(retptr, this.__wbg_ptr, high, low);
29962
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
29963
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
29964
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
29965
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
29966
+ if (r5) {
29967
+ throw takeObject(r4);
29968
+ }
29969
+ return r0 === 0 ? undefined : r2;
29970
+ } finally {
29971
+ wasm.__wbindgen_add_to_stack_pointer(32);
29972
+ }
29973
+ }
29974
+ /**
29975
+ * @returns {number}
29976
+ */
29977
+ warmupPeriod() {
29978
+ const ret = wasm.singleprints_warmupPeriod(this.__wbg_ptr);
29979
+ return ret >>> 0;
29980
+ }
29981
+ }
29982
+ if (Symbol.dispose) SinglePrints.prototype[Symbol.dispose] = SinglePrints.prototype.free;
29983
+
29478
29984
  export class Skewness {
29479
29985
  __destroy_into_raw() {
29480
29986
  const ptr = this.__wbg_ptr;
@@ -41168,6 +41674,9 @@ const CoefficientOfVariationFinalization = (typeof FinalizationRegistry === 'und
41168
41674
  const CointegrationFinalization = (typeof FinalizationRegistry === 'undefined')
41169
41675
  ? { register: () => {}, unregister: () => {} }
41170
41676
  : new FinalizationRegistry(ptr => wasm.__wbg_cointegration_free(ptr, 1));
41677
+ const CompositeProfileFinalization = (typeof FinalizationRegistry === 'undefined')
41678
+ ? { register: () => {}, unregister: () => {} }
41679
+ : new FinalizationRegistry(ptr => wasm.__wbg_compositeprofile_free(ptr, 1));
41171
41680
  const ConcealingBabySwallowFinalization = (typeof FinalizationRegistry === 'undefined')
41172
41681
  ? { register: () => {}, unregister: () => {} }
41173
41682
  : new FinalizationRegistry(ptr => wasm.__wbg_concealingbabyswallow_free(ptr, 1));
@@ -41465,6 +41974,9 @@ const HighLowIndexFinalization = (typeof FinalizationRegistry === 'undefined')
41465
41974
  const HighLowRangeFinalization = (typeof FinalizationRegistry === 'undefined')
41466
41975
  ? { register: () => {}, unregister: () => {} }
41467
41976
  : new FinalizationRegistry(ptr => wasm.__wbg_highlowrange_free(ptr, 1));
41977
+ const HighLowVolumeNodesFinalization = (typeof FinalizationRegistry === 'undefined')
41978
+ ? { register: () => {}, unregister: () => {} }
41979
+ : new FinalizationRegistry(ptr => wasm.__wbg_highlowvolumenodes_free(ptr, 1));
41468
41980
  const HighWaveFinalization = (typeof FinalizationRegistry === 'undefined')
41469
41981
  ? { register: () => {}, unregister: () => {} }
41470
41982
  : new FinalizationRegistry(ptr => wasm.__wbg_highwave_free(ptr, 1));
@@ -41723,6 +42235,9 @@ const MorningEveningStarFinalization = (typeof FinalizationRegistry === 'undefin
41723
42235
  const MurreyMathLinesFinalization = (typeof FinalizationRegistry === 'undefined')
41724
42236
  ? { register: () => {}, unregister: () => {} }
41725
42237
  : new FinalizationRegistry(ptr => wasm.__wbg_murreymathlines_free(ptr, 1));
42238
+ const NakedPocFinalization = (typeof FinalizationRegistry === 'undefined')
42239
+ ? { register: () => {}, unregister: () => {} }
42240
+ : new FinalizationRegistry(ptr => wasm.__wbg_nakedpoc_free(ptr, 1));
41726
42241
  const NATRFinalization = (typeof FinalizationRegistry === 'undefined')
41727
42242
  ? { register: () => {}, unregister: () => {} }
41728
42243
  : new FinalizationRegistry(ptr => wasm.__wbg_natr_free(ptr, 1));
@@ -41849,6 +42364,9 @@ const PPOFinalization = (typeof FinalizationRegistry === 'undefined')
41849
42364
  const PpoHistogramFinalization = (typeof FinalizationRegistry === 'undefined')
41850
42365
  ? { register: () => {}, unregister: () => {} }
41851
42366
  : new FinalizationRegistry(ptr => wasm.__wbg_ppohistogram_free(ptr, 1));
42367
+ const ProfileShapeFinalization = (typeof FinalizationRegistry === 'undefined')
42368
+ ? { register: () => {}, unregister: () => {} }
42369
+ : new FinalizationRegistry(ptr => wasm.__wbg_profileshape_free(ptr, 1));
41852
42370
  const ProfitFactorFinalization = (typeof FinalizationRegistry === 'undefined')
41853
42371
  ? { register: () => {}, unregister: () => {} }
41854
42372
  : new FinalizationRegistry(ptr => wasm.__wbg_profitfactor_free(ptr, 1));
@@ -42017,6 +42535,9 @@ const SineWaveFinalization = (typeof FinalizationRegistry === 'undefined')
42017
42535
  const SWMAFinalization = (typeof FinalizationRegistry === 'undefined')
42018
42536
  ? { register: () => {}, unregister: () => {} }
42019
42537
  : new FinalizationRegistry(ptr => wasm.__wbg_swma_free(ptr, 1));
42538
+ const SinglePrintsFinalization = (typeof FinalizationRegistry === 'undefined')
42539
+ ? { register: () => {}, unregister: () => {} }
42540
+ : new FinalizationRegistry(ptr => wasm.__wbg_singleprints_free(ptr, 1));
42020
42541
  const SkewnessFinalization = (typeof FinalizationRegistry === 'undefined')
42021
42542
  ? { register: () => {}, unregister: () => {} }
42022
42543
  : new FinalizationRegistry(ptr => wasm.__wbg_skewness_free(ptr, 1));
Binary file