wickra-wasm 0.6.7 → 0.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="https://wickra.org"><img src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=474" 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=479" 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 474 indicators; start at the
51
+ every one of the 479 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.** 474 indicators across 24
69
+ - **The biggest streaming-native catalogue, period.** 479 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 474 indicators**.
80
+ for all 479 indicators**.
81
81
  - **Orders of magnitude faster where it counts.** In streaming Wickra is **9–58×**
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** | **474** | **yes** |
98
+ | **★&nbsp;Wickra**| **clean** | **yes, O(1)** | **Python · Node · WASM · Rust** | **479** | **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
- 474 streaming-first indicators across twenty-four families. Every one passes the
131
+ 479 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).
@@ -147,7 +147,7 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
147
147
  | Ehlers / Cycle (DSP) | MAMA, FAMA, Fisher Transform, Inverse Fisher Transform, SuperSmoother, Hilbert Dominant Cycle, Hilbert Phasor, Hilbert DC Phase, Hilbert Trend Mode, Sine Wave, Decycler, Decycler Oscillator, Roofing Filter, Center of Gravity, Cybernetic Cycle, Adaptive Cycle, Empirical Mode Decomposition, Ehlers Stochastic, Instantaneous Trendline, Highpass Filter, Reflex, Trendflex, Correlation Trend Indicator, Adaptive RSI, Universal Oscillator, Adaptive CCI, Bandpass Filter, Even Better Sinewave, Autocorrelation Periodogram |
148
148
  | Pivots & S/R | Classic Pivots, Fibonacci Pivots, Camarilla, Woodie Pivots, DeMark Pivots, Williams Fractals, ZigZag, Central Pivot Range, Murrey Math Lines, Andrews Pitchfork, Volume-Weighted Support/Resistance, Pivot Reversal |
149
149
  | DeMark | TD Setup, TD Sequential, TD DeMarker, TD REI, TD Pressure, TD Combo, TD Countdown, TD Lines, TD Range Projection, TD Differential, TD Open, TD Risk Level, TD Camouflage, TD Clop, TD Clopwin, TD Propulsion, TD Trap, TD D-Wave, TD Moving Averages |
150
- | Ichimoku & Charts | Ichimoku Kinko Hyo (Tenkan, Kijun, Senkou A/B, Chikou), Heikin-Ashi |
150
+ | Ichimoku & Charts | Ichimoku Kinko Hyo (Tenkan, Kijun, Senkou A/B, Chikou), Heikin-Ashi, Heikin-Ashi Oscillator, Three Line Break, Smoothed Heikin-Ashi, Equivolume, CandleVolume |
151
151
  | Alt-Chart Bars | Renko (box-size bricks), Kagi (reversal-amount lines), Point & Figure (X/O columns) |
152
152
  | Candlestick Patterns | Doji, Hammer, Inverted Hammer, Hanging Man, Shooting Star, Engulfing, Harami, Morning/Evening Star, Three White Soldiers/Black Crows, Piercing Line/Dark Cloud Cover, Marubozu, Tweezer, Spinning Top, Three Inside Up/Down, Three Outside Up/Down, Two Crows, Upside Gap Two Crows, Identical Three Crows, Three Line Strike, Three Stars in the South, Abandoned Baby, Advance Block, Belt-hold, Breakaway, Counterattack, Doji Star, Dragonfly Doji, Gravestone Doji, Long-Legged Doji, Rickshaw Man, Evening Doji Star, Morning Doji Star, Gap Side-by-Side White, High-Wave, Hikkake, Modified Hikkake, Homing Pigeon, On-Neck, In-Neck, Thrusting, Separating Lines, Kicking, Kicking by Length, Ladder Bottom, Mat Hold, Matching Low, Long Line, Short Line, Rising Three Methods, Falling Three Methods, Upside Gap Three Methods, Downside Gap Three Methods, Stalled Pattern, Stick Sandwich, Takuri, Closing Marubozu, Opening Marubozu, Tasuki Gap, Unique Three River, Concealing Baby Swallow |
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 |
@@ -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 474 indicators
240
+ │ ├── wickra-core/ core engine + all 479 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.7",
8
+ "version": "0.6.8",
9
9
  "license": "MIT OR Apache-2.0",
10
10
  "repository": {
11
11
  "type": "git",
package/wickra_wasm.d.ts CHANGED
@@ -680,6 +680,17 @@ export class Camarilla {
680
680
  warmupPeriod(): number;
681
681
  }
682
682
 
683
+ export class CandleVolume {
684
+ free(): void;
685
+ [Symbol.dispose](): void;
686
+ batch(open: Float64Array, close: Float64Array, volume: Float64Array): Float64Array;
687
+ isReady(): boolean;
688
+ constructor(period: number);
689
+ reset(): void;
690
+ update(open: number, close: number, volume: number): any;
691
+ warmupPeriod(): number;
692
+ }
693
+
683
694
  export class CenterOfGravity {
684
695
  free(): void;
685
696
  [Symbol.dispose](): void;
@@ -1350,6 +1361,17 @@ export class Engulfing {
1350
1361
  warmupPeriod(): number;
1351
1362
  }
1352
1363
 
1364
+ export class Equivolume {
1365
+ free(): void;
1366
+ [Symbol.dispose](): void;
1367
+ batch(high: Float64Array, low: Float64Array, volume: Float64Array): Float64Array;
1368
+ isReady(): boolean;
1369
+ constructor(period: number);
1370
+ reset(): void;
1371
+ update(high: number, low: number, volume: number): any;
1372
+ warmupPeriod(): number;
1373
+ }
1374
+
1353
1375
  export class EveningDojiStar {
1354
1376
  free(): void;
1355
1377
  [Symbol.dispose](): void;
@@ -1870,6 +1892,17 @@ export class HeikinAshi {
1870
1892
  warmupPeriod(): number;
1871
1893
  }
1872
1894
 
1895
+ export class HeikinAshiOscillator {
1896
+ free(): void;
1897
+ [Symbol.dispose](): void;
1898
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
1899
+ isReady(): boolean;
1900
+ constructor(period: number);
1901
+ reset(): void;
1902
+ update(open: number, high: number, low: number, close: number): number | undefined;
1903
+ warmupPeriod(): number;
1904
+ }
1905
+
1873
1906
  export class HiLoActivator {
1874
1907
  free(): void;
1875
1908
  [Symbol.dispose](): void;
@@ -3947,6 +3980,17 @@ export class Skewness {
3947
3980
  warmupPeriod(): number;
3948
3981
  }
3949
3982
 
3983
+ export class SmoothedHeikinAshi {
3984
+ free(): void;
3985
+ [Symbol.dispose](): void;
3986
+ batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
3987
+ isReady(): boolean;
3988
+ constructor(period: number);
3989
+ reset(): void;
3990
+ update(open: number, high: number, low: number, close: number): any;
3991
+ warmupPeriod(): number;
3992
+ }
3993
+
3950
3994
  export class SortinoRatio {
3951
3995
  free(): void;
3952
3996
  [Symbol.dispose](): void;
@@ -4586,6 +4630,17 @@ export class ThreeInside {
4586
4630
  warmupPeriod(): number;
4587
4631
  }
4588
4632
 
4633
+ export class ThreeLineBreak {
4634
+ free(): void;
4635
+ [Symbol.dispose](): void;
4636
+ batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
4637
+ isReady(): boolean;
4638
+ constructor(lines: number);
4639
+ reset(): void;
4640
+ update(high: number, low: number, close: number): number | undefined;
4641
+ warmupPeriod(): number;
4642
+ }
4643
+
4589
4644
  export class ThreeLineStrike {
4590
4645
  free(): void;
4591
4646
  [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, 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, DynamicMomentumIndex, EHMA, EMA, EVENBETTERSINE, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, ElderRay, ElderSafeZone, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, EwmaVolatility, Expectancy, FAMA, FRAMA, FallingThreeMethods, FibArcs, FibChannel, FibConfluence, FibExtension, FibFan, FibProjection, FibRetracement, FibTimeZones, FibonacciPivots, FisherRSI, FisherTransform, FlagPennant, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GD, GMA, GainLossRatio, GapSideBySideWhite, Garch11, GarmanKlassVolatility, Gartley, GatorOscillator, GoldenPocket, GrangerCausality, GravestoneDoji, HIGHPASS, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeadAndShoulders, HeikinAshi, HiLoActivator, HighLowIndex, HighLowRange, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HoltWinters, HomingPigeon, HurstChannel, HurstExponent, IMI, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, 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, 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, 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, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TickIndex, TimeBasedStop, TimeOfDayReturnProfile, TpoProfile, TradeImbalance, TradeVolumeIndex, TrendLabel, TreynorRatio, Triangle, Trin, TripleTopBottom, 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, 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, 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, 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, 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, TpoProfile, TradeImbalance, TradeVolumeIndex, TrendLabel, TreynorRatio, Triangle, Trin, TripleTopBottom, 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
@@ -5020,6 +5020,105 @@ export class Camarilla {
5020
5020
  }
5021
5021
  if (Symbol.dispose) Camarilla.prototype[Symbol.dispose] = Camarilla.prototype.free;
5022
5022
 
5023
+ export class CandleVolume {
5024
+ __destroy_into_raw() {
5025
+ const ptr = this.__wbg_ptr;
5026
+ this.__wbg_ptr = 0;
5027
+ CandleVolumeFinalization.unregister(this);
5028
+ return ptr;
5029
+ }
5030
+ free() {
5031
+ const ptr = this.__destroy_into_raw();
5032
+ wasm.__wbg_candlevolume_free(ptr, 0);
5033
+ }
5034
+ /**
5035
+ * @param {Float64Array} open
5036
+ * @param {Float64Array} close
5037
+ * @param {Float64Array} volume
5038
+ * @returns {Float64Array}
5039
+ */
5040
+ batch(open, close, volume) {
5041
+ try {
5042
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
5043
+ const ptr0 = passArrayF64ToWasm0(open, wasm.__wbindgen_export3);
5044
+ const len0 = WASM_VECTOR_LEN;
5045
+ const ptr1 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
5046
+ const len1 = WASM_VECTOR_LEN;
5047
+ const ptr2 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
5048
+ const len2 = WASM_VECTOR_LEN;
5049
+ wasm.candlevolume_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
5050
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
5051
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
5052
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
5053
+ if (r2) {
5054
+ throw takeObject(r1);
5055
+ }
5056
+ return takeObject(r0);
5057
+ } finally {
5058
+ wasm.__wbindgen_add_to_stack_pointer(16);
5059
+ }
5060
+ }
5061
+ /**
5062
+ * @returns {boolean}
5063
+ */
5064
+ isReady() {
5065
+ const ret = wasm.candlevolume_isReady(this.__wbg_ptr);
5066
+ return ret !== 0;
5067
+ }
5068
+ /**
5069
+ * @param {number} period
5070
+ */
5071
+ constructor(period) {
5072
+ try {
5073
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
5074
+ wasm.candlevolume_new(retptr, period);
5075
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
5076
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
5077
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
5078
+ if (r2) {
5079
+ throw takeObject(r1);
5080
+ }
5081
+ this.__wbg_ptr = r0;
5082
+ CandleVolumeFinalization.register(this, this.__wbg_ptr, this);
5083
+ return this;
5084
+ } finally {
5085
+ wasm.__wbindgen_add_to_stack_pointer(16);
5086
+ }
5087
+ }
5088
+ reset() {
5089
+ wasm.candlevolume_reset(this.__wbg_ptr);
5090
+ }
5091
+ /**
5092
+ * @param {number} open
5093
+ * @param {number} close
5094
+ * @param {number} volume
5095
+ * @returns {any}
5096
+ */
5097
+ update(open, close, volume) {
5098
+ try {
5099
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
5100
+ wasm.candlevolume_update(retptr, this.__wbg_ptr, open, close, volume);
5101
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
5102
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
5103
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
5104
+ if (r2) {
5105
+ throw takeObject(r1);
5106
+ }
5107
+ return takeObject(r0);
5108
+ } finally {
5109
+ wasm.__wbindgen_add_to_stack_pointer(16);
5110
+ }
5111
+ }
5112
+ /**
5113
+ * @returns {number}
5114
+ */
5115
+ warmupPeriod() {
5116
+ const ret = wasm.candlevolume_warmupPeriod(this.__wbg_ptr);
5117
+ return ret >>> 0;
5118
+ }
5119
+ }
5120
+ if (Symbol.dispose) CandleVolume.prototype[Symbol.dispose] = CandleVolume.prototype.free;
5121
+
5023
5122
  export class CenterOfGravity {
5024
5123
  __destroy_into_raw() {
5025
5124
  const ptr = this.__wbg_ptr;
@@ -9868,6 +9967,105 @@ export class Engulfing {
9868
9967
  }
9869
9968
  if (Symbol.dispose) Engulfing.prototype[Symbol.dispose] = Engulfing.prototype.free;
9870
9969
 
9970
+ export class Equivolume {
9971
+ __destroy_into_raw() {
9972
+ const ptr = this.__wbg_ptr;
9973
+ this.__wbg_ptr = 0;
9974
+ EquivolumeFinalization.unregister(this);
9975
+ return ptr;
9976
+ }
9977
+ free() {
9978
+ const ptr = this.__destroy_into_raw();
9979
+ wasm.__wbg_equivolume_free(ptr, 0);
9980
+ }
9981
+ /**
9982
+ * @param {Float64Array} high
9983
+ * @param {Float64Array} low
9984
+ * @param {Float64Array} volume
9985
+ * @returns {Float64Array}
9986
+ */
9987
+ batch(high, low, volume) {
9988
+ try {
9989
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
9990
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
9991
+ const len0 = WASM_VECTOR_LEN;
9992
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
9993
+ const len1 = WASM_VECTOR_LEN;
9994
+ const ptr2 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
9995
+ const len2 = WASM_VECTOR_LEN;
9996
+ wasm.equivolume_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
9997
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
9998
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
9999
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
10000
+ if (r2) {
10001
+ throw takeObject(r1);
10002
+ }
10003
+ return takeObject(r0);
10004
+ } finally {
10005
+ wasm.__wbindgen_add_to_stack_pointer(16);
10006
+ }
10007
+ }
10008
+ /**
10009
+ * @returns {boolean}
10010
+ */
10011
+ isReady() {
10012
+ const ret = wasm.equivolume_isReady(this.__wbg_ptr);
10013
+ return ret !== 0;
10014
+ }
10015
+ /**
10016
+ * @param {number} period
10017
+ */
10018
+ constructor(period) {
10019
+ try {
10020
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
10021
+ wasm.equivolume_new(retptr, period);
10022
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
10023
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
10024
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
10025
+ if (r2) {
10026
+ throw takeObject(r1);
10027
+ }
10028
+ this.__wbg_ptr = r0;
10029
+ EquivolumeFinalization.register(this, this.__wbg_ptr, this);
10030
+ return this;
10031
+ } finally {
10032
+ wasm.__wbindgen_add_to_stack_pointer(16);
10033
+ }
10034
+ }
10035
+ reset() {
10036
+ wasm.equivolume_reset(this.__wbg_ptr);
10037
+ }
10038
+ /**
10039
+ * @param {number} high
10040
+ * @param {number} low
10041
+ * @param {number} volume
10042
+ * @returns {any}
10043
+ */
10044
+ update(high, low, volume) {
10045
+ try {
10046
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
10047
+ wasm.equivolume_update(retptr, this.__wbg_ptr, high, low, volume);
10048
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
10049
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
10050
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
10051
+ if (r2) {
10052
+ throw takeObject(r1);
10053
+ }
10054
+ return takeObject(r0);
10055
+ } finally {
10056
+ wasm.__wbindgen_add_to_stack_pointer(16);
10057
+ }
10058
+ }
10059
+ /**
10060
+ * @returns {number}
10061
+ */
10062
+ warmupPeriod() {
10063
+ const ret = wasm.equivolume_warmupPeriod(this.__wbg_ptr);
10064
+ return ret >>> 0;
10065
+ }
10066
+ }
10067
+ if (Symbol.dispose) Equivolume.prototype[Symbol.dispose] = Equivolume.prototype.free;
10068
+
9871
10069
  export class EveningDojiStar {
9872
10070
  __destroy_into_raw() {
9873
10071
  const ptr = this.__wbg_ptr;
@@ -13565,6 +13763,110 @@ export class HeikinAshi {
13565
13763
  }
13566
13764
  if (Symbol.dispose) HeikinAshi.prototype[Symbol.dispose] = HeikinAshi.prototype.free;
13567
13765
 
13766
+ export class HeikinAshiOscillator {
13767
+ __destroy_into_raw() {
13768
+ const ptr = this.__wbg_ptr;
13769
+ this.__wbg_ptr = 0;
13770
+ HeikinAshiOscillatorFinalization.unregister(this);
13771
+ return ptr;
13772
+ }
13773
+ free() {
13774
+ const ptr = this.__destroy_into_raw();
13775
+ wasm.__wbg_heikinashioscillator_free(ptr, 0);
13776
+ }
13777
+ /**
13778
+ * @param {Float64Array} open
13779
+ * @param {Float64Array} high
13780
+ * @param {Float64Array} low
13781
+ * @param {Float64Array} close
13782
+ * @returns {Float64Array}
13783
+ */
13784
+ batch(open, high, low, close) {
13785
+ try {
13786
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
13787
+ const ptr0 = passArrayF64ToWasm0(open, wasm.__wbindgen_export3);
13788
+ const len0 = WASM_VECTOR_LEN;
13789
+ const ptr1 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
13790
+ const len1 = WASM_VECTOR_LEN;
13791
+ const ptr2 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
13792
+ const len2 = WASM_VECTOR_LEN;
13793
+ const ptr3 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
13794
+ const len3 = WASM_VECTOR_LEN;
13795
+ wasm.heikinashioscillator_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
13796
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
13797
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
13798
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
13799
+ if (r2) {
13800
+ throw takeObject(r1);
13801
+ }
13802
+ return takeObject(r0);
13803
+ } finally {
13804
+ wasm.__wbindgen_add_to_stack_pointer(16);
13805
+ }
13806
+ }
13807
+ /**
13808
+ * @returns {boolean}
13809
+ */
13810
+ isReady() {
13811
+ const ret = wasm.heikinashioscillator_isReady(this.__wbg_ptr);
13812
+ return ret !== 0;
13813
+ }
13814
+ /**
13815
+ * @param {number} period
13816
+ */
13817
+ constructor(period) {
13818
+ try {
13819
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
13820
+ wasm.heikinashioscillator_new(retptr, period);
13821
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
13822
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
13823
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
13824
+ if (r2) {
13825
+ throw takeObject(r1);
13826
+ }
13827
+ this.__wbg_ptr = r0;
13828
+ HeikinAshiOscillatorFinalization.register(this, this.__wbg_ptr, this);
13829
+ return this;
13830
+ } finally {
13831
+ wasm.__wbindgen_add_to_stack_pointer(16);
13832
+ }
13833
+ }
13834
+ reset() {
13835
+ wasm.heikinashioscillator_reset(this.__wbg_ptr);
13836
+ }
13837
+ /**
13838
+ * @param {number} open
13839
+ * @param {number} high
13840
+ * @param {number} low
13841
+ * @param {number} close
13842
+ * @returns {number | undefined}
13843
+ */
13844
+ update(open, high, low, close) {
13845
+ try {
13846
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
13847
+ wasm.heikinashioscillator_update(retptr, this.__wbg_ptr, open, high, low, close);
13848
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
13849
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
13850
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
13851
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
13852
+ if (r5) {
13853
+ throw takeObject(r4);
13854
+ }
13855
+ return r0 === 0 ? undefined : r2;
13856
+ } finally {
13857
+ wasm.__wbindgen_add_to_stack_pointer(32);
13858
+ }
13859
+ }
13860
+ /**
13861
+ * @returns {number}
13862
+ */
13863
+ warmupPeriod() {
13864
+ const ret = wasm.heikinashioscillator_warmupPeriod(this.__wbg_ptr);
13865
+ return ret >>> 0;
13866
+ }
13867
+ }
13868
+ if (Symbol.dispose) HeikinAshiOscillator.prototype[Symbol.dispose] = HeikinAshiOscillator.prototype.free;
13869
+
13568
13870
  export class HiLoActivator {
13569
13871
  __destroy_into_raw() {
13570
13872
  const ptr = this.__wbg_ptr;
@@ -28375,6 +28677,109 @@ export class Skewness {
28375
28677
  }
28376
28678
  if (Symbol.dispose) Skewness.prototype[Symbol.dispose] = Skewness.prototype.free;
28377
28679
 
28680
+ export class SmoothedHeikinAshi {
28681
+ __destroy_into_raw() {
28682
+ const ptr = this.__wbg_ptr;
28683
+ this.__wbg_ptr = 0;
28684
+ SmoothedHeikinAshiFinalization.unregister(this);
28685
+ return ptr;
28686
+ }
28687
+ free() {
28688
+ const ptr = this.__destroy_into_raw();
28689
+ wasm.__wbg_smoothedheikinashi_free(ptr, 0);
28690
+ }
28691
+ /**
28692
+ * @param {Float64Array} open
28693
+ * @param {Float64Array} high
28694
+ * @param {Float64Array} low
28695
+ * @param {Float64Array} close
28696
+ * @returns {Float64Array}
28697
+ */
28698
+ batch(open, high, low, close) {
28699
+ try {
28700
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
28701
+ const ptr0 = passArrayF64ToWasm0(open, wasm.__wbindgen_export3);
28702
+ const len0 = WASM_VECTOR_LEN;
28703
+ const ptr1 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
28704
+ const len1 = WASM_VECTOR_LEN;
28705
+ const ptr2 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
28706
+ const len2 = WASM_VECTOR_LEN;
28707
+ const ptr3 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
28708
+ const len3 = WASM_VECTOR_LEN;
28709
+ wasm.smoothedheikinashi_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
28710
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
28711
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
28712
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
28713
+ if (r2) {
28714
+ throw takeObject(r1);
28715
+ }
28716
+ return takeObject(r0);
28717
+ } finally {
28718
+ wasm.__wbindgen_add_to_stack_pointer(16);
28719
+ }
28720
+ }
28721
+ /**
28722
+ * @returns {boolean}
28723
+ */
28724
+ isReady() {
28725
+ const ret = wasm.smoothedheikinashi_isReady(this.__wbg_ptr);
28726
+ return ret !== 0;
28727
+ }
28728
+ /**
28729
+ * @param {number} period
28730
+ */
28731
+ constructor(period) {
28732
+ try {
28733
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
28734
+ wasm.smoothedheikinashi_new(retptr, period);
28735
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
28736
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
28737
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
28738
+ if (r2) {
28739
+ throw takeObject(r1);
28740
+ }
28741
+ this.__wbg_ptr = r0;
28742
+ SmoothedHeikinAshiFinalization.register(this, this.__wbg_ptr, this);
28743
+ return this;
28744
+ } finally {
28745
+ wasm.__wbindgen_add_to_stack_pointer(16);
28746
+ }
28747
+ }
28748
+ reset() {
28749
+ wasm.smoothedheikinashi_reset(this.__wbg_ptr);
28750
+ }
28751
+ /**
28752
+ * @param {number} open
28753
+ * @param {number} high
28754
+ * @param {number} low
28755
+ * @param {number} close
28756
+ * @returns {any}
28757
+ */
28758
+ update(open, high, low, close) {
28759
+ try {
28760
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
28761
+ wasm.smoothedheikinashi_update(retptr, this.__wbg_ptr, open, high, low, close);
28762
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
28763
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
28764
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
28765
+ if (r2) {
28766
+ throw takeObject(r1);
28767
+ }
28768
+ return takeObject(r0);
28769
+ } finally {
28770
+ wasm.__wbindgen_add_to_stack_pointer(16);
28771
+ }
28772
+ }
28773
+ /**
28774
+ * @returns {number}
28775
+ */
28776
+ warmupPeriod() {
28777
+ const ret = wasm.smoothedheikinashi_warmupPeriod(this.__wbg_ptr);
28778
+ return ret >>> 0;
28779
+ }
28780
+ }
28781
+ if (Symbol.dispose) SmoothedHeikinAshi.prototype[Symbol.dispose] = SmoothedHeikinAshi.prototype.free;
28782
+
28378
28783
  export class SortinoRatio {
28379
28784
  __destroy_into_raw() {
28380
28785
  const ptr = this.__wbg_ptr;
@@ -33064,6 +33469,106 @@ export class ThreeInside {
33064
33469
  }
33065
33470
  if (Symbol.dispose) ThreeInside.prototype[Symbol.dispose] = ThreeInside.prototype.free;
33066
33471
 
33472
+ export class ThreeLineBreak {
33473
+ __destroy_into_raw() {
33474
+ const ptr = this.__wbg_ptr;
33475
+ this.__wbg_ptr = 0;
33476
+ ThreeLineBreakFinalization.unregister(this);
33477
+ return ptr;
33478
+ }
33479
+ free() {
33480
+ const ptr = this.__destroy_into_raw();
33481
+ wasm.__wbg_threelinebreak_free(ptr, 0);
33482
+ }
33483
+ /**
33484
+ * @param {Float64Array} high
33485
+ * @param {Float64Array} low
33486
+ * @param {Float64Array} close
33487
+ * @returns {Float64Array}
33488
+ */
33489
+ batch(high, low, close) {
33490
+ try {
33491
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
33492
+ const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
33493
+ const len0 = WASM_VECTOR_LEN;
33494
+ const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
33495
+ const len1 = WASM_VECTOR_LEN;
33496
+ const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
33497
+ const len2 = WASM_VECTOR_LEN;
33498
+ wasm.threelinebreak_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
33499
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
33500
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
33501
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
33502
+ if (r2) {
33503
+ throw takeObject(r1);
33504
+ }
33505
+ return takeObject(r0);
33506
+ } finally {
33507
+ wasm.__wbindgen_add_to_stack_pointer(16);
33508
+ }
33509
+ }
33510
+ /**
33511
+ * @returns {boolean}
33512
+ */
33513
+ isReady() {
33514
+ const ret = wasm.threelinebreak_isReady(this.__wbg_ptr);
33515
+ return ret !== 0;
33516
+ }
33517
+ /**
33518
+ * @param {number} lines
33519
+ */
33520
+ constructor(lines) {
33521
+ try {
33522
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
33523
+ wasm.threelinebreak_new(retptr, lines);
33524
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
33525
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
33526
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
33527
+ if (r2) {
33528
+ throw takeObject(r1);
33529
+ }
33530
+ this.__wbg_ptr = r0;
33531
+ ThreeLineBreakFinalization.register(this, this.__wbg_ptr, this);
33532
+ return this;
33533
+ } finally {
33534
+ wasm.__wbindgen_add_to_stack_pointer(16);
33535
+ }
33536
+ }
33537
+ reset() {
33538
+ wasm.threelinebreak_reset(this.__wbg_ptr);
33539
+ }
33540
+ /**
33541
+ * @param {number} high
33542
+ * @param {number} low
33543
+ * @param {number} close
33544
+ * @returns {number | undefined}
33545
+ */
33546
+ update(high, low, close) {
33547
+ try {
33548
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
33549
+ wasm.threelinebreak_update(retptr, this.__wbg_ptr, high, low, close);
33550
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
33551
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
33552
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
33553
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
33554
+ if (r5) {
33555
+ throw takeObject(r4);
33556
+ }
33557
+ return r0 === 0 ? undefined : r2;
33558
+ } finally {
33559
+ wasm.__wbindgen_add_to_stack_pointer(32);
33560
+ }
33561
+ }
33562
+ /**
33563
+ * @returns {number}
33564
+ */
33565
+ warmupPeriod() {
33566
+ const ret = wasm.threelinebreak_warmupPeriod(this.__wbg_ptr);
33567
+ return ret >>> 0;
33568
+ }
33569
+ }
33570
+ if (Symbol.dispose) ThreeLineBreak.prototype[Symbol.dispose] = ThreeLineBreak.prototype.free;
33571
+
33067
33572
  export class ThreeLineStrike {
33068
33573
  __destroy_into_raw() {
33069
33574
  const ptr = this.__wbg_ptr;
@@ -39485,6 +39990,9 @@ const CalmarRatioFinalization = (typeof FinalizationRegistry === 'undefined')
39485
39990
  const CamarillaFinalization = (typeof FinalizationRegistry === 'undefined')
39486
39991
  ? { register: () => {}, unregister: () => {} }
39487
39992
  : new FinalizationRegistry(ptr => wasm.__wbg_camarilla_free(ptr, 1));
39993
+ const CandleVolumeFinalization = (typeof FinalizationRegistry === 'undefined')
39994
+ ? { register: () => {}, unregister: () => {} }
39995
+ : new FinalizationRegistry(ptr => wasm.__wbg_candlevolume_free(ptr, 1));
39488
39996
  const CCIFinalization = (typeof FinalizationRegistry === 'undefined')
39489
39997
  ? { register: () => {}, unregister: () => {} }
39490
39998
  : new FinalizationRegistry(ptr => wasm.__wbg_cci_free(ptr, 1));
@@ -39668,6 +40176,9 @@ const EmpiricalModeDecompositionFinalization = (typeof FinalizationRegistry ===
39668
40176
  const EngulfingFinalization = (typeof FinalizationRegistry === 'undefined')
39669
40177
  ? { register: () => {}, unregister: () => {} }
39670
40178
  : new FinalizationRegistry(ptr => wasm.__wbg_engulfing_free(ptr, 1));
40179
+ const EquivolumeFinalization = (typeof FinalizationRegistry === 'undefined')
40180
+ ? { register: () => {}, unregister: () => {} }
40181
+ : new FinalizationRegistry(ptr => wasm.__wbg_equivolume_free(ptr, 1));
39671
40182
  const EVENBETTERSINEFinalization = (typeof FinalizationRegistry === 'undefined')
39672
40183
  ? { register: () => {}, unregister: () => {} }
39673
40184
  : new FinalizationRegistry(ptr => wasm.__wbg_evenbettersine_free(ptr, 1));
@@ -39797,6 +40308,9 @@ const HeadAndShouldersFinalization = (typeof FinalizationRegistry === 'undefined
39797
40308
  const HeikinAshiFinalization = (typeof FinalizationRegistry === 'undefined')
39798
40309
  ? { register: () => {}, unregister: () => {} }
39799
40310
  : new FinalizationRegistry(ptr => wasm.__wbg_heikinashi_free(ptr, 1));
40311
+ const HeikinAshiOscillatorFinalization = (typeof FinalizationRegistry === 'undefined')
40312
+ ? { register: () => {}, unregister: () => {} }
40313
+ : new FinalizationRegistry(ptr => wasm.__wbg_heikinashioscillator_free(ptr, 1));
39800
40314
  const HiLoActivatorFinalization = (typeof FinalizationRegistry === 'undefined')
39801
40315
  ? { register: () => {}, unregister: () => {} }
39802
40316
  : new FinalizationRegistry(ptr => wasm.__wbg_hiloactivator_free(ptr, 1));
@@ -40355,6 +40869,9 @@ const SMIFinalization = (typeof FinalizationRegistry === 'undefined')
40355
40869
  const SMMAFinalization = (typeof FinalizationRegistry === 'undefined')
40356
40870
  ? { register: () => {}, unregister: () => {} }
40357
40871
  : new FinalizationRegistry(ptr => wasm.__wbg_smma_free(ptr, 1));
40872
+ const SmoothedHeikinAshiFinalization = (typeof FinalizationRegistry === 'undefined')
40873
+ ? { register: () => {}, unregister: () => {} }
40874
+ : new FinalizationRegistry(ptr => wasm.__wbg_smoothedheikinashi_free(ptr, 1));
40358
40875
  const SortinoRatioFinalization = (typeof FinalizationRegistry === 'undefined')
40359
40876
  ? { register: () => {}, unregister: () => {} }
40360
40877
  : new FinalizationRegistry(ptr => wasm.__wbg_sortinoratio_free(ptr, 1));
@@ -40493,6 +41010,9 @@ const ThreeDrivesFinalization = (typeof FinalizationRegistry === 'undefined')
40493
41010
  const ThreeInsideFinalization = (typeof FinalizationRegistry === 'undefined')
40494
41011
  ? { register: () => {}, unregister: () => {} }
40495
41012
  : new FinalizationRegistry(ptr => wasm.__wbg_threeinside_free(ptr, 1));
41013
+ const ThreeLineBreakFinalization = (typeof FinalizationRegistry === 'undefined')
41014
+ ? { register: () => {}, unregister: () => {} }
41015
+ : new FinalizationRegistry(ptr => wasm.__wbg_threelinebreak_free(ptr, 1));
40496
41016
  const ThreeLineStrikeFinalization = (typeof FinalizationRegistry === 'undefined')
40497
41017
  ? { register: () => {}, unregister: () => {} }
40498
41018
  : new FinalizationRegistry(ptr => wasm.__wbg_threelinestrike_free(ptr, 1));
Binary file