wickra-wasm 0.7.2 → 0.7.3

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=498" 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=507" 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 498 indicators; start at the
51
+ every one of the 507 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.** 498 indicators across 24
69
+ - **The biggest streaming-native catalogue, period.** 507 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 498 indicators**.
80
+ for all 507 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** | **498** | **yes** |
98
+ | **★&nbsp;Wickra**| **clean** | **yes, O(1)** | **Python · Node · WASM · Rust** | **507** | **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
- 498 streaming-first indicators across twenty-four families. Every one passes the
131
+ 507 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).
@@ -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 498 indicators
240
+ │ ├── wickra-core/ core engine + all 507 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.2",
8
+ "version": "0.7.3",
9
9
  "license": "MIT OR Apache-2.0",
10
10
  "repository": {
11
11
  "type": "git",
package/wickra_wasm.d.ts CHANGED
@@ -593,6 +593,17 @@ export class BullishPercentIndex {
593
593
  warmupPeriod(): number;
594
594
  }
595
595
 
596
+ export class BurkeRatio {
597
+ free(): void;
598
+ [Symbol.dispose](): void;
599
+ batch(prices: Float64Array): Float64Array;
600
+ isReady(): boolean;
601
+ constructor(period: number);
602
+ reset(): void;
603
+ update(value: number): number | undefined;
604
+ warmupPeriod(): number;
605
+ }
606
+
596
607
  export class Butterfly {
597
608
  free(): void;
598
609
  [Symbol.dispose](): void;
@@ -839,6 +850,17 @@ export class Cointegration {
839
850
  warmupPeriod(): number;
840
851
  }
841
852
 
853
+ export class CommonSenseRatio {
854
+ free(): void;
855
+ [Symbol.dispose](): void;
856
+ batch(prices: Float64Array): Float64Array;
857
+ isReady(): boolean;
858
+ constructor(period: number);
859
+ reset(): void;
860
+ update(value: number): number | undefined;
861
+ warmupPeriod(): number;
862
+ }
863
+
842
864
  export class CompositeProfile {
843
865
  free(): void;
844
866
  [Symbol.dispose](): void;
@@ -1732,6 +1754,17 @@ export class GainLossRatio {
1732
1754
  warmupPeriod(): number;
1733
1755
  }
1734
1756
 
1757
+ export class GainToPainRatio {
1758
+ free(): void;
1759
+ [Symbol.dispose](): void;
1760
+ batch(prices: Float64Array): Float64Array;
1761
+ isReady(): boolean;
1762
+ constructor(period: number);
1763
+ reset(): void;
1764
+ update(value: number): number | undefined;
1765
+ warmupPeriod(): number;
1766
+ }
1767
+
1735
1768
  export class GapSideBySideWhite {
1736
1769
  free(): void;
1737
1770
  [Symbol.dispose](): void;
@@ -2320,6 +2353,17 @@ export class KAMA {
2320
2353
  warmupPeriod(): number;
2321
2354
  }
2322
2355
 
2356
+ export class KRatio {
2357
+ free(): void;
2358
+ [Symbol.dispose](): void;
2359
+ batch(prices: Float64Array): Float64Array;
2360
+ isReady(): boolean;
2361
+ constructor(period: number);
2362
+ reset(): void;
2363
+ update(value: number): number | undefined;
2364
+ warmupPeriod(): number;
2365
+ }
2366
+
2323
2367
  export class KST {
2324
2368
  free(): void;
2325
2369
  [Symbol.dispose](): void;
@@ -2638,6 +2682,17 @@ export class LongShortRatio {
2638
2682
  warmupPeriod(): number;
2639
2683
  }
2640
2684
 
2685
+ export class M2Measure {
2686
+ free(): void;
2687
+ [Symbol.dispose](): void;
2688
+ batch(prices: Float64Array): Float64Array;
2689
+ isReady(): boolean;
2690
+ constructor(period: number, risk_free: number, benchmark_stddev: number);
2691
+ reset(): void;
2692
+ update(value: number): number | undefined;
2693
+ warmupPeriod(): number;
2694
+ }
2695
+
2641
2696
  export class MACD {
2642
2697
  free(): void;
2643
2698
  [Symbol.dispose](): void;
@@ -2787,6 +2842,17 @@ export class MarketFacilitationIndex {
2787
2842
  update(high: number, low: number, volume: number): number | undefined;
2788
2843
  }
2789
2844
 
2845
+ export class MartinRatio {
2846
+ free(): void;
2847
+ [Symbol.dispose](): void;
2848
+ batch(prices: Float64Array): Float64Array;
2849
+ isReady(): boolean;
2850
+ constructor(period: number);
2851
+ reset(): void;
2852
+ update(value: number): number | undefined;
2853
+ warmupPeriod(): number;
2854
+ }
2855
+
2790
2856
  export class Marubozu {
2791
2857
  free(): void;
2792
2858
  [Symbol.dispose](): void;
@@ -4320,6 +4386,17 @@ export class StepTrailingStop {
4320
4386
  update(value: number): number | undefined;
4321
4387
  }
4322
4388
 
4389
+ export class SterlingRatio {
4390
+ free(): void;
4391
+ [Symbol.dispose](): void;
4392
+ batch(prices: Float64Array): Float64Array;
4393
+ isReady(): boolean;
4394
+ constructor(period: number);
4395
+ reset(): void;
4396
+ update(value: number): number | undefined;
4397
+ warmupPeriod(): number;
4398
+ }
4399
+
4323
4400
  export class StickSandwich {
4324
4401
  free(): void;
4325
4402
  [Symbol.dispose](): void;
@@ -4746,6 +4823,17 @@ export class TTM_TREND {
4746
4823
  update(high: number, low: number, close: number): number | undefined;
4747
4824
  }
4748
4825
 
4826
+ export class TailRatio {
4827
+ free(): void;
4828
+ [Symbol.dispose](): void;
4829
+ batch(prices: Float64Array): Float64Array;
4830
+ isReady(): boolean;
4831
+ constructor(period: number);
4832
+ reset(): void;
4833
+ update(value: number): number | undefined;
4834
+ warmupPeriod(): number;
4835
+ }
4836
+
4749
4837
  export class TakerBuySellRatio {
4750
4838
  free(): void;
4751
4839
  [Symbol.dispose](): void;
@@ -5187,6 +5275,17 @@ export class UpsideGapTwoCrows {
5187
5275
  warmupPeriod(): number;
5188
5276
  }
5189
5277
 
5278
+ export class UpsidePotentialRatio {
5279
+ free(): void;
5280
+ [Symbol.dispose](): void;
5281
+ batch(prices: Float64Array): Float64Array;
5282
+ isReady(): boolean;
5283
+ constructor(period: number, mar: number);
5284
+ reset(): void;
5285
+ update(value: number): number | undefined;
5286
+ warmupPeriod(): number;
5287
+ }
5288
+
5190
5289
  export class VIDYA {
5191
5290
  free(): void;
5192
5291
  [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, 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
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, BurkeRatio, Butterfly, CCI, CFO, CMO, CTI, CalendarSpread, CalmarRatio, Camarilla, CandleVolume, CenterOfGravity, CentralPivotRange, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, CloseVsOpen, ClosingMarubozu, CoefficientOfVariation, Cointegration, CommonSenseRatio, 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, GainToPainRatio, 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, KRatio, 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, M2Measure, MACD, MACDEXT, MACDFIX, MAMA, MFI, MIDPOINT, MIDPRICE, MINUS_DI, MINUS_DM, MOM, MaEnvelope, MacdHistogram, MarketFacilitationIndex, MartinRatio, 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, SterlingRatio, 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, TailRatio, 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, UpsidePotentialRatio, 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
@@ -4383,6 +4383,82 @@ export class BullishPercentIndex {
4383
4383
  }
4384
4384
  if (Symbol.dispose) BullishPercentIndex.prototype[Symbol.dispose] = BullishPercentIndex.prototype.free;
4385
4385
 
4386
+ export class BurkeRatio {
4387
+ __destroy_into_raw() {
4388
+ const ptr = this.__wbg_ptr;
4389
+ this.__wbg_ptr = 0;
4390
+ BurkeRatioFinalization.unregister(this);
4391
+ return ptr;
4392
+ }
4393
+ free() {
4394
+ const ptr = this.__destroy_into_raw();
4395
+ wasm.__wbg_burkeratio_free(ptr, 0);
4396
+ }
4397
+ /**
4398
+ * @param {Float64Array} prices
4399
+ * @returns {Float64Array}
4400
+ */
4401
+ batch(prices) {
4402
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
4403
+ const len0 = WASM_VECTOR_LEN;
4404
+ const ret = wasm.burkeratio_batch(this.__wbg_ptr, ptr0, len0);
4405
+ return takeObject(ret);
4406
+ }
4407
+ /**
4408
+ * @returns {boolean}
4409
+ */
4410
+ isReady() {
4411
+ const ret = wasm.burkeratio_isReady(this.__wbg_ptr);
4412
+ return ret !== 0;
4413
+ }
4414
+ /**
4415
+ * @param {number} period
4416
+ */
4417
+ constructor(period) {
4418
+ try {
4419
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
4420
+ wasm.burkeratio_new(retptr, period);
4421
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
4422
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
4423
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
4424
+ if (r2) {
4425
+ throw takeObject(r1);
4426
+ }
4427
+ this.__wbg_ptr = r0;
4428
+ BurkeRatioFinalization.register(this, this.__wbg_ptr, this);
4429
+ return this;
4430
+ } finally {
4431
+ wasm.__wbindgen_add_to_stack_pointer(16);
4432
+ }
4433
+ }
4434
+ reset() {
4435
+ wasm.burkeratio_reset(this.__wbg_ptr);
4436
+ }
4437
+ /**
4438
+ * @param {number} value
4439
+ * @returns {number | undefined}
4440
+ */
4441
+ update(value) {
4442
+ try {
4443
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
4444
+ wasm.burkeratio_update(retptr, this.__wbg_ptr, value);
4445
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
4446
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
4447
+ return r0 === 0 ? undefined : r2;
4448
+ } finally {
4449
+ wasm.__wbindgen_add_to_stack_pointer(16);
4450
+ }
4451
+ }
4452
+ /**
4453
+ * @returns {number}
4454
+ */
4455
+ warmupPeriod() {
4456
+ const ret = wasm.burkeratio_warmupPeriod(this.__wbg_ptr);
4457
+ return ret >>> 0;
4458
+ }
4459
+ }
4460
+ if (Symbol.dispose) BurkeRatio.prototype[Symbol.dispose] = BurkeRatio.prototype.free;
4461
+
4386
4462
  export class Butterfly {
4387
4463
  __destroy_into_raw() {
4388
4464
  const ptr = this.__wbg_ptr;
@@ -6222,6 +6298,82 @@ export class Cointegration {
6222
6298
  }
6223
6299
  if (Symbol.dispose) Cointegration.prototype[Symbol.dispose] = Cointegration.prototype.free;
6224
6300
 
6301
+ export class CommonSenseRatio {
6302
+ __destroy_into_raw() {
6303
+ const ptr = this.__wbg_ptr;
6304
+ this.__wbg_ptr = 0;
6305
+ CommonSenseRatioFinalization.unregister(this);
6306
+ return ptr;
6307
+ }
6308
+ free() {
6309
+ const ptr = this.__destroy_into_raw();
6310
+ wasm.__wbg_commonsenseratio_free(ptr, 0);
6311
+ }
6312
+ /**
6313
+ * @param {Float64Array} prices
6314
+ * @returns {Float64Array}
6315
+ */
6316
+ batch(prices) {
6317
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
6318
+ const len0 = WASM_VECTOR_LEN;
6319
+ const ret = wasm.commonsenseratio_batch(this.__wbg_ptr, ptr0, len0);
6320
+ return takeObject(ret);
6321
+ }
6322
+ /**
6323
+ * @returns {boolean}
6324
+ */
6325
+ isReady() {
6326
+ const ret = wasm.commonsenseratio_isReady(this.__wbg_ptr);
6327
+ return ret !== 0;
6328
+ }
6329
+ /**
6330
+ * @param {number} period
6331
+ */
6332
+ constructor(period) {
6333
+ try {
6334
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
6335
+ wasm.commonsenseratio_new(retptr, period);
6336
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
6337
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
6338
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
6339
+ if (r2) {
6340
+ throw takeObject(r1);
6341
+ }
6342
+ this.__wbg_ptr = r0;
6343
+ CommonSenseRatioFinalization.register(this, this.__wbg_ptr, this);
6344
+ return this;
6345
+ } finally {
6346
+ wasm.__wbindgen_add_to_stack_pointer(16);
6347
+ }
6348
+ }
6349
+ reset() {
6350
+ wasm.commonsenseratio_reset(this.__wbg_ptr);
6351
+ }
6352
+ /**
6353
+ * @param {number} value
6354
+ * @returns {number | undefined}
6355
+ */
6356
+ update(value) {
6357
+ try {
6358
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
6359
+ wasm.commonsenseratio_update(retptr, this.__wbg_ptr, value);
6360
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
6361
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
6362
+ return r0 === 0 ? undefined : r2;
6363
+ } finally {
6364
+ wasm.__wbindgen_add_to_stack_pointer(16);
6365
+ }
6366
+ }
6367
+ /**
6368
+ * @returns {number}
6369
+ */
6370
+ warmupPeriod() {
6371
+ const ret = wasm.commonsenseratio_warmupPeriod(this.__wbg_ptr);
6372
+ return ret >>> 0;
6373
+ }
6374
+ }
6375
+ if (Symbol.dispose) CommonSenseRatio.prototype[Symbol.dispose] = CommonSenseRatio.prototype.free;
6376
+
6225
6377
  export class CompositeProfile {
6226
6378
  __destroy_into_raw() {
6227
6379
  const ptr = this.__wbg_ptr;
@@ -12694,6 +12846,82 @@ export class GainLossRatio {
12694
12846
  }
12695
12847
  if (Symbol.dispose) GainLossRatio.prototype[Symbol.dispose] = GainLossRatio.prototype.free;
12696
12848
 
12849
+ export class GainToPainRatio {
12850
+ __destroy_into_raw() {
12851
+ const ptr = this.__wbg_ptr;
12852
+ this.__wbg_ptr = 0;
12853
+ GainToPainRatioFinalization.unregister(this);
12854
+ return ptr;
12855
+ }
12856
+ free() {
12857
+ const ptr = this.__destroy_into_raw();
12858
+ wasm.__wbg_gaintopainratio_free(ptr, 0);
12859
+ }
12860
+ /**
12861
+ * @param {Float64Array} prices
12862
+ * @returns {Float64Array}
12863
+ */
12864
+ batch(prices) {
12865
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
12866
+ const len0 = WASM_VECTOR_LEN;
12867
+ const ret = wasm.gaintopainratio_batch(this.__wbg_ptr, ptr0, len0);
12868
+ return takeObject(ret);
12869
+ }
12870
+ /**
12871
+ * @returns {boolean}
12872
+ */
12873
+ isReady() {
12874
+ const ret = wasm.gaintopainratio_isReady(this.__wbg_ptr);
12875
+ return ret !== 0;
12876
+ }
12877
+ /**
12878
+ * @param {number} period
12879
+ */
12880
+ constructor(period) {
12881
+ try {
12882
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
12883
+ wasm.gaintopainratio_new(retptr, period);
12884
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
12885
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
12886
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
12887
+ if (r2) {
12888
+ throw takeObject(r1);
12889
+ }
12890
+ this.__wbg_ptr = r0;
12891
+ GainToPainRatioFinalization.register(this, this.__wbg_ptr, this);
12892
+ return this;
12893
+ } finally {
12894
+ wasm.__wbindgen_add_to_stack_pointer(16);
12895
+ }
12896
+ }
12897
+ reset() {
12898
+ wasm.gaintopainratio_reset(this.__wbg_ptr);
12899
+ }
12900
+ /**
12901
+ * @param {number} value
12902
+ * @returns {number | undefined}
12903
+ */
12904
+ update(value) {
12905
+ try {
12906
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
12907
+ wasm.gaintopainratio_update(retptr, this.__wbg_ptr, value);
12908
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
12909
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
12910
+ return r0 === 0 ? undefined : r2;
12911
+ } finally {
12912
+ wasm.__wbindgen_add_to_stack_pointer(16);
12913
+ }
12914
+ }
12915
+ /**
12916
+ * @returns {number}
12917
+ */
12918
+ warmupPeriod() {
12919
+ const ret = wasm.gaintopainratio_warmupPeriod(this.__wbg_ptr);
12920
+ return ret >>> 0;
12921
+ }
12922
+ }
12923
+ if (Symbol.dispose) GainToPainRatio.prototype[Symbol.dispose] = GainToPainRatio.prototype.free;
12924
+
12697
12925
  export class GapSideBySideWhite {
12698
12926
  __destroy_into_raw() {
12699
12927
  const ptr = this.__wbg_ptr;
@@ -16995,6 +17223,82 @@ export class KAMA {
16995
17223
  }
16996
17224
  if (Symbol.dispose) KAMA.prototype[Symbol.dispose] = KAMA.prototype.free;
16997
17225
 
17226
+ export class KRatio {
17227
+ __destroy_into_raw() {
17228
+ const ptr = this.__wbg_ptr;
17229
+ this.__wbg_ptr = 0;
17230
+ KRatioFinalization.unregister(this);
17231
+ return ptr;
17232
+ }
17233
+ free() {
17234
+ const ptr = this.__destroy_into_raw();
17235
+ wasm.__wbg_kratio_free(ptr, 0);
17236
+ }
17237
+ /**
17238
+ * @param {Float64Array} prices
17239
+ * @returns {Float64Array}
17240
+ */
17241
+ batch(prices) {
17242
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
17243
+ const len0 = WASM_VECTOR_LEN;
17244
+ const ret = wasm.kratio_batch(this.__wbg_ptr, ptr0, len0);
17245
+ return takeObject(ret);
17246
+ }
17247
+ /**
17248
+ * @returns {boolean}
17249
+ */
17250
+ isReady() {
17251
+ const ret = wasm.kratio_isReady(this.__wbg_ptr);
17252
+ return ret !== 0;
17253
+ }
17254
+ /**
17255
+ * @param {number} period
17256
+ */
17257
+ constructor(period) {
17258
+ try {
17259
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
17260
+ wasm.kratio_new(retptr, period);
17261
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
17262
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
17263
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
17264
+ if (r2) {
17265
+ throw takeObject(r1);
17266
+ }
17267
+ this.__wbg_ptr = r0;
17268
+ KRatioFinalization.register(this, this.__wbg_ptr, this);
17269
+ return this;
17270
+ } finally {
17271
+ wasm.__wbindgen_add_to_stack_pointer(16);
17272
+ }
17273
+ }
17274
+ reset() {
17275
+ wasm.kratio_reset(this.__wbg_ptr);
17276
+ }
17277
+ /**
17278
+ * @param {number} value
17279
+ * @returns {number | undefined}
17280
+ */
17281
+ update(value) {
17282
+ try {
17283
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
17284
+ wasm.kratio_update(retptr, this.__wbg_ptr, value);
17285
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
17286
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
17287
+ return r0 === 0 ? undefined : r2;
17288
+ } finally {
17289
+ wasm.__wbindgen_add_to_stack_pointer(16);
17290
+ }
17291
+ }
17292
+ /**
17293
+ * @returns {number}
17294
+ */
17295
+ warmupPeriod() {
17296
+ const ret = wasm.kratio_warmupPeriod(this.__wbg_ptr);
17297
+ return ret >>> 0;
17298
+ }
17299
+ }
17300
+ if (Symbol.dispose) KRatio.prototype[Symbol.dispose] = KRatio.prototype.free;
17301
+
16998
17302
  export class KST {
16999
17303
  static __wrap(ptr) {
17000
17304
  const obj = Object.create(KST.prototype);
@@ -19128,6 +19432,84 @@ export class LongShortRatio {
19128
19432
  }
19129
19433
  if (Symbol.dispose) LongShortRatio.prototype[Symbol.dispose] = LongShortRatio.prototype.free;
19130
19434
 
19435
+ export class M2Measure {
19436
+ __destroy_into_raw() {
19437
+ const ptr = this.__wbg_ptr;
19438
+ this.__wbg_ptr = 0;
19439
+ M2MeasureFinalization.unregister(this);
19440
+ return ptr;
19441
+ }
19442
+ free() {
19443
+ const ptr = this.__destroy_into_raw();
19444
+ wasm.__wbg_m2measure_free(ptr, 0);
19445
+ }
19446
+ /**
19447
+ * @param {Float64Array} prices
19448
+ * @returns {Float64Array}
19449
+ */
19450
+ batch(prices) {
19451
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
19452
+ const len0 = WASM_VECTOR_LEN;
19453
+ const ret = wasm.m2measure_batch(this.__wbg_ptr, ptr0, len0);
19454
+ return takeObject(ret);
19455
+ }
19456
+ /**
19457
+ * @returns {boolean}
19458
+ */
19459
+ isReady() {
19460
+ const ret = wasm.m2measure_isReady(this.__wbg_ptr);
19461
+ return ret !== 0;
19462
+ }
19463
+ /**
19464
+ * @param {number} period
19465
+ * @param {number} risk_free
19466
+ * @param {number} benchmark_stddev
19467
+ */
19468
+ constructor(period, risk_free, benchmark_stddev) {
19469
+ try {
19470
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
19471
+ wasm.m2measure_new(retptr, period, risk_free, benchmark_stddev);
19472
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
19473
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
19474
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
19475
+ if (r2) {
19476
+ throw takeObject(r1);
19477
+ }
19478
+ this.__wbg_ptr = r0;
19479
+ M2MeasureFinalization.register(this, this.__wbg_ptr, this);
19480
+ return this;
19481
+ } finally {
19482
+ wasm.__wbindgen_add_to_stack_pointer(16);
19483
+ }
19484
+ }
19485
+ reset() {
19486
+ wasm.m2measure_reset(this.__wbg_ptr);
19487
+ }
19488
+ /**
19489
+ * @param {number} value
19490
+ * @returns {number | undefined}
19491
+ */
19492
+ update(value) {
19493
+ try {
19494
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
19495
+ wasm.m2measure_update(retptr, this.__wbg_ptr, value);
19496
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
19497
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
19498
+ return r0 === 0 ? undefined : r2;
19499
+ } finally {
19500
+ wasm.__wbindgen_add_to_stack_pointer(16);
19501
+ }
19502
+ }
19503
+ /**
19504
+ * @returns {number}
19505
+ */
19506
+ warmupPeriod() {
19507
+ const ret = wasm.m2measure_warmupPeriod(this.__wbg_ptr);
19508
+ return ret >>> 0;
19509
+ }
19510
+ }
19511
+ if (Symbol.dispose) M2Measure.prototype[Symbol.dispose] = M2Measure.prototype.free;
19512
+
19131
19513
  export class MACD {
19132
19514
  __destroy_into_raw() {
19133
19515
  const ptr = this.__wbg_ptr;
@@ -20118,6 +20500,82 @@ export class MarketFacilitationIndex {
20118
20500
  }
20119
20501
  if (Symbol.dispose) MarketFacilitationIndex.prototype[Symbol.dispose] = MarketFacilitationIndex.prototype.free;
20120
20502
 
20503
+ export class MartinRatio {
20504
+ __destroy_into_raw() {
20505
+ const ptr = this.__wbg_ptr;
20506
+ this.__wbg_ptr = 0;
20507
+ MartinRatioFinalization.unregister(this);
20508
+ return ptr;
20509
+ }
20510
+ free() {
20511
+ const ptr = this.__destroy_into_raw();
20512
+ wasm.__wbg_martinratio_free(ptr, 0);
20513
+ }
20514
+ /**
20515
+ * @param {Float64Array} prices
20516
+ * @returns {Float64Array}
20517
+ */
20518
+ batch(prices) {
20519
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
20520
+ const len0 = WASM_VECTOR_LEN;
20521
+ const ret = wasm.martinratio_batch(this.__wbg_ptr, ptr0, len0);
20522
+ return takeObject(ret);
20523
+ }
20524
+ /**
20525
+ * @returns {boolean}
20526
+ */
20527
+ isReady() {
20528
+ const ret = wasm.martinratio_isReady(this.__wbg_ptr);
20529
+ return ret !== 0;
20530
+ }
20531
+ /**
20532
+ * @param {number} period
20533
+ */
20534
+ constructor(period) {
20535
+ try {
20536
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20537
+ wasm.martinratio_new(retptr, period);
20538
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20539
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
20540
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
20541
+ if (r2) {
20542
+ throw takeObject(r1);
20543
+ }
20544
+ this.__wbg_ptr = r0;
20545
+ MartinRatioFinalization.register(this, this.__wbg_ptr, this);
20546
+ return this;
20547
+ } finally {
20548
+ wasm.__wbindgen_add_to_stack_pointer(16);
20549
+ }
20550
+ }
20551
+ reset() {
20552
+ wasm.martinratio_reset(this.__wbg_ptr);
20553
+ }
20554
+ /**
20555
+ * @param {number} value
20556
+ * @returns {number | undefined}
20557
+ */
20558
+ update(value) {
20559
+ try {
20560
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20561
+ wasm.martinratio_update(retptr, this.__wbg_ptr, value);
20562
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20563
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
20564
+ return r0 === 0 ? undefined : r2;
20565
+ } finally {
20566
+ wasm.__wbindgen_add_to_stack_pointer(16);
20567
+ }
20568
+ }
20569
+ /**
20570
+ * @returns {number}
20571
+ */
20572
+ warmupPeriod() {
20573
+ const ret = wasm.martinratio_warmupPeriod(this.__wbg_ptr);
20574
+ return ret >>> 0;
20575
+ }
20576
+ }
20577
+ if (Symbol.dispose) MartinRatio.prototype[Symbol.dispose] = MartinRatio.prototype.free;
20578
+
20121
20579
  export class Marubozu {
20122
20580
  __destroy_into_raw() {
20123
20581
  const ptr = this.__wbg_ptr;
@@ -31169,6 +31627,82 @@ export class StepTrailingStop {
31169
31627
  }
31170
31628
  if (Symbol.dispose) StepTrailingStop.prototype[Symbol.dispose] = StepTrailingStop.prototype.free;
31171
31629
 
31630
+ export class SterlingRatio {
31631
+ __destroy_into_raw() {
31632
+ const ptr = this.__wbg_ptr;
31633
+ this.__wbg_ptr = 0;
31634
+ SterlingRatioFinalization.unregister(this);
31635
+ return ptr;
31636
+ }
31637
+ free() {
31638
+ const ptr = this.__destroy_into_raw();
31639
+ wasm.__wbg_sterlingratio_free(ptr, 0);
31640
+ }
31641
+ /**
31642
+ * @param {Float64Array} prices
31643
+ * @returns {Float64Array}
31644
+ */
31645
+ batch(prices) {
31646
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
31647
+ const len0 = WASM_VECTOR_LEN;
31648
+ const ret = wasm.sterlingratio_batch(this.__wbg_ptr, ptr0, len0);
31649
+ return takeObject(ret);
31650
+ }
31651
+ /**
31652
+ * @returns {boolean}
31653
+ */
31654
+ isReady() {
31655
+ const ret = wasm.sterlingratio_isReady(this.__wbg_ptr);
31656
+ return ret !== 0;
31657
+ }
31658
+ /**
31659
+ * @param {number} period
31660
+ */
31661
+ constructor(period) {
31662
+ try {
31663
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
31664
+ wasm.sterlingratio_new(retptr, period);
31665
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
31666
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
31667
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
31668
+ if (r2) {
31669
+ throw takeObject(r1);
31670
+ }
31671
+ this.__wbg_ptr = r0;
31672
+ SterlingRatioFinalization.register(this, this.__wbg_ptr, this);
31673
+ return this;
31674
+ } finally {
31675
+ wasm.__wbindgen_add_to_stack_pointer(16);
31676
+ }
31677
+ }
31678
+ reset() {
31679
+ wasm.sterlingratio_reset(this.__wbg_ptr);
31680
+ }
31681
+ /**
31682
+ * @param {number} value
31683
+ * @returns {number | undefined}
31684
+ */
31685
+ update(value) {
31686
+ try {
31687
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
31688
+ wasm.sterlingratio_update(retptr, this.__wbg_ptr, value);
31689
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
31690
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
31691
+ return r0 === 0 ? undefined : r2;
31692
+ } finally {
31693
+ wasm.__wbindgen_add_to_stack_pointer(16);
31694
+ }
31695
+ }
31696
+ /**
31697
+ * @returns {number}
31698
+ */
31699
+ warmupPeriod() {
31700
+ const ret = wasm.sterlingratio_warmupPeriod(this.__wbg_ptr);
31701
+ return ret >>> 0;
31702
+ }
31703
+ }
31704
+ if (Symbol.dispose) SterlingRatio.prototype[Symbol.dispose] = SterlingRatio.prototype.free;
31705
+
31172
31706
  export class StickSandwich {
31173
31707
  __destroy_into_raw() {
31174
31708
  const ptr = this.__wbg_ptr;
@@ -34373,6 +34907,82 @@ export class TTM_TREND {
34373
34907
  }
34374
34908
  if (Symbol.dispose) TTM_TREND.prototype[Symbol.dispose] = TTM_TREND.prototype.free;
34375
34909
 
34910
+ export class TailRatio {
34911
+ __destroy_into_raw() {
34912
+ const ptr = this.__wbg_ptr;
34913
+ this.__wbg_ptr = 0;
34914
+ TailRatioFinalization.unregister(this);
34915
+ return ptr;
34916
+ }
34917
+ free() {
34918
+ const ptr = this.__destroy_into_raw();
34919
+ wasm.__wbg_tailratio_free(ptr, 0);
34920
+ }
34921
+ /**
34922
+ * @param {Float64Array} prices
34923
+ * @returns {Float64Array}
34924
+ */
34925
+ batch(prices) {
34926
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
34927
+ const len0 = WASM_VECTOR_LEN;
34928
+ const ret = wasm.tailratio_batch(this.__wbg_ptr, ptr0, len0);
34929
+ return takeObject(ret);
34930
+ }
34931
+ /**
34932
+ * @returns {boolean}
34933
+ */
34934
+ isReady() {
34935
+ const ret = wasm.tailratio_isReady(this.__wbg_ptr);
34936
+ return ret !== 0;
34937
+ }
34938
+ /**
34939
+ * @param {number} period
34940
+ */
34941
+ constructor(period) {
34942
+ try {
34943
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
34944
+ wasm.tailratio_new(retptr, period);
34945
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
34946
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
34947
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
34948
+ if (r2) {
34949
+ throw takeObject(r1);
34950
+ }
34951
+ this.__wbg_ptr = r0;
34952
+ TailRatioFinalization.register(this, this.__wbg_ptr, this);
34953
+ return this;
34954
+ } finally {
34955
+ wasm.__wbindgen_add_to_stack_pointer(16);
34956
+ }
34957
+ }
34958
+ reset() {
34959
+ wasm.tailratio_reset(this.__wbg_ptr);
34960
+ }
34961
+ /**
34962
+ * @param {number} value
34963
+ * @returns {number | undefined}
34964
+ */
34965
+ update(value) {
34966
+ try {
34967
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
34968
+ wasm.tailratio_update(retptr, this.__wbg_ptr, value);
34969
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
34970
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
34971
+ return r0 === 0 ? undefined : r2;
34972
+ } finally {
34973
+ wasm.__wbindgen_add_to_stack_pointer(16);
34974
+ }
34975
+ }
34976
+ /**
34977
+ * @returns {number}
34978
+ */
34979
+ warmupPeriod() {
34980
+ const ret = wasm.tailratio_warmupPeriod(this.__wbg_ptr);
34981
+ return ret >>> 0;
34982
+ }
34983
+ }
34984
+ if (Symbol.dispose) TailRatio.prototype[Symbol.dispose] = TailRatio.prototype.free;
34985
+
34376
34986
  export class TakerBuySellRatio {
34377
34987
  __destroy_into_raw() {
34378
34988
  const ptr = this.__wbg_ptr;
@@ -37833,6 +38443,83 @@ export class UpsideGapTwoCrows {
37833
38443
  }
37834
38444
  if (Symbol.dispose) UpsideGapTwoCrows.prototype[Symbol.dispose] = UpsideGapTwoCrows.prototype.free;
37835
38445
 
38446
+ export class UpsidePotentialRatio {
38447
+ __destroy_into_raw() {
38448
+ const ptr = this.__wbg_ptr;
38449
+ this.__wbg_ptr = 0;
38450
+ UpsidePotentialRatioFinalization.unregister(this);
38451
+ return ptr;
38452
+ }
38453
+ free() {
38454
+ const ptr = this.__destroy_into_raw();
38455
+ wasm.__wbg_upsidepotentialratio_free(ptr, 0);
38456
+ }
38457
+ /**
38458
+ * @param {Float64Array} prices
38459
+ * @returns {Float64Array}
38460
+ */
38461
+ batch(prices) {
38462
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
38463
+ const len0 = WASM_VECTOR_LEN;
38464
+ const ret = wasm.upsidepotentialratio_batch(this.__wbg_ptr, ptr0, len0);
38465
+ return takeObject(ret);
38466
+ }
38467
+ /**
38468
+ * @returns {boolean}
38469
+ */
38470
+ isReady() {
38471
+ const ret = wasm.upsidepotentialratio_isReady(this.__wbg_ptr);
38472
+ return ret !== 0;
38473
+ }
38474
+ /**
38475
+ * @param {number} period
38476
+ * @param {number} mar
38477
+ */
38478
+ constructor(period, mar) {
38479
+ try {
38480
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
38481
+ wasm.upsidepotentialratio_new(retptr, period, mar);
38482
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
38483
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
38484
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
38485
+ if (r2) {
38486
+ throw takeObject(r1);
38487
+ }
38488
+ this.__wbg_ptr = r0;
38489
+ UpsidePotentialRatioFinalization.register(this, this.__wbg_ptr, this);
38490
+ return this;
38491
+ } finally {
38492
+ wasm.__wbindgen_add_to_stack_pointer(16);
38493
+ }
38494
+ }
38495
+ reset() {
38496
+ wasm.upsidepotentialratio_reset(this.__wbg_ptr);
38497
+ }
38498
+ /**
38499
+ * @param {number} value
38500
+ * @returns {number | undefined}
38501
+ */
38502
+ update(value) {
38503
+ try {
38504
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
38505
+ wasm.upsidepotentialratio_update(retptr, this.__wbg_ptr, value);
38506
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
38507
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
38508
+ return r0 === 0 ? undefined : r2;
38509
+ } finally {
38510
+ wasm.__wbindgen_add_to_stack_pointer(16);
38511
+ }
38512
+ }
38513
+ /**
38514
+ * @returns {number}
38515
+ */
38516
+ warmupPeriod() {
38517
+ const ret = wasm.upsidepotentialratio_warmupPeriod(this.__wbg_ptr);
38518
+ return ret >>> 0;
38519
+ }
38520
+ }
38521
+ if (Symbol.dispose) UpsidePotentialRatio.prototype[Symbol.dispose] = UpsidePotentialRatio.prototype.free;
38522
+
37836
38523
  export class VIDYA {
37837
38524
  __destroy_into_raw() {
37838
38525
  const ptr = this.__wbg_ptr;
@@ -41611,6 +42298,9 @@ const BreakawayFinalization = (typeof FinalizationRegistry === 'undefined')
41611
42298
  const BullishPercentIndexFinalization = (typeof FinalizationRegistry === 'undefined')
41612
42299
  ? { register: () => {}, unregister: () => {} }
41613
42300
  : new FinalizationRegistry(ptr => wasm.__wbg_bullishpercentindex_free(ptr, 1));
42301
+ const BurkeRatioFinalization = (typeof FinalizationRegistry === 'undefined')
42302
+ ? { register: () => {}, unregister: () => {} }
42303
+ : new FinalizationRegistry(ptr => wasm.__wbg_burkeratio_free(ptr, 1));
41614
42304
  const ButterflyFinalization = (typeof FinalizationRegistry === 'undefined')
41615
42305
  ? { register: () => {}, unregister: () => {} }
41616
42306
  : new FinalizationRegistry(ptr => wasm.__wbg_butterfly_free(ptr, 1));
@@ -41674,6 +42364,9 @@ const CoefficientOfVariationFinalization = (typeof FinalizationRegistry === 'und
41674
42364
  const CointegrationFinalization = (typeof FinalizationRegistry === 'undefined')
41675
42365
  ? { register: () => {}, unregister: () => {} }
41676
42366
  : new FinalizationRegistry(ptr => wasm.__wbg_cointegration_free(ptr, 1));
42367
+ const CommonSenseRatioFinalization = (typeof FinalizationRegistry === 'undefined')
42368
+ ? { register: () => {}, unregister: () => {} }
42369
+ : new FinalizationRegistry(ptr => wasm.__wbg_commonsenseratio_free(ptr, 1));
41677
42370
  const CompositeProfileFinalization = (typeof FinalizationRegistry === 'undefined')
41678
42371
  ? { register: () => {}, unregister: () => {} }
41679
42372
  : new FinalizationRegistry(ptr => wasm.__wbg_compositeprofile_free(ptr, 1));
@@ -41911,6 +42604,9 @@ const FundingRateZScoreFinalization = (typeof FinalizationRegistry === 'undefine
41911
42604
  const GainLossRatioFinalization = (typeof FinalizationRegistry === 'undefined')
41912
42605
  ? { register: () => {}, unregister: () => {} }
41913
42606
  : new FinalizationRegistry(ptr => wasm.__wbg_gainlossratio_free(ptr, 1));
42607
+ const GainToPainRatioFinalization = (typeof FinalizationRegistry === 'undefined')
42608
+ ? { register: () => {}, unregister: () => {} }
42609
+ : new FinalizationRegistry(ptr => wasm.__wbg_gaintopainratio_free(ptr, 1));
41914
42610
  const GapSideBySideWhiteFinalization = (typeof FinalizationRegistry === 'undefined')
41915
42611
  ? { register: () => {}, unregister: () => {} }
41916
42612
  : new FinalizationRegistry(ptr => wasm.__wbg_gapsidebysidewhite_free(ptr, 1));
@@ -42064,6 +42760,9 @@ const JMAFinalization = (typeof FinalizationRegistry === 'undefined')
42064
42760
  const JumpIndicatorFinalization = (typeof FinalizationRegistry === 'undefined')
42065
42761
  ? { register: () => {}, unregister: () => {} }
42066
42762
  : new FinalizationRegistry(ptr => wasm.__wbg_jumpindicator_free(ptr, 1));
42763
+ const KRatioFinalization = (typeof FinalizationRegistry === 'undefined')
42764
+ ? { register: () => {}, unregister: () => {} }
42765
+ : new FinalizationRegistry(ptr => wasm.__wbg_kratio_free(ptr, 1));
42067
42766
  const KagiBarsFinalization = (typeof FinalizationRegistry === 'undefined')
42068
42767
  ? { register: () => {}, unregister: () => {} }
42069
42768
  : new FinalizationRegistry(ptr => wasm.__wbg_kagibars_free(ptr, 1));
@@ -42145,6 +42844,9 @@ const LongLineFinalization = (typeof FinalizationRegistry === 'undefined')
42145
42844
  const LongShortRatioFinalization = (typeof FinalizationRegistry === 'undefined')
42146
42845
  ? { register: () => {}, unregister: () => {} }
42147
42846
  : new FinalizationRegistry(ptr => wasm.__wbg_longshortratio_free(ptr, 1));
42847
+ const M2MeasureFinalization = (typeof FinalizationRegistry === 'undefined')
42848
+ ? { register: () => {}, unregister: () => {} }
42849
+ : new FinalizationRegistry(ptr => wasm.__wbg_m2measure_free(ptr, 1));
42148
42850
  const MaEnvelopeFinalization = (typeof FinalizationRegistry === 'undefined')
42149
42851
  ? { register: () => {}, unregister: () => {} }
42150
42852
  : new FinalizationRegistry(ptr => wasm.__wbg_maenvelope_free(ptr, 1));
@@ -42166,6 +42868,9 @@ const MAMAFinalization = (typeof FinalizationRegistry === 'undefined')
42166
42868
  const MarketFacilitationIndexFinalization = (typeof FinalizationRegistry === 'undefined')
42167
42869
  ? { register: () => {}, unregister: () => {} }
42168
42870
  : new FinalizationRegistry(ptr => wasm.__wbg_marketfacilitationindex_free(ptr, 1));
42871
+ const MartinRatioFinalization = (typeof FinalizationRegistry === 'undefined')
42872
+ ? { register: () => {}, unregister: () => {} }
42873
+ : new FinalizationRegistry(ptr => wasm.__wbg_martinratio_free(ptr, 1));
42169
42874
  const MarubozuFinalization = (typeof FinalizationRegistry === 'undefined')
42170
42875
  ? { register: () => {}, unregister: () => {} }
42171
42876
  : new FinalizationRegistry(ptr => wasm.__wbg_marubozu_free(ptr, 1));
@@ -42592,6 +43297,9 @@ const StdDevFinalization = (typeof FinalizationRegistry === 'undefined')
42592
43297
  const StepTrailingStopFinalization = (typeof FinalizationRegistry === 'undefined')
42593
43298
  ? { register: () => {}, unregister: () => {} }
42594
43299
  : new FinalizationRegistry(ptr => wasm.__wbg_steptrailingstop_free(ptr, 1));
43300
+ const SterlingRatioFinalization = (typeof FinalizationRegistry === 'undefined')
43301
+ ? { register: () => {}, unregister: () => {} }
43302
+ : new FinalizationRegistry(ptr => wasm.__wbg_sterlingratio_free(ptr, 1));
42595
43303
  const StickSandwichFinalization = (typeof FinalizationRegistry === 'undefined')
42596
43304
  ? { register: () => {}, unregister: () => {} }
42597
43305
  : new FinalizationRegistry(ptr => wasm.__wbg_sticksandwich_free(ptr, 1));
@@ -42613,6 +43321,9 @@ const SuperTrendFinalization = (typeof FinalizationRegistry === 'undefined')
42613
43321
  const T3Finalization = (typeof FinalizationRegistry === 'undefined')
42614
43322
  ? { register: () => {}, unregister: () => {} }
42615
43323
  : new FinalizationRegistry(ptr => wasm.__wbg_t3_free(ptr, 1));
43324
+ const TailRatioFinalization = (typeof FinalizationRegistry === 'undefined')
43325
+ ? { register: () => {}, unregister: () => {} }
43326
+ : new FinalizationRegistry(ptr => wasm.__wbg_tailratio_free(ptr, 1));
42616
43327
  const TakerBuySellRatioFinalization = (typeof FinalizationRegistry === 'undefined')
42617
43328
  ? { register: () => {}, unregister: () => {} }
42618
43329
  : new FinalizationRegistry(ptr => wasm.__wbg_takerbuysellratio_free(ptr, 1));
@@ -42823,6 +43534,9 @@ const UpsideGapThreeMethodsFinalization = (typeof FinalizationRegistry === 'unde
42823
43534
  const UpsideGapTwoCrowsFinalization = (typeof FinalizationRegistry === 'undefined')
42824
43535
  ? { register: () => {}, unregister: () => {} }
42825
43536
  : new FinalizationRegistry(ptr => wasm.__wbg_upsidegaptwocrows_free(ptr, 1));
43537
+ const UpsidePotentialRatioFinalization = (typeof FinalizationRegistry === 'undefined')
43538
+ ? { register: () => {}, unregister: () => {} }
43539
+ : new FinalizationRegistry(ptr => wasm.__wbg_upsidepotentialratio_free(ptr, 1));
42826
43540
  const ValueAreaFinalization = (typeof FinalizationRegistry === 'undefined')
42827
43541
  ? { register: () => {}, unregister: () => {} }
42828
43542
  : new FinalizationRegistry(ptr => wasm.__wbg_valuearea_free(ptr, 1));
Binary file