wickra-wasm 0.6.9 → 0.7.1

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=485" 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=493" 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 485 indicators; start at the
51
+ every one of the 493 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.** 485 indicators across 24
69
+ - **The biggest streaming-native catalogue, period.** 493 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 485 indicators**.
80
+ for all 493 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** | **485** | **yes** |
98
+ | **★&nbsp;Wickra**| **clean** | **yes, O(1)** | **Python · Node · WASM · Rust** | **493** | **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
- 485 streaming-first indicators across twenty-four families. Every one passes the
131
+ 493 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).
@@ -153,8 +153,8 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
153
153
  | Chart Patterns | Double Top / Bottom, Triple Top / Bottom, Head and Shoulders, Triangle (asc/desc/sym), Wedge (rising/falling), Flag / Pennant, Rectangle / Range, Cup and Handle |
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
- | 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 |
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 |
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, Estimated Leverage Ratio, OI-to-Volume Ratio, Perpetual Premium Index, Funding-Implied APR, Open-Interest Momentum |
158
158
  | Market Profile | Value Area (POC / VAH / VAL), Volume Profile (histogram), TPO Profile, Initial Balance, Opening Range |
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) |
@@ -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 485 indicators
240
+ │ ├── wickra-core/ core engine + all 493 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.6.9",
8
+ "version": "0.7.1",
9
9
  "license": "MIT OR Apache-2.0",
10
10
  "repository": {
11
11
  "type": "git",
package/wickra_wasm.d.ts CHANGED
@@ -1383,6 +1383,16 @@ export class Equivolume {
1383
1383
  warmupPeriod(): number;
1384
1384
  }
1385
1385
 
1386
+ export class EstimatedLeverageRatio {
1387
+ free(): void;
1388
+ [Symbol.dispose](): void;
1389
+ isReady(): boolean;
1390
+ constructor();
1391
+ reset(): void;
1392
+ update(open_interest: number, long_size: number, short_size: number): number | undefined;
1393
+ warmupPeriod(): number;
1394
+ }
1395
+
1386
1396
  export class EveningDojiStar {
1387
1397
  free(): void;
1388
1398
  [Symbol.dispose](): void;
@@ -1635,6 +1645,16 @@ export class FundingBasis {
1635
1645
  warmupPeriod(): number;
1636
1646
  }
1637
1647
 
1648
+ export class FundingImpliedApr {
1649
+ free(): void;
1650
+ [Symbol.dispose](): void;
1651
+ isReady(): boolean;
1652
+ constructor(intervals_per_year: number);
1653
+ reset(): void;
1654
+ update(funding_rate: number): number | undefined;
1655
+ warmupPeriod(): number;
1656
+ }
1657
+
1638
1658
  export class FundingRate {
1639
1659
  free(): void;
1640
1660
  [Symbol.dispose](): void;
@@ -1896,6 +1916,21 @@ export class HaramiCross {
1896
1916
  warmupPeriod(): number;
1897
1917
  }
1898
1918
 
1919
+ export class HasbrouckInformationShare {
1920
+ free(): void;
1921
+ [Symbol.dispose](): void;
1922
+ /**
1923
+ * Batch over two equally-sized arrays. Returns one `f64` per
1924
+ * input position (`NaN` during warmup).
1925
+ */
1926
+ batch(x: Float64Array, y: Float64Array): Float64Array;
1927
+ isReady(): boolean;
1928
+ constructor(period: number);
1929
+ reset(): void;
1930
+ update(x: number, y: number): number | undefined;
1931
+ warmupPeriod(): number;
1932
+ }
1933
+
1899
1934
  export class HeadAndShoulders {
1900
1935
  free(): void;
1901
1936
  [Symbol.dispose](): void;
@@ -2995,6 +3030,16 @@ export class OIWeighted {
2995
3030
  warmupPeriod(): number;
2996
3031
  }
2997
3032
 
3033
+ export class OiToVolumeRatio {
3034
+ free(): void;
3035
+ [Symbol.dispose](): void;
3036
+ isReady(): boolean;
3037
+ constructor();
3038
+ reset(): void;
3039
+ update(open_interest: number, taker_buy_volume: number, taker_sell_volume: number): number | undefined;
3040
+ warmupPeriod(): number;
3041
+ }
3042
+
2998
3043
  export class OmegaRatio {
2999
3044
  free(): void;
3000
3045
  [Symbol.dispose](): void;
@@ -3027,6 +3072,16 @@ export class OpenInterestDelta {
3027
3072
  warmupPeriod(): number;
3028
3073
  }
3029
3074
 
3075
+ export class OpenInterestMomentum {
3076
+ free(): void;
3077
+ [Symbol.dispose](): void;
3078
+ isReady(): boolean;
3079
+ constructor(period: number);
3080
+ reset(): void;
3081
+ update(open_interest: number): number | undefined;
3082
+ warmupPeriod(): number;
3083
+ }
3084
+
3030
3085
  export class OpeningMarubozu {
3031
3086
  free(): void;
3032
3087
  [Symbol.dispose](): void;
@@ -3308,6 +3363,16 @@ export class PercentageTrailingStop {
3308
3363
  update(value: number): number | undefined;
3309
3364
  }
3310
3365
 
3366
+ export class PerpetualPremiumIndex {
3367
+ free(): void;
3368
+ [Symbol.dispose](): void;
3369
+ isReady(): boolean;
3370
+ constructor();
3371
+ reset(): void;
3372
+ update(mark_price: number, index_price: number): number | undefined;
3373
+ warmupPeriod(): number;
3374
+ }
3375
+
3311
3376
  export class PiercingDarkCloud {
3312
3377
  free(): void;
3313
3378
  [Symbol.dispose](): void;
@@ -3319,6 +3384,16 @@ export class PiercingDarkCloud {
3319
3384
  warmupPeriod(): number;
3320
3385
  }
3321
3386
 
3387
+ export class Pin {
3388
+ free(): void;
3389
+ [Symbol.dispose](): void;
3390
+ isReady(): boolean;
3391
+ constructor(window: number);
3392
+ reset(): void;
3393
+ update(price: number, size: number, is_buy: boolean): number | undefined;
3394
+ warmupPeriod(): number;
3395
+ }
3396
+
3322
3397
  export class PivotReversal {
3323
3398
  free(): void;
3324
3399
  [Symbol.dispose](): void;
@@ -4805,6 +4880,16 @@ export class TradeImbalance {
4805
4880
  warmupPeriod(): number;
4806
4881
  }
4807
4882
 
4883
+ export class TradeSignAutocorrelation {
4884
+ free(): void;
4885
+ [Symbol.dispose](): void;
4886
+ isReady(): boolean;
4887
+ constructor(period: number);
4888
+ reset(): void;
4889
+ update(price: number, size: number, is_buy: boolean): number | undefined;
4890
+ warmupPeriod(): number;
4891
+ }
4892
+
4808
4893
  export class TradeVolumeIndex {
4809
4894
  free(): void;
4810
4895
  [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, 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, 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, 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, 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
9
9
  } from "./wickra_wasm_bg.js";
package/wickra_wasm_bg.js CHANGED
@@ -10166,6 +10166,65 @@ export class Equivolume {
10166
10166
  }
10167
10167
  if (Symbol.dispose) Equivolume.prototype[Symbol.dispose] = Equivolume.prototype.free;
10168
10168
 
10169
+ export class EstimatedLeverageRatio {
10170
+ __destroy_into_raw() {
10171
+ const ptr = this.__wbg_ptr;
10172
+ this.__wbg_ptr = 0;
10173
+ EstimatedLeverageRatioFinalization.unregister(this);
10174
+ return ptr;
10175
+ }
10176
+ free() {
10177
+ const ptr = this.__destroy_into_raw();
10178
+ wasm.__wbg_estimatedleverageratio_free(ptr, 0);
10179
+ }
10180
+ /**
10181
+ * @returns {boolean}
10182
+ */
10183
+ isReady() {
10184
+ const ret = wasm.estimatedleverageratio_isReady(this.__wbg_ptr);
10185
+ return ret !== 0;
10186
+ }
10187
+ constructor() {
10188
+ const ret = wasm.estimatedleverageratio_new();
10189
+ this.__wbg_ptr = ret;
10190
+ EstimatedLeverageRatioFinalization.register(this, this.__wbg_ptr, this);
10191
+ return this;
10192
+ }
10193
+ reset() {
10194
+ wasm.estimatedleverageratio_reset(this.__wbg_ptr);
10195
+ }
10196
+ /**
10197
+ * @param {number} open_interest
10198
+ * @param {number} long_size
10199
+ * @param {number} short_size
10200
+ * @returns {number | undefined}
10201
+ */
10202
+ update(open_interest, long_size, short_size) {
10203
+ try {
10204
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
10205
+ wasm.estimatedleverageratio_update(retptr, this.__wbg_ptr, open_interest, long_size, short_size);
10206
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
10207
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
10208
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
10209
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
10210
+ if (r5) {
10211
+ throw takeObject(r4);
10212
+ }
10213
+ return r0 === 0 ? undefined : r2;
10214
+ } finally {
10215
+ wasm.__wbindgen_add_to_stack_pointer(32);
10216
+ }
10217
+ }
10218
+ /**
10219
+ * @returns {number}
10220
+ */
10221
+ warmupPeriod() {
10222
+ const ret = wasm.estimatedleverageratio_warmupPeriod(this.__wbg_ptr);
10223
+ return ret >>> 0;
10224
+ }
10225
+ }
10226
+ if (Symbol.dispose) EstimatedLeverageRatio.prototype[Symbol.dispose] = EstimatedLeverageRatio.prototype.free;
10227
+
10169
10228
  export class EveningDojiStar {
10170
10229
  __destroy_into_raw() {
10171
10230
  const ptr = this.__wbg_ptr;
@@ -12034,6 +12093,77 @@ export class FundingBasis {
12034
12093
  }
12035
12094
  if (Symbol.dispose) FundingBasis.prototype[Symbol.dispose] = FundingBasis.prototype.free;
12036
12095
 
12096
+ export class FundingImpliedApr {
12097
+ __destroy_into_raw() {
12098
+ const ptr = this.__wbg_ptr;
12099
+ this.__wbg_ptr = 0;
12100
+ FundingImpliedAprFinalization.unregister(this);
12101
+ return ptr;
12102
+ }
12103
+ free() {
12104
+ const ptr = this.__destroy_into_raw();
12105
+ wasm.__wbg_fundingimpliedapr_free(ptr, 0);
12106
+ }
12107
+ /**
12108
+ * @returns {boolean}
12109
+ */
12110
+ isReady() {
12111
+ const ret = wasm.fundingimpliedapr_isReady(this.__wbg_ptr);
12112
+ return ret !== 0;
12113
+ }
12114
+ /**
12115
+ * @param {number} intervals_per_year
12116
+ */
12117
+ constructor(intervals_per_year) {
12118
+ try {
12119
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
12120
+ wasm.fundingimpliedapr_new(retptr, intervals_per_year);
12121
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
12122
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
12123
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
12124
+ if (r2) {
12125
+ throw takeObject(r1);
12126
+ }
12127
+ this.__wbg_ptr = r0;
12128
+ FundingImpliedAprFinalization.register(this, this.__wbg_ptr, this);
12129
+ return this;
12130
+ } finally {
12131
+ wasm.__wbindgen_add_to_stack_pointer(16);
12132
+ }
12133
+ }
12134
+ reset() {
12135
+ wasm.fundingimpliedapr_reset(this.__wbg_ptr);
12136
+ }
12137
+ /**
12138
+ * @param {number} funding_rate
12139
+ * @returns {number | undefined}
12140
+ */
12141
+ update(funding_rate) {
12142
+ try {
12143
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
12144
+ wasm.fundingimpliedapr_update(retptr, this.__wbg_ptr, funding_rate);
12145
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
12146
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
12147
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
12148
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
12149
+ if (r5) {
12150
+ throw takeObject(r4);
12151
+ }
12152
+ return r0 === 0 ? undefined : r2;
12153
+ } finally {
12154
+ wasm.__wbindgen_add_to_stack_pointer(32);
12155
+ }
12156
+ }
12157
+ /**
12158
+ * @returns {number}
12159
+ */
12160
+ warmupPeriod() {
12161
+ const ret = wasm.fundingimpliedapr_warmupPeriod(this.__wbg_ptr);
12162
+ return ret >>> 0;
12163
+ }
12164
+ }
12165
+ if (Symbol.dispose) FundingImpliedApr.prototype[Symbol.dispose] = FundingImpliedApr.prototype.free;
12166
+
12037
12167
  export class FundingRate {
12038
12168
  __destroy_into_raw() {
12039
12169
  const ptr = this.__wbg_ptr;
@@ -13871,6 +14001,99 @@ export class HaramiCross {
13871
14001
  }
13872
14002
  if (Symbol.dispose) HaramiCross.prototype[Symbol.dispose] = HaramiCross.prototype.free;
13873
14003
 
14004
+ export class HasbrouckInformationShare {
14005
+ __destroy_into_raw() {
14006
+ const ptr = this.__wbg_ptr;
14007
+ this.__wbg_ptr = 0;
14008
+ HasbrouckInformationShareFinalization.unregister(this);
14009
+ return ptr;
14010
+ }
14011
+ free() {
14012
+ const ptr = this.__destroy_into_raw();
14013
+ wasm.__wbg_hasbrouckinformationshare_free(ptr, 0);
14014
+ }
14015
+ /**
14016
+ * Batch over two equally-sized arrays. Returns one `f64` per
14017
+ * input position (`NaN` during warmup).
14018
+ * @param {Float64Array} x
14019
+ * @param {Float64Array} y
14020
+ * @returns {Float64Array}
14021
+ */
14022
+ batch(x, y) {
14023
+ try {
14024
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
14025
+ const ptr0 = passArrayF64ToWasm0(x, wasm.__wbindgen_export3);
14026
+ const len0 = WASM_VECTOR_LEN;
14027
+ const ptr1 = passArrayF64ToWasm0(y, wasm.__wbindgen_export3);
14028
+ const len1 = WASM_VECTOR_LEN;
14029
+ wasm.hasbrouckinformationshare_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
14030
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14031
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
14032
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
14033
+ if (r2) {
14034
+ throw takeObject(r1);
14035
+ }
14036
+ return takeObject(r0);
14037
+ } finally {
14038
+ wasm.__wbindgen_add_to_stack_pointer(16);
14039
+ }
14040
+ }
14041
+ /**
14042
+ * @returns {boolean}
14043
+ */
14044
+ isReady() {
14045
+ const ret = wasm.hasbrouckinformationshare_isReady(this.__wbg_ptr);
14046
+ return ret !== 0;
14047
+ }
14048
+ /**
14049
+ * @param {number} period
14050
+ */
14051
+ constructor(period) {
14052
+ try {
14053
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
14054
+ wasm.hasbrouckinformationshare_new(retptr, period);
14055
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14056
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
14057
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
14058
+ if (r2) {
14059
+ throw takeObject(r1);
14060
+ }
14061
+ this.__wbg_ptr = r0;
14062
+ HasbrouckInformationShareFinalization.register(this, this.__wbg_ptr, this);
14063
+ return this;
14064
+ } finally {
14065
+ wasm.__wbindgen_add_to_stack_pointer(16);
14066
+ }
14067
+ }
14068
+ reset() {
14069
+ wasm.hasbrouckinformationshare_reset(this.__wbg_ptr);
14070
+ }
14071
+ /**
14072
+ * @param {number} x
14073
+ * @param {number} y
14074
+ * @returns {number | undefined}
14075
+ */
14076
+ update(x, y) {
14077
+ try {
14078
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
14079
+ wasm.hasbrouckinformationshare_update(retptr, this.__wbg_ptr, x, y);
14080
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14081
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
14082
+ return r0 === 0 ? undefined : r2;
14083
+ } finally {
14084
+ wasm.__wbindgen_add_to_stack_pointer(16);
14085
+ }
14086
+ }
14087
+ /**
14088
+ * @returns {number}
14089
+ */
14090
+ warmupPeriod() {
14091
+ const ret = wasm.hasbrouckinformationshare_warmupPeriod(this.__wbg_ptr);
14092
+ return ret >>> 0;
14093
+ }
14094
+ }
14095
+ if (Symbol.dispose) HasbrouckInformationShare.prototype[Symbol.dispose] = HasbrouckInformationShare.prototype.free;
14096
+
13874
14097
  export class HeadAndShoulders {
13875
14098
  __destroy_into_raw() {
13876
14099
  const ptr = this.__wbg_ptr;
@@ -21679,6 +21902,65 @@ export class OIWeighted {
21679
21902
  }
21680
21903
  if (Symbol.dispose) OIWeighted.prototype[Symbol.dispose] = OIWeighted.prototype.free;
21681
21904
 
21905
+ export class OiToVolumeRatio {
21906
+ __destroy_into_raw() {
21907
+ const ptr = this.__wbg_ptr;
21908
+ this.__wbg_ptr = 0;
21909
+ OiToVolumeRatioFinalization.unregister(this);
21910
+ return ptr;
21911
+ }
21912
+ free() {
21913
+ const ptr = this.__destroy_into_raw();
21914
+ wasm.__wbg_oitovolumeratio_free(ptr, 0);
21915
+ }
21916
+ /**
21917
+ * @returns {boolean}
21918
+ */
21919
+ isReady() {
21920
+ const ret = wasm.oitovolumeratio_isReady(this.__wbg_ptr);
21921
+ return ret !== 0;
21922
+ }
21923
+ constructor() {
21924
+ const ret = wasm.oitovolumeratio_new();
21925
+ this.__wbg_ptr = ret;
21926
+ OiToVolumeRatioFinalization.register(this, this.__wbg_ptr, this);
21927
+ return this;
21928
+ }
21929
+ reset() {
21930
+ wasm.oitovolumeratio_reset(this.__wbg_ptr);
21931
+ }
21932
+ /**
21933
+ * @param {number} open_interest
21934
+ * @param {number} taker_buy_volume
21935
+ * @param {number} taker_sell_volume
21936
+ * @returns {number | undefined}
21937
+ */
21938
+ update(open_interest, taker_buy_volume, taker_sell_volume) {
21939
+ try {
21940
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
21941
+ wasm.oitovolumeratio_update(retptr, this.__wbg_ptr, open_interest, taker_buy_volume, taker_sell_volume);
21942
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
21943
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
21944
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
21945
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
21946
+ if (r5) {
21947
+ throw takeObject(r4);
21948
+ }
21949
+ return r0 === 0 ? undefined : r2;
21950
+ } finally {
21951
+ wasm.__wbindgen_add_to_stack_pointer(32);
21952
+ }
21953
+ }
21954
+ /**
21955
+ * @returns {number}
21956
+ */
21957
+ warmupPeriod() {
21958
+ const ret = wasm.oitovolumeratio_warmupPeriod(this.__wbg_ptr);
21959
+ return ret >>> 0;
21960
+ }
21961
+ }
21962
+ if (Symbol.dispose) OiToVolumeRatio.prototype[Symbol.dispose] = OiToVolumeRatio.prototype.free;
21963
+
21682
21964
  export class OmegaRatio {
21683
21965
  __destroy_into_raw() {
21684
21966
  const ptr = this.__wbg_ptr;
@@ -21903,6 +22185,77 @@ export class OpenInterestDelta {
21903
22185
  }
21904
22186
  if (Symbol.dispose) OpenInterestDelta.prototype[Symbol.dispose] = OpenInterestDelta.prototype.free;
21905
22187
 
22188
+ export class OpenInterestMomentum {
22189
+ __destroy_into_raw() {
22190
+ const ptr = this.__wbg_ptr;
22191
+ this.__wbg_ptr = 0;
22192
+ OpenInterestMomentumFinalization.unregister(this);
22193
+ return ptr;
22194
+ }
22195
+ free() {
22196
+ const ptr = this.__destroy_into_raw();
22197
+ wasm.__wbg_openinterestmomentum_free(ptr, 0);
22198
+ }
22199
+ /**
22200
+ * @returns {boolean}
22201
+ */
22202
+ isReady() {
22203
+ const ret = wasm.openinterestmomentum_isReady(this.__wbg_ptr);
22204
+ return ret !== 0;
22205
+ }
22206
+ /**
22207
+ * @param {number} period
22208
+ */
22209
+ constructor(period) {
22210
+ try {
22211
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
22212
+ wasm.openinterestmomentum_new(retptr, period);
22213
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22214
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
22215
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
22216
+ if (r2) {
22217
+ throw takeObject(r1);
22218
+ }
22219
+ this.__wbg_ptr = r0;
22220
+ OpenInterestMomentumFinalization.register(this, this.__wbg_ptr, this);
22221
+ return this;
22222
+ } finally {
22223
+ wasm.__wbindgen_add_to_stack_pointer(16);
22224
+ }
22225
+ }
22226
+ reset() {
22227
+ wasm.openinterestmomentum_reset(this.__wbg_ptr);
22228
+ }
22229
+ /**
22230
+ * @param {number} open_interest
22231
+ * @returns {number | undefined}
22232
+ */
22233
+ update(open_interest) {
22234
+ try {
22235
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
22236
+ wasm.openinterestmomentum_update(retptr, this.__wbg_ptr, open_interest);
22237
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22238
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
22239
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
22240
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
22241
+ if (r5) {
22242
+ throw takeObject(r4);
22243
+ }
22244
+ return r0 === 0 ? undefined : r2;
22245
+ } finally {
22246
+ wasm.__wbindgen_add_to_stack_pointer(32);
22247
+ }
22248
+ }
22249
+ /**
22250
+ * @returns {number}
22251
+ */
22252
+ warmupPeriod() {
22253
+ const ret = wasm.openinterestmomentum_warmupPeriod(this.__wbg_ptr);
22254
+ return ret >>> 0;
22255
+ }
22256
+ }
22257
+ if (Symbol.dispose) OpenInterestMomentum.prototype[Symbol.dispose] = OpenInterestMomentum.prototype.free;
22258
+
21906
22259
  export class OpeningMarubozu {
21907
22260
  __destroy_into_raw() {
21908
22261
  const ptr = this.__wbg_ptr;
@@ -23968,6 +24321,64 @@ export class PercentageTrailingStop {
23968
24321
  }
23969
24322
  if (Symbol.dispose) PercentageTrailingStop.prototype[Symbol.dispose] = PercentageTrailingStop.prototype.free;
23970
24323
 
24324
+ export class PerpetualPremiumIndex {
24325
+ __destroy_into_raw() {
24326
+ const ptr = this.__wbg_ptr;
24327
+ this.__wbg_ptr = 0;
24328
+ PerpetualPremiumIndexFinalization.unregister(this);
24329
+ return ptr;
24330
+ }
24331
+ free() {
24332
+ const ptr = this.__destroy_into_raw();
24333
+ wasm.__wbg_perpetualpremiumindex_free(ptr, 0);
24334
+ }
24335
+ /**
24336
+ * @returns {boolean}
24337
+ */
24338
+ isReady() {
24339
+ const ret = wasm.perpetualpremiumindex_isReady(this.__wbg_ptr);
24340
+ return ret !== 0;
24341
+ }
24342
+ constructor() {
24343
+ const ret = wasm.perpetualpremiumindex_new();
24344
+ this.__wbg_ptr = ret;
24345
+ PerpetualPremiumIndexFinalization.register(this, this.__wbg_ptr, this);
24346
+ return this;
24347
+ }
24348
+ reset() {
24349
+ wasm.perpetualpremiumindex_reset(this.__wbg_ptr);
24350
+ }
24351
+ /**
24352
+ * @param {number} mark_price
24353
+ * @param {number} index_price
24354
+ * @returns {number | undefined}
24355
+ */
24356
+ update(mark_price, index_price) {
24357
+ try {
24358
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
24359
+ wasm.perpetualpremiumindex_update(retptr, this.__wbg_ptr, mark_price, index_price);
24360
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
24361
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
24362
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
24363
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
24364
+ if (r5) {
24365
+ throw takeObject(r4);
24366
+ }
24367
+ return r0 === 0 ? undefined : r2;
24368
+ } finally {
24369
+ wasm.__wbindgen_add_to_stack_pointer(32);
24370
+ }
24371
+ }
24372
+ /**
24373
+ * @returns {number}
24374
+ */
24375
+ warmupPeriod() {
24376
+ const ret = wasm.perpetualpremiumindex_warmupPeriod(this.__wbg_ptr);
24377
+ return ret >>> 0;
24378
+ }
24379
+ }
24380
+ if (Symbol.dispose) PerpetualPremiumIndex.prototype[Symbol.dispose] = PerpetualPremiumIndex.prototype.free;
24381
+
23971
24382
  export class PiercingDarkCloud {
23972
24383
  __destroy_into_raw() {
23973
24384
  const ptr = this.__wbg_ptr;
@@ -24058,6 +24469,79 @@ export class PiercingDarkCloud {
24058
24469
  }
24059
24470
  if (Symbol.dispose) PiercingDarkCloud.prototype[Symbol.dispose] = PiercingDarkCloud.prototype.free;
24060
24471
 
24472
+ export class Pin {
24473
+ __destroy_into_raw() {
24474
+ const ptr = this.__wbg_ptr;
24475
+ this.__wbg_ptr = 0;
24476
+ PinFinalization.unregister(this);
24477
+ return ptr;
24478
+ }
24479
+ free() {
24480
+ const ptr = this.__destroy_into_raw();
24481
+ wasm.__wbg_pin_free(ptr, 0);
24482
+ }
24483
+ /**
24484
+ * @returns {boolean}
24485
+ */
24486
+ isReady() {
24487
+ const ret = wasm.pin_isReady(this.__wbg_ptr);
24488
+ return ret !== 0;
24489
+ }
24490
+ /**
24491
+ * @param {number} window
24492
+ */
24493
+ constructor(window) {
24494
+ try {
24495
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
24496
+ wasm.pin_new(retptr, window);
24497
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
24498
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
24499
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
24500
+ if (r2) {
24501
+ throw takeObject(r1);
24502
+ }
24503
+ this.__wbg_ptr = r0;
24504
+ PinFinalization.register(this, this.__wbg_ptr, this);
24505
+ return this;
24506
+ } finally {
24507
+ wasm.__wbindgen_add_to_stack_pointer(16);
24508
+ }
24509
+ }
24510
+ reset() {
24511
+ wasm.pin_reset(this.__wbg_ptr);
24512
+ }
24513
+ /**
24514
+ * @param {number} price
24515
+ * @param {number} size
24516
+ * @param {boolean} is_buy
24517
+ * @returns {number | undefined}
24518
+ */
24519
+ update(price, size, is_buy) {
24520
+ try {
24521
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
24522
+ wasm.pin_update(retptr, this.__wbg_ptr, price, size, is_buy);
24523
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
24524
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
24525
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
24526
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
24527
+ if (r5) {
24528
+ throw takeObject(r4);
24529
+ }
24530
+ return r0 === 0 ? undefined : r2;
24531
+ } finally {
24532
+ wasm.__wbindgen_add_to_stack_pointer(32);
24533
+ }
24534
+ }
24535
+ /**
24536
+ * @returns {number}
24537
+ */
24538
+ warmupPeriod() {
24539
+ const ret = wasm.pin_warmupPeriod(this.__wbg_ptr);
24540
+ return ret >>> 0;
24541
+ }
24542
+ }
24543
+ if (Symbol.dispose) Pin.prototype[Symbol.dispose] = Pin.prototype.free;
24544
+
24061
24545
  export class PivotReversal {
24062
24546
  __destroy_into_raw() {
24063
24547
  const ptr = this.__wbg_ptr;
@@ -34906,6 +35390,79 @@ export class TradeImbalance {
34906
35390
  }
34907
35391
  if (Symbol.dispose) TradeImbalance.prototype[Symbol.dispose] = TradeImbalance.prototype.free;
34908
35392
 
35393
+ export class TradeSignAutocorrelation {
35394
+ __destroy_into_raw() {
35395
+ const ptr = this.__wbg_ptr;
35396
+ this.__wbg_ptr = 0;
35397
+ TradeSignAutocorrelationFinalization.unregister(this);
35398
+ return ptr;
35399
+ }
35400
+ free() {
35401
+ const ptr = this.__destroy_into_raw();
35402
+ wasm.__wbg_tradesignautocorrelation_free(ptr, 0);
35403
+ }
35404
+ /**
35405
+ * @returns {boolean}
35406
+ */
35407
+ isReady() {
35408
+ const ret = wasm.tradesignautocorrelation_isReady(this.__wbg_ptr);
35409
+ return ret !== 0;
35410
+ }
35411
+ /**
35412
+ * @param {number} period
35413
+ */
35414
+ constructor(period) {
35415
+ try {
35416
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
35417
+ wasm.tradesignautocorrelation_new(retptr, period);
35418
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
35419
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
35420
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
35421
+ if (r2) {
35422
+ throw takeObject(r1);
35423
+ }
35424
+ this.__wbg_ptr = r0;
35425
+ TradeSignAutocorrelationFinalization.register(this, this.__wbg_ptr, this);
35426
+ return this;
35427
+ } finally {
35428
+ wasm.__wbindgen_add_to_stack_pointer(16);
35429
+ }
35430
+ }
35431
+ reset() {
35432
+ wasm.tradesignautocorrelation_reset(this.__wbg_ptr);
35433
+ }
35434
+ /**
35435
+ * @param {number} price
35436
+ * @param {number} size
35437
+ * @param {boolean} is_buy
35438
+ * @returns {number | undefined}
35439
+ */
35440
+ update(price, size, is_buy) {
35441
+ try {
35442
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
35443
+ wasm.tradesignautocorrelation_update(retptr, this.__wbg_ptr, price, size, is_buy);
35444
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
35445
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
35446
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
35447
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
35448
+ if (r5) {
35449
+ throw takeObject(r4);
35450
+ }
35451
+ return r0 === 0 ? undefined : r2;
35452
+ } finally {
35453
+ wasm.__wbindgen_add_to_stack_pointer(32);
35454
+ }
35455
+ }
35456
+ /**
35457
+ * @returns {number}
35458
+ */
35459
+ warmupPeriod() {
35460
+ const ret = wasm.tradesignautocorrelation_warmupPeriod(this.__wbg_ptr);
35461
+ return ret >>> 0;
35462
+ }
35463
+ }
35464
+ if (Symbol.dispose) TradeSignAutocorrelation.prototype[Symbol.dispose] = TradeSignAutocorrelation.prototype.free;
35465
+
34909
35466
  export class TradeVolumeIndex {
34910
35467
  __destroy_into_raw() {
34911
35468
  const ptr = this.__wbg_ptr;
@@ -40752,6 +41309,9 @@ const EngulfingFinalization = (typeof FinalizationRegistry === 'undefined')
40752
41309
  const EquivolumeFinalization = (typeof FinalizationRegistry === 'undefined')
40753
41310
  ? { register: () => {}, unregister: () => {} }
40754
41311
  : new FinalizationRegistry(ptr => wasm.__wbg_equivolume_free(ptr, 1));
41312
+ const EstimatedLeverageRatioFinalization = (typeof FinalizationRegistry === 'undefined')
41313
+ ? { register: () => {}, unregister: () => {} }
41314
+ : new FinalizationRegistry(ptr => wasm.__wbg_estimatedleverageratio_free(ptr, 1));
40755
41315
  const EVENBETTERSINEFinalization = (typeof FinalizationRegistry === 'undefined')
40756
41316
  ? { register: () => {}, unregister: () => {} }
40757
41317
  : new FinalizationRegistry(ptr => wasm.__wbg_evenbettersine_free(ptr, 1));
@@ -40827,6 +41387,9 @@ const FryPanBottomFinalization = (typeof FinalizationRegistry === 'undefined')
40827
41387
  const FundingBasisFinalization = (typeof FinalizationRegistry === 'undefined')
40828
41388
  ? { register: () => {}, unregister: () => {} }
40829
41389
  : new FinalizationRegistry(ptr => wasm.__wbg_fundingbasis_free(ptr, 1));
41390
+ const FundingImpliedAprFinalization = (typeof FinalizationRegistry === 'undefined')
41391
+ ? { register: () => {}, unregister: () => {} }
41392
+ : new FinalizationRegistry(ptr => wasm.__wbg_fundingimpliedapr_free(ptr, 1));
40830
41393
  const FundingRateFinalization = (typeof FinalizationRegistry === 'undefined')
40831
41394
  ? { register: () => {}, unregister: () => {} }
40832
41395
  : new FinalizationRegistry(ptr => wasm.__wbg_fundingrate_free(ptr, 1));
@@ -40881,6 +41444,9 @@ const HaramiFinalization = (typeof FinalizationRegistry === 'undefined')
40881
41444
  const HaramiCrossFinalization = (typeof FinalizationRegistry === 'undefined')
40882
41445
  ? { register: () => {}, unregister: () => {} }
40883
41446
  : new FinalizationRegistry(ptr => wasm.__wbg_haramicross_free(ptr, 1));
41447
+ const HasbrouckInformationShareFinalization = (typeof FinalizationRegistry === 'undefined')
41448
+ ? { register: () => {}, unregister: () => {} }
41449
+ : new FinalizationRegistry(ptr => wasm.__wbg_hasbrouckinformationshare_free(ptr, 1));
40884
41450
  const HeadAndShouldersFinalization = (typeof FinalizationRegistry === 'undefined')
40885
41451
  ? { register: () => {}, unregister: () => {} }
40886
41452
  : new FinalizationRegistry(ptr => wasm.__wbg_headandshoulders_free(ptr, 1));
@@ -41181,6 +41747,9 @@ const OIWeightedFinalization = (typeof FinalizationRegistry === 'undefined')
41181
41747
  const OBVFinalization = (typeof FinalizationRegistry === 'undefined')
41182
41748
  ? { register: () => {}, unregister: () => {} }
41183
41749
  : new FinalizationRegistry(ptr => wasm.__wbg_obv_free(ptr, 1));
41750
+ const OiToVolumeRatioFinalization = (typeof FinalizationRegistry === 'undefined')
41751
+ ? { register: () => {}, unregister: () => {} }
41752
+ : new FinalizationRegistry(ptr => wasm.__wbg_oitovolumeratio_free(ptr, 1));
41184
41753
  const OmegaRatioFinalization = (typeof FinalizationRegistry === 'undefined')
41185
41754
  ? { register: () => {}, unregister: () => {} }
41186
41755
  : new FinalizationRegistry(ptr => wasm.__wbg_omegaratio_free(ptr, 1));
@@ -41190,6 +41759,9 @@ const OnNeckFinalization = (typeof FinalizationRegistry === 'undefined')
41190
41759
  const OpenInterestDeltaFinalization = (typeof FinalizationRegistry === 'undefined')
41191
41760
  ? { register: () => {}, unregister: () => {} }
41192
41761
  : new FinalizationRegistry(ptr => wasm.__wbg_openinterestdelta_free(ptr, 1));
41762
+ const OpenInterestMomentumFinalization = (typeof FinalizationRegistry === 'undefined')
41763
+ ? { register: () => {}, unregister: () => {} }
41764
+ : new FinalizationRegistry(ptr => wasm.__wbg_openinterestmomentum_free(ptr, 1));
41193
41765
  const OpeningMarubozuFinalization = (typeof FinalizationRegistry === 'undefined')
41194
41766
  ? { register: () => {}, unregister: () => {} }
41195
41767
  : new FinalizationRegistry(ptr => wasm.__wbg_openingmarubozu_free(ptr, 1));
@@ -41241,12 +41813,18 @@ const PercentBFinalization = (typeof FinalizationRegistry === 'undefined')
41241
41813
  const PercentageTrailingStopFinalization = (typeof FinalizationRegistry === 'undefined')
41242
41814
  ? { register: () => {}, unregister: () => {} }
41243
41815
  : new FinalizationRegistry(ptr => wasm.__wbg_percentagetrailingstop_free(ptr, 1));
41816
+ const PerpetualPremiumIndexFinalization = (typeof FinalizationRegistry === 'undefined')
41817
+ ? { register: () => {}, unregister: () => {} }
41818
+ : new FinalizationRegistry(ptr => wasm.__wbg_perpetualpremiumindex_free(ptr, 1));
41244
41819
  const PGOFinalization = (typeof FinalizationRegistry === 'undefined')
41245
41820
  ? { register: () => {}, unregister: () => {} }
41246
41821
  : new FinalizationRegistry(ptr => wasm.__wbg_pgo_free(ptr, 1));
41247
41822
  const PiercingDarkCloudFinalization = (typeof FinalizationRegistry === 'undefined')
41248
41823
  ? { register: () => {}, unregister: () => {} }
41249
41824
  : new FinalizationRegistry(ptr => wasm.__wbg_piercingdarkcloud_free(ptr, 1));
41825
+ const PinFinalization = (typeof FinalizationRegistry === 'undefined')
41826
+ ? { register: () => {}, unregister: () => {} }
41827
+ : new FinalizationRegistry(ptr => wasm.__wbg_pin_free(ptr, 1));
41250
41828
  const PivotReversalFinalization = (typeof FinalizationRegistry === 'undefined')
41251
41829
  ? { register: () => {}, unregister: () => {} }
41252
41830
  : new FinalizationRegistry(ptr => wasm.__wbg_pivotreversal_free(ptr, 1));
@@ -41631,6 +42209,9 @@ const TpoProfileFinalization = (typeof FinalizationRegistry === 'undefined')
41631
42209
  const TradeImbalanceFinalization = (typeof FinalizationRegistry === 'undefined')
41632
42210
  ? { register: () => {}, unregister: () => {} }
41633
42211
  : new FinalizationRegistry(ptr => wasm.__wbg_tradeimbalance_free(ptr, 1));
42212
+ const TradeSignAutocorrelationFinalization = (typeof FinalizationRegistry === 'undefined')
42213
+ ? { register: () => {}, unregister: () => {} }
42214
+ : new FinalizationRegistry(ptr => wasm.__wbg_tradesignautocorrelation_free(ptr, 1));
41634
42215
  const TradeVolumeIndexFinalization = (typeof FinalizationRegistry === 'undefined')
41635
42216
  ? { register: () => {}, unregister: () => {} }
41636
42217
  : new FinalizationRegistry(ptr => wasm.__wbg_tradevolumeindex_free(ptr, 1));
Binary file