wickra-wasm 0.7.0 → 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=488" 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 488 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.** 488 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 488 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** | **488** | **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
- 488 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).
@@ -154,8 +154,8 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
154
154
  | Harmonic Patterns | AB=CD, Gartley, Butterfly, Bat, Crab, Shark, Cypher, Three Drives |
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
- | 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 |
158
- | Market Profile | Value Area (POC / VAH / VAL), Volume Profile (histogram), TPO Profile, Initial Balance, Opening Range |
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, 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 488 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.0",
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;
@@ -1383,6 +1397,16 @@ export class Equivolume {
1383
1397
  warmupPeriod(): number;
1384
1398
  }
1385
1399
 
1400
+ export class EstimatedLeverageRatio {
1401
+ free(): void;
1402
+ [Symbol.dispose](): void;
1403
+ isReady(): boolean;
1404
+ constructor();
1405
+ reset(): void;
1406
+ update(open_interest: number, long_size: number, short_size: number): number | undefined;
1407
+ warmupPeriod(): number;
1408
+ }
1409
+
1386
1410
  export class EveningDojiStar {
1387
1411
  free(): void;
1388
1412
  [Symbol.dispose](): void;
@@ -1635,6 +1659,16 @@ export class FundingBasis {
1635
1659
  warmupPeriod(): number;
1636
1660
  }
1637
1661
 
1662
+ export class FundingImpliedApr {
1663
+ free(): void;
1664
+ [Symbol.dispose](): void;
1665
+ isReady(): boolean;
1666
+ constructor(intervals_per_year: number);
1667
+ reset(): void;
1668
+ update(funding_rate: number): number | undefined;
1669
+ warmupPeriod(): number;
1670
+ }
1671
+
1638
1672
  export class FundingRate {
1639
1673
  free(): void;
1640
1674
  [Symbol.dispose](): void;
@@ -1979,6 +2013,20 @@ export class HighLowRange {
1979
2013
  update(open: number, high: number, low: number, close: number): number | undefined;
1980
2014
  }
1981
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
+
1982
2030
  export class HighWave {
1983
2031
  free(): void;
1984
2032
  [Symbol.dispose](): void;
@@ -2942,6 +2990,17 @@ export class NVI {
2942
2990
  update(close: number, volume: number): number | undefined;
2943
2991
  }
2944
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
+
2945
3004
  export class NewHighsNewLows {
2946
3005
  free(): void;
2947
3006
  [Symbol.dispose](): void;
@@ -3010,6 +3069,16 @@ export class OIWeighted {
3010
3069
  warmupPeriod(): number;
3011
3070
  }
3012
3071
 
3072
+ export class OiToVolumeRatio {
3073
+ free(): void;
3074
+ [Symbol.dispose](): void;
3075
+ isReady(): boolean;
3076
+ constructor();
3077
+ reset(): void;
3078
+ update(open_interest: number, taker_buy_volume: number, taker_sell_volume: number): number | undefined;
3079
+ warmupPeriod(): number;
3080
+ }
3081
+
3013
3082
  export class OmegaRatio {
3014
3083
  free(): void;
3015
3084
  [Symbol.dispose](): void;
@@ -3042,6 +3111,16 @@ export class OpenInterestDelta {
3042
3111
  warmupPeriod(): number;
3043
3112
  }
3044
3113
 
3114
+ export class OpenInterestMomentum {
3115
+ free(): void;
3116
+ [Symbol.dispose](): void;
3117
+ isReady(): boolean;
3118
+ constructor(period: number);
3119
+ reset(): void;
3120
+ update(open_interest: number): number | undefined;
3121
+ warmupPeriod(): number;
3122
+ }
3123
+
3045
3124
  export class OpeningMarubozu {
3046
3125
  free(): void;
3047
3126
  [Symbol.dispose](): void;
@@ -3323,6 +3402,16 @@ export class PercentageTrailingStop {
3323
3402
  update(value: number): number | undefined;
3324
3403
  }
3325
3404
 
3405
+ export class PerpetualPremiumIndex {
3406
+ free(): void;
3407
+ [Symbol.dispose](): void;
3408
+ isReady(): boolean;
3409
+ constructor();
3410
+ reset(): void;
3411
+ update(mark_price: number, index_price: number): number | undefined;
3412
+ warmupPeriod(): number;
3413
+ }
3414
+
3326
3415
  export class PiercingDarkCloud {
3327
3416
  free(): void;
3328
3417
  [Symbol.dispose](): void;
@@ -3380,6 +3469,17 @@ export class PpoHistogram {
3380
3469
  warmupPeriod(): number;
3381
3470
  }
3382
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
+
3383
3483
  export class ProfitFactor {
3384
3484
  free(): void;
3385
3485
  [Symbol.dispose](): void;
@@ -4038,6 +4138,17 @@ export class SineWave {
4038
4138
  warmupPeriod(): number;
4039
4139
  }
4040
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
+
4041
4152
  export class Skewness {
4042
4153
  free(): void;
4043
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, EveningDojiStar, EwmaVolatility, Expectancy, FAMA, FRAMA, FallingThreeMethods, FibArcs, FibChannel, FibConfluence, FibExtension, FibFan, FibProjection, FibRetracement, FibTimeZones, FibonacciPivots, FisherRSI, FisherTransform, FlagPennant, Footprint, ForceIndex, FractalChaosBands, FryPanBottom, FundingBasis, 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, 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, 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;
@@ -10166,6 +10268,65 @@ export class Equivolume {
10166
10268
  }
10167
10269
  if (Symbol.dispose) Equivolume.prototype[Symbol.dispose] = Equivolume.prototype.free;
10168
10270
 
10271
+ export class EstimatedLeverageRatio {
10272
+ __destroy_into_raw() {
10273
+ const ptr = this.__wbg_ptr;
10274
+ this.__wbg_ptr = 0;
10275
+ EstimatedLeverageRatioFinalization.unregister(this);
10276
+ return ptr;
10277
+ }
10278
+ free() {
10279
+ const ptr = this.__destroy_into_raw();
10280
+ wasm.__wbg_estimatedleverageratio_free(ptr, 0);
10281
+ }
10282
+ /**
10283
+ * @returns {boolean}
10284
+ */
10285
+ isReady() {
10286
+ const ret = wasm.estimatedleverageratio_isReady(this.__wbg_ptr);
10287
+ return ret !== 0;
10288
+ }
10289
+ constructor() {
10290
+ const ret = wasm.estimatedleverageratio_new();
10291
+ this.__wbg_ptr = ret;
10292
+ EstimatedLeverageRatioFinalization.register(this, this.__wbg_ptr, this);
10293
+ return this;
10294
+ }
10295
+ reset() {
10296
+ wasm.estimatedleverageratio_reset(this.__wbg_ptr);
10297
+ }
10298
+ /**
10299
+ * @param {number} open_interest
10300
+ * @param {number} long_size
10301
+ * @param {number} short_size
10302
+ * @returns {number | undefined}
10303
+ */
10304
+ update(open_interest, long_size, short_size) {
10305
+ try {
10306
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
10307
+ wasm.estimatedleverageratio_update(retptr, this.__wbg_ptr, open_interest, long_size, short_size);
10308
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
10309
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
10310
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
10311
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
10312
+ if (r5) {
10313
+ throw takeObject(r4);
10314
+ }
10315
+ return r0 === 0 ? undefined : r2;
10316
+ } finally {
10317
+ wasm.__wbindgen_add_to_stack_pointer(32);
10318
+ }
10319
+ }
10320
+ /**
10321
+ * @returns {number}
10322
+ */
10323
+ warmupPeriod() {
10324
+ const ret = wasm.estimatedleverageratio_warmupPeriod(this.__wbg_ptr);
10325
+ return ret >>> 0;
10326
+ }
10327
+ }
10328
+ if (Symbol.dispose) EstimatedLeverageRatio.prototype[Symbol.dispose] = EstimatedLeverageRatio.prototype.free;
10329
+
10169
10330
  export class EveningDojiStar {
10170
10331
  __destroy_into_raw() {
10171
10332
  const ptr = this.__wbg_ptr;
@@ -12034,6 +12195,77 @@ export class FundingBasis {
12034
12195
  }
12035
12196
  if (Symbol.dispose) FundingBasis.prototype[Symbol.dispose] = FundingBasis.prototype.free;
12036
12197
 
12198
+ export class FundingImpliedApr {
12199
+ __destroy_into_raw() {
12200
+ const ptr = this.__wbg_ptr;
12201
+ this.__wbg_ptr = 0;
12202
+ FundingImpliedAprFinalization.unregister(this);
12203
+ return ptr;
12204
+ }
12205
+ free() {
12206
+ const ptr = this.__destroy_into_raw();
12207
+ wasm.__wbg_fundingimpliedapr_free(ptr, 0);
12208
+ }
12209
+ /**
12210
+ * @returns {boolean}
12211
+ */
12212
+ isReady() {
12213
+ const ret = wasm.fundingimpliedapr_isReady(this.__wbg_ptr);
12214
+ return ret !== 0;
12215
+ }
12216
+ /**
12217
+ * @param {number} intervals_per_year
12218
+ */
12219
+ constructor(intervals_per_year) {
12220
+ try {
12221
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
12222
+ wasm.fundingimpliedapr_new(retptr, intervals_per_year);
12223
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
12224
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
12225
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
12226
+ if (r2) {
12227
+ throw takeObject(r1);
12228
+ }
12229
+ this.__wbg_ptr = r0;
12230
+ FundingImpliedAprFinalization.register(this, this.__wbg_ptr, this);
12231
+ return this;
12232
+ } finally {
12233
+ wasm.__wbindgen_add_to_stack_pointer(16);
12234
+ }
12235
+ }
12236
+ reset() {
12237
+ wasm.fundingimpliedapr_reset(this.__wbg_ptr);
12238
+ }
12239
+ /**
12240
+ * @param {number} funding_rate
12241
+ * @returns {number | undefined}
12242
+ */
12243
+ update(funding_rate) {
12244
+ try {
12245
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
12246
+ wasm.fundingimpliedapr_update(retptr, this.__wbg_ptr, funding_rate);
12247
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
12248
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
12249
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
12250
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
12251
+ if (r5) {
12252
+ throw takeObject(r4);
12253
+ }
12254
+ return r0 === 0 ? undefined : r2;
12255
+ } finally {
12256
+ wasm.__wbindgen_add_to_stack_pointer(32);
12257
+ }
12258
+ }
12259
+ /**
12260
+ * @returns {number}
12261
+ */
12262
+ warmupPeriod() {
12263
+ const ret = wasm.fundingimpliedapr_warmupPeriod(this.__wbg_ptr);
12264
+ return ret >>> 0;
12265
+ }
12266
+ }
12267
+ if (Symbol.dispose) FundingImpliedApr.prototype[Symbol.dispose] = FundingImpliedApr.prototype.free;
12268
+
12037
12269
  export class FundingRate {
12038
12270
  __destroy_into_raw() {
12039
12271
  const ptr = this.__wbg_ptr;
@@ -14494,6 +14726,107 @@ export class HighLowRange {
14494
14726
  }
14495
14727
  if (Symbol.dispose) HighLowRange.prototype[Symbol.dispose] = HighLowRange.prototype.free;
14496
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
+
14497
14830
  export class HighWave {
14498
14831
  __destroy_into_raw() {
14499
14832
  const ptr = this.__wbg_ptr;
@@ -21304,6 +21637,111 @@ export class NVI {
21304
21637
  }
21305
21638
  if (Symbol.dispose) NVI.prototype[Symbol.dispose] = NVI.prototype.free;
21306
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
+
21307
21745
  export class NewHighsNewLows {
21308
21746
  __destroy_into_raw() {
21309
21747
  const ptr = this.__wbg_ptr;
@@ -21772,6 +22210,65 @@ export class OIWeighted {
21772
22210
  }
21773
22211
  if (Symbol.dispose) OIWeighted.prototype[Symbol.dispose] = OIWeighted.prototype.free;
21774
22212
 
22213
+ export class OiToVolumeRatio {
22214
+ __destroy_into_raw() {
22215
+ const ptr = this.__wbg_ptr;
22216
+ this.__wbg_ptr = 0;
22217
+ OiToVolumeRatioFinalization.unregister(this);
22218
+ return ptr;
22219
+ }
22220
+ free() {
22221
+ const ptr = this.__destroy_into_raw();
22222
+ wasm.__wbg_oitovolumeratio_free(ptr, 0);
22223
+ }
22224
+ /**
22225
+ * @returns {boolean}
22226
+ */
22227
+ isReady() {
22228
+ const ret = wasm.oitovolumeratio_isReady(this.__wbg_ptr);
22229
+ return ret !== 0;
22230
+ }
22231
+ constructor() {
22232
+ const ret = wasm.oitovolumeratio_new();
22233
+ this.__wbg_ptr = ret;
22234
+ OiToVolumeRatioFinalization.register(this, this.__wbg_ptr, this);
22235
+ return this;
22236
+ }
22237
+ reset() {
22238
+ wasm.oitovolumeratio_reset(this.__wbg_ptr);
22239
+ }
22240
+ /**
22241
+ * @param {number} open_interest
22242
+ * @param {number} taker_buy_volume
22243
+ * @param {number} taker_sell_volume
22244
+ * @returns {number | undefined}
22245
+ */
22246
+ update(open_interest, taker_buy_volume, taker_sell_volume) {
22247
+ try {
22248
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
22249
+ wasm.oitovolumeratio_update(retptr, this.__wbg_ptr, open_interest, taker_buy_volume, taker_sell_volume);
22250
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22251
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
22252
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
22253
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
22254
+ if (r5) {
22255
+ throw takeObject(r4);
22256
+ }
22257
+ return r0 === 0 ? undefined : r2;
22258
+ } finally {
22259
+ wasm.__wbindgen_add_to_stack_pointer(32);
22260
+ }
22261
+ }
22262
+ /**
22263
+ * @returns {number}
22264
+ */
22265
+ warmupPeriod() {
22266
+ const ret = wasm.oitovolumeratio_warmupPeriod(this.__wbg_ptr);
22267
+ return ret >>> 0;
22268
+ }
22269
+ }
22270
+ if (Symbol.dispose) OiToVolumeRatio.prototype[Symbol.dispose] = OiToVolumeRatio.prototype.free;
22271
+
21775
22272
  export class OmegaRatio {
21776
22273
  __destroy_into_raw() {
21777
22274
  const ptr = this.__wbg_ptr;
@@ -21996,6 +22493,77 @@ export class OpenInterestDelta {
21996
22493
  }
21997
22494
  if (Symbol.dispose) OpenInterestDelta.prototype[Symbol.dispose] = OpenInterestDelta.prototype.free;
21998
22495
 
22496
+ export class OpenInterestMomentum {
22497
+ __destroy_into_raw() {
22498
+ const ptr = this.__wbg_ptr;
22499
+ this.__wbg_ptr = 0;
22500
+ OpenInterestMomentumFinalization.unregister(this);
22501
+ return ptr;
22502
+ }
22503
+ free() {
22504
+ const ptr = this.__destroy_into_raw();
22505
+ wasm.__wbg_openinterestmomentum_free(ptr, 0);
22506
+ }
22507
+ /**
22508
+ * @returns {boolean}
22509
+ */
22510
+ isReady() {
22511
+ const ret = wasm.openinterestmomentum_isReady(this.__wbg_ptr);
22512
+ return ret !== 0;
22513
+ }
22514
+ /**
22515
+ * @param {number} period
22516
+ */
22517
+ constructor(period) {
22518
+ try {
22519
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
22520
+ wasm.openinterestmomentum_new(retptr, period);
22521
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22522
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
22523
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
22524
+ if (r2) {
22525
+ throw takeObject(r1);
22526
+ }
22527
+ this.__wbg_ptr = r0;
22528
+ OpenInterestMomentumFinalization.register(this, this.__wbg_ptr, this);
22529
+ return this;
22530
+ } finally {
22531
+ wasm.__wbindgen_add_to_stack_pointer(16);
22532
+ }
22533
+ }
22534
+ reset() {
22535
+ wasm.openinterestmomentum_reset(this.__wbg_ptr);
22536
+ }
22537
+ /**
22538
+ * @param {number} open_interest
22539
+ * @returns {number | undefined}
22540
+ */
22541
+ update(open_interest) {
22542
+ try {
22543
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
22544
+ wasm.openinterestmomentum_update(retptr, this.__wbg_ptr, open_interest);
22545
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22546
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
22547
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
22548
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
22549
+ if (r5) {
22550
+ throw takeObject(r4);
22551
+ }
22552
+ return r0 === 0 ? undefined : r2;
22553
+ } finally {
22554
+ wasm.__wbindgen_add_to_stack_pointer(32);
22555
+ }
22556
+ }
22557
+ /**
22558
+ * @returns {number}
22559
+ */
22560
+ warmupPeriod() {
22561
+ const ret = wasm.openinterestmomentum_warmupPeriod(this.__wbg_ptr);
22562
+ return ret >>> 0;
22563
+ }
22564
+ }
22565
+ if (Symbol.dispose) OpenInterestMomentum.prototype[Symbol.dispose] = OpenInterestMomentum.prototype.free;
22566
+
21999
22567
  export class OpeningMarubozu {
22000
22568
  __destroy_into_raw() {
22001
22569
  const ptr = this.__wbg_ptr;
@@ -24061,6 +24629,64 @@ export class PercentageTrailingStop {
24061
24629
  }
24062
24630
  if (Symbol.dispose) PercentageTrailingStop.prototype[Symbol.dispose] = PercentageTrailingStop.prototype.free;
24063
24631
 
24632
+ export class PerpetualPremiumIndex {
24633
+ __destroy_into_raw() {
24634
+ const ptr = this.__wbg_ptr;
24635
+ this.__wbg_ptr = 0;
24636
+ PerpetualPremiumIndexFinalization.unregister(this);
24637
+ return ptr;
24638
+ }
24639
+ free() {
24640
+ const ptr = this.__destroy_into_raw();
24641
+ wasm.__wbg_perpetualpremiumindex_free(ptr, 0);
24642
+ }
24643
+ /**
24644
+ * @returns {boolean}
24645
+ */
24646
+ isReady() {
24647
+ const ret = wasm.perpetualpremiumindex_isReady(this.__wbg_ptr);
24648
+ return ret !== 0;
24649
+ }
24650
+ constructor() {
24651
+ const ret = wasm.perpetualpremiumindex_new();
24652
+ this.__wbg_ptr = ret;
24653
+ PerpetualPremiumIndexFinalization.register(this, this.__wbg_ptr, this);
24654
+ return this;
24655
+ }
24656
+ reset() {
24657
+ wasm.perpetualpremiumindex_reset(this.__wbg_ptr);
24658
+ }
24659
+ /**
24660
+ * @param {number} mark_price
24661
+ * @param {number} index_price
24662
+ * @returns {number | undefined}
24663
+ */
24664
+ update(mark_price, index_price) {
24665
+ try {
24666
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
24667
+ wasm.perpetualpremiumindex_update(retptr, this.__wbg_ptr, mark_price, index_price);
24668
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
24669
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
24670
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
24671
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
24672
+ if (r5) {
24673
+ throw takeObject(r4);
24674
+ }
24675
+ return r0 === 0 ? undefined : r2;
24676
+ } finally {
24677
+ wasm.__wbindgen_add_to_stack_pointer(32);
24678
+ }
24679
+ }
24680
+ /**
24681
+ * @returns {number}
24682
+ */
24683
+ warmupPeriod() {
24684
+ const ret = wasm.perpetualpremiumindex_warmupPeriod(this.__wbg_ptr);
24685
+ return ret >>> 0;
24686
+ }
24687
+ }
24688
+ if (Symbol.dispose) PerpetualPremiumIndex.prototype[Symbol.dispose] = PerpetualPremiumIndex.prototype.free;
24689
+
24064
24690
  export class PiercingDarkCloud {
24065
24691
  __destroy_into_raw() {
24066
24692
  const ptr = this.__wbg_ptr;
@@ -24496,6 +25122,107 @@ export class PpoHistogram {
24496
25122
  }
24497
25123
  if (Symbol.dispose) PpoHistogram.prototype[Symbol.dispose] = PpoHistogram.prototype.free;
24498
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
+
24499
25226
  export class ProfitFactor {
24500
25227
  __destroy_into_raw() {
24501
25228
  const ptr = this.__wbg_ptr;
@@ -29157,6 +29884,103 @@ export class SineWave {
29157
29884
  }
29158
29885
  if (Symbol.dispose) SineWave.prototype[Symbol.dispose] = SineWave.prototype.free;
29159
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
+
29160
29984
  export class Skewness {
29161
29985
  __destroy_into_raw() {
29162
29986
  const ptr = this.__wbg_ptr;
@@ -40850,6 +41674,9 @@ const CoefficientOfVariationFinalization = (typeof FinalizationRegistry === 'und
40850
41674
  const CointegrationFinalization = (typeof FinalizationRegistry === 'undefined')
40851
41675
  ? { register: () => {}, unregister: () => {} }
40852
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));
40853
41680
  const ConcealingBabySwallowFinalization = (typeof FinalizationRegistry === 'undefined')
40854
41681
  ? { register: () => {}, unregister: () => {} }
40855
41682
  : new FinalizationRegistry(ptr => wasm.__wbg_concealingbabyswallow_free(ptr, 1));
@@ -40991,6 +41818,9 @@ const EngulfingFinalization = (typeof FinalizationRegistry === 'undefined')
40991
41818
  const EquivolumeFinalization = (typeof FinalizationRegistry === 'undefined')
40992
41819
  ? { register: () => {}, unregister: () => {} }
40993
41820
  : new FinalizationRegistry(ptr => wasm.__wbg_equivolume_free(ptr, 1));
41821
+ const EstimatedLeverageRatioFinalization = (typeof FinalizationRegistry === 'undefined')
41822
+ ? { register: () => {}, unregister: () => {} }
41823
+ : new FinalizationRegistry(ptr => wasm.__wbg_estimatedleverageratio_free(ptr, 1));
40994
41824
  const EVENBETTERSINEFinalization = (typeof FinalizationRegistry === 'undefined')
40995
41825
  ? { register: () => {}, unregister: () => {} }
40996
41826
  : new FinalizationRegistry(ptr => wasm.__wbg_evenbettersine_free(ptr, 1));
@@ -41066,6 +41896,9 @@ const FryPanBottomFinalization = (typeof FinalizationRegistry === 'undefined')
41066
41896
  const FundingBasisFinalization = (typeof FinalizationRegistry === 'undefined')
41067
41897
  ? { register: () => {}, unregister: () => {} }
41068
41898
  : new FinalizationRegistry(ptr => wasm.__wbg_fundingbasis_free(ptr, 1));
41899
+ const FundingImpliedAprFinalization = (typeof FinalizationRegistry === 'undefined')
41900
+ ? { register: () => {}, unregister: () => {} }
41901
+ : new FinalizationRegistry(ptr => wasm.__wbg_fundingimpliedapr_free(ptr, 1));
41069
41902
  const FundingRateFinalization = (typeof FinalizationRegistry === 'undefined')
41070
41903
  ? { register: () => {}, unregister: () => {} }
41071
41904
  : new FinalizationRegistry(ptr => wasm.__wbg_fundingrate_free(ptr, 1));
@@ -41141,6 +41974,9 @@ const HighLowIndexFinalization = (typeof FinalizationRegistry === 'undefined')
41141
41974
  const HighLowRangeFinalization = (typeof FinalizationRegistry === 'undefined')
41142
41975
  ? { register: () => {}, unregister: () => {} }
41143
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));
41144
41980
  const HighWaveFinalization = (typeof FinalizationRegistry === 'undefined')
41145
41981
  ? { register: () => {}, unregister: () => {} }
41146
41982
  : new FinalizationRegistry(ptr => wasm.__wbg_highwave_free(ptr, 1));
@@ -41399,6 +42235,9 @@ const MorningEveningStarFinalization = (typeof FinalizationRegistry === 'undefin
41399
42235
  const MurreyMathLinesFinalization = (typeof FinalizationRegistry === 'undefined')
41400
42236
  ? { register: () => {}, unregister: () => {} }
41401
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));
41402
42241
  const NATRFinalization = (typeof FinalizationRegistry === 'undefined')
41403
42242
  ? { register: () => {}, unregister: () => {} }
41404
42243
  : new FinalizationRegistry(ptr => wasm.__wbg_natr_free(ptr, 1));
@@ -41423,6 +42262,9 @@ const OIWeightedFinalization = (typeof FinalizationRegistry === 'undefined')
41423
42262
  const OBVFinalization = (typeof FinalizationRegistry === 'undefined')
41424
42263
  ? { register: () => {}, unregister: () => {} }
41425
42264
  : new FinalizationRegistry(ptr => wasm.__wbg_obv_free(ptr, 1));
42265
+ const OiToVolumeRatioFinalization = (typeof FinalizationRegistry === 'undefined')
42266
+ ? { register: () => {}, unregister: () => {} }
42267
+ : new FinalizationRegistry(ptr => wasm.__wbg_oitovolumeratio_free(ptr, 1));
41426
42268
  const OmegaRatioFinalization = (typeof FinalizationRegistry === 'undefined')
41427
42269
  ? { register: () => {}, unregister: () => {} }
41428
42270
  : new FinalizationRegistry(ptr => wasm.__wbg_omegaratio_free(ptr, 1));
@@ -41432,6 +42274,9 @@ const OnNeckFinalization = (typeof FinalizationRegistry === 'undefined')
41432
42274
  const OpenInterestDeltaFinalization = (typeof FinalizationRegistry === 'undefined')
41433
42275
  ? { register: () => {}, unregister: () => {} }
41434
42276
  : new FinalizationRegistry(ptr => wasm.__wbg_openinterestdelta_free(ptr, 1));
42277
+ const OpenInterestMomentumFinalization = (typeof FinalizationRegistry === 'undefined')
42278
+ ? { register: () => {}, unregister: () => {} }
42279
+ : new FinalizationRegistry(ptr => wasm.__wbg_openinterestmomentum_free(ptr, 1));
41435
42280
  const OpeningMarubozuFinalization = (typeof FinalizationRegistry === 'undefined')
41436
42281
  ? { register: () => {}, unregister: () => {} }
41437
42282
  : new FinalizationRegistry(ptr => wasm.__wbg_openingmarubozu_free(ptr, 1));
@@ -41483,6 +42328,9 @@ const PercentBFinalization = (typeof FinalizationRegistry === 'undefined')
41483
42328
  const PercentageTrailingStopFinalization = (typeof FinalizationRegistry === 'undefined')
41484
42329
  ? { register: () => {}, unregister: () => {} }
41485
42330
  : new FinalizationRegistry(ptr => wasm.__wbg_percentagetrailingstop_free(ptr, 1));
42331
+ const PerpetualPremiumIndexFinalization = (typeof FinalizationRegistry === 'undefined')
42332
+ ? { register: () => {}, unregister: () => {} }
42333
+ : new FinalizationRegistry(ptr => wasm.__wbg_perpetualpremiumindex_free(ptr, 1));
41486
42334
  const PGOFinalization = (typeof FinalizationRegistry === 'undefined')
41487
42335
  ? { register: () => {}, unregister: () => {} }
41488
42336
  : new FinalizationRegistry(ptr => wasm.__wbg_pgo_free(ptr, 1));
@@ -41516,6 +42364,9 @@ const PPOFinalization = (typeof FinalizationRegistry === 'undefined')
41516
42364
  const PpoHistogramFinalization = (typeof FinalizationRegistry === 'undefined')
41517
42365
  ? { register: () => {}, unregister: () => {} }
41518
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));
41519
42370
  const ProfitFactorFinalization = (typeof FinalizationRegistry === 'undefined')
41520
42371
  ? { register: () => {}, unregister: () => {} }
41521
42372
  : new FinalizationRegistry(ptr => wasm.__wbg_profitfactor_free(ptr, 1));
@@ -41684,6 +42535,9 @@ const SineWaveFinalization = (typeof FinalizationRegistry === 'undefined')
41684
42535
  const SWMAFinalization = (typeof FinalizationRegistry === 'undefined')
41685
42536
  ? { register: () => {}, unregister: () => {} }
41686
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));
41687
42541
  const SkewnessFinalization = (typeof FinalizationRegistry === 'undefined')
41688
42542
  ? { register: () => {}, unregister: () => {} }
41689
42543
  : new FinalizationRegistry(ptr => wasm.__wbg_skewness_free(ptr, 1));
Binary file