wickra-wasm 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -12
- package/package.json +1 -1
- package/wickra_wasm.d.ts +9 -9
- package/wickra_wasm.js +1 -1
- package/wickra_wasm_bg.js +74 -74
- package/wickra_wasm_bg.wasm +0 -0
package/README.md
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
[](https://www.bestpractices.dev/projects/13094)
|
|
19
19
|
[](https://github.com/wickra-lib/wickra/attestations)
|
|
20
20
|
[](https://docs.wickra.org)
|
|
21
|
+
[](https://docs.wickra.org/FAQ#do-all-the-language-bindings-compute-the-same-values)
|
|
21
22
|
|
|
22
23
|
**Streaming-first technical indicators. Install with `pip install wickra` — no system dependencies.**
|
|
23
24
|
|
|
@@ -53,6 +54,7 @@ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
|
|
|
53
54
|
[Node](https://docs.wickra.org/Quickstart-Node),
|
|
54
55
|
[WASM](https://docs.wickra.org/Quickstart-WASM),
|
|
55
56
|
[C](https://docs.wickra.org/Quickstart-C),
|
|
57
|
+
[C++](https://docs.wickra.org/Quickstart-C),
|
|
56
58
|
[C#](https://docs.wickra.org/Quickstart-CSharp),
|
|
57
59
|
[Go](https://docs.wickra.org/Quickstart-Go),
|
|
58
60
|
[Java](https://docs.wickra.org/Quickstart-Java),
|
|
@@ -89,6 +91,11 @@ times to get there.
|
|
|
89
91
|
runs a real warmup, and returns an `Option` so a single bad tick can't silently
|
|
90
92
|
poison state. `batch == streaming` is **bit-exact, fuzzed and 100 %-line-covered
|
|
91
93
|
for all 514 indicators**.
|
|
94
|
+
- **Identical across every language — proven, not promised.** All 514 indicators
|
|
95
|
+
are replayed through **all 10 languages** (Rust · Python · Node.js · WASM · C ·
|
|
96
|
+
C++ · C# · Go · Java · R) and checked **bit-for-bit against the Rust reference**
|
|
97
|
+
via shared golden fixtures in CI. The math is verifiably the same everywhere —
|
|
98
|
+
this very check caught and fixed two real cross-language marshalling bugs.
|
|
92
99
|
- **Orders of magnitude faster where it counts.** In streaming Wickra is **11–56×**
|
|
93
100
|
faster than the only other incremental peer and **thousands of times** faster
|
|
94
101
|
than recompute-on-every-tick libraries. On batch it wins several rows outright
|
|
@@ -137,12 +144,38 @@ elsewhere for `None`-warmup, NaN-safety and bit-exact `batch == streaming`.
|
|
|
137
144
|
Full tables (Rust + Python, streaming + batch) and how to reproduce them live in
|
|
138
145
|
**[BENCHMARKS.md](BENCHMARKS.md)**.
|
|
139
146
|
|
|
147
|
+
### Pick your language with eyes open — per-binding throughput
|
|
148
|
+
|
|
149
|
+
Every binding calls the **same** Rust core, so this is **not** a speed claim — it
|
|
150
|
+
is the raw cost of crossing each language's FFI boundary (`SMA(20)`, 200 000 bars,
|
|
151
|
+
Ryzen 9 9950X, million updates/sec). **Batch is near-core everywhere; streaming is
|
|
152
|
+
where the boundary shows** — so if you stream tick-by-tick, the table tells you
|
|
153
|
+
which binding keeps up and which to avoid for hot loops.
|
|
154
|
+
|
|
155
|
+
| Language | streaming (Mupd/s) | batch (Mupd/s) |
|
|
156
|
+
|-----------------|-------------------:|---------------:|
|
|
157
|
+
| Rust (no FFI) | 391 | 500 |
|
|
158
|
+
| C / C++ | 383 | 330 |
|
|
159
|
+
| C# | 337 | 244 |
|
|
160
|
+
| Python | 33 | 488 |
|
|
161
|
+
| Java | 28 | 175 |
|
|
162
|
+
| Go | 24 | 400 |
|
|
163
|
+
| WASM | 19 | 167 |
|
|
164
|
+
| Node.js | 17 | 10 |
|
|
165
|
+
| R | 0.1 | 193 |
|
|
166
|
+
|
|
167
|
+
All ten share one verified implementation (see the verification badge above), so
|
|
168
|
+
the *numbers* differ but the *values* are bit-for-bit identical. Methodology and
|
|
169
|
+
the per-indicator breakdown are in [BENCHMARKS.md](BENCHMARKS.md#3-per-binding-throughput--the-cost-of-the-boundary).
|
|
170
|
+
|
|
140
171
|
## Indicators
|
|
141
172
|
|
|
142
173
|
514 streaming-first indicators across twenty-four families. Every one passes the
|
|
143
174
|
`batch == streaming` equivalence test, reference-value tests, and reset
|
|
144
|
-
semantics tests
|
|
145
|
-
|
|
175
|
+
semantics tests — and is replayed through **all 10 languages** and checked
|
|
176
|
+
bit-for-bit against the Rust reference (golden fixtures, in CI). Each has a
|
|
177
|
+
per-indicator deep dive (formula, parameters, warmup) at
|
|
178
|
+
[docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
146
179
|
|
|
147
180
|
| Family | Indicators |
|
|
148
181
|
|--------|-----------|
|
|
@@ -153,7 +186,7 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
|
153
186
|
| Volatility & Bands | ATR, Bollinger Bands, Keltner Channels, Donchian Channels, NATR, StdDev, Ulcer Index, Historical Volatility, Bollinger Bandwidth, %B, True Range, Chaikin Volatility, RVI (Relative Volatility Index), Parkinson Volatility, Garman-Klass Volatility, Rogers-Satchell Volatility, Yang-Zhang Volatility, Volatility Cone |
|
|
154
187
|
| Bands & Channels | MA Envelope, Acceleration Bands, STARC Bands, ATR Bands, Hurst Channel, LinReg Channel, Standard Error Bands, Double Bollinger Bands, TTM Squeeze, Fractal Chaos Bands, VWAP StdDev Bands, Quartile Bands, Bomar Bands, Median Channel, Projection Bands, Projection Oscillator |
|
|
155
188
|
| Trailing Stops | Parabolic SAR, Parabolic SAR Extended (SAREXT), SuperTrend, Chandelier Exit, Chande Kroll Stop, ATR Trailing Stop, HiLo Activator, Volty Stop, Yo-Yo Exit, Donchian Channel Stop, Percentage Trailing Stop, Step Trailing Stop, Renko Trailing Stop, Kase DevStop, Elder SafeZone, ATR Ratchet, NRTR, Time-Based Stop, Modified MA Stop |
|
|
156
|
-
| Volume | OBV, VWAP (cumulative + rolling), ADL, Volume-Price Trend, Chaikin Money Flow, Chaikin Oscillator, Force Index, Ease of Movement, Klinger Volume Oscillator, Volume Oscillator, NVI, PVI, Williams A/D, Anchored VWAP, Demand Index, TSV, VZO, Market Facilitation Index, Volume RSI, Williams Accumulation/Distribution, Twiggs Money Flow, Trade Volume Index, Intraday Intensity
|
|
189
|
+
| Volume | OBV, VWAP (cumulative + rolling), ADL, Volume-Price Trend, Chaikin Money Flow, Chaikin Oscillator, Force Index, Ease of Movement, Klinger Volume Oscillator, Volume Oscillator, NVI, PVI, Williams A/D Oscillator, Anchored VWAP, Demand Index, TSV, VZO, Market Facilitation Index, Volume RSI, Williams Accumulation/Distribution, Twiggs Money Flow, Trade Volume Index, Intraday Intensity, Better Volume, Volume-Weighted MACD |
|
|
157
190
|
| Price Statistics | Typical Price, Median Price, Weighted Close, Linear Regression, Linear Regression Slope, Z-Score, Linear Regression Angle, Variance, Coefficient of Variation, Skewness, Kurtosis, Standard Error, Detrended StdDev, R², Median Absolute Deviation, Autocorrelation, Hurst Exponent, Pearson Correlation, Beta, Pairwise Beta, Pair Spread Z-Score, Lead-Lag Cross-Correlation, Cointegration, Relative Strength A-vs-B, Spearman Correlation, Mid Price, Mid Point, Average Price, Linear Regression Intercept, Time Series Forecast, Rolling Correlation, Rolling Covariance, OU Half-Life, Spread Hurst, Distance SSD, Beta-Neutral Spread, Variance Ratio, Granger Causality, Kalman Hedge Ratio, Spread Bollinger Bands, Spread AR(1) Coefficient, Jarque-Bera, Rolling Min-Max Scaler, Shannon Entropy, Sample Entropy, Kendall Tau |
|
|
158
191
|
| 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 |
|
|
159
192
|
| 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 |
|
|
@@ -270,8 +303,8 @@ while let Some(event) = stream.next_event().await? {
|
|
|
270
303
|
}
|
|
271
304
|
```
|
|
272
305
|
|
|
273
|
-
A Python live
|
|
274
|
-
`examples/python/
|
|
306
|
+
A Python live Binance feed example using the public `websockets` package lives at
|
|
307
|
+
`examples/python/live_binance.py`.
|
|
275
308
|
|
|
276
309
|
## Project layout
|
|
277
310
|
|
|
@@ -294,8 +327,8 @@ wickra/
|
|
|
294
327
|
├── examples/ examples/README.md indexes every language
|
|
295
328
|
│ ├── data/ real BTCUSDT OHLCV datasets, one per timeframe
|
|
296
329
|
│ ├── rust/ Rust workspace member (`wickra-examples`)
|
|
297
|
-
│ ├── python/ backtest, live
|
|
298
|
-
│ ├── node/ streaming, backtest, live
|
|
330
|
+
│ ├── python/ backtest, live Binance feed, parallel assets, multi-tf
|
|
331
|
+
│ ├── node/ streaming, backtest, live Binance feed (load `wickra`)
|
|
299
332
|
│ ├── wasm/ browser demo for `wickra-wasm`
|
|
300
333
|
│ ├── c/ C smoke + streaming, C++ RAII wrapper
|
|
301
334
|
│ ├── csharp/ streaming, backtest, strategies (load `Wickra`)
|
|
@@ -381,11 +414,15 @@ Every layer is covered; run the suites with the commands in
|
|
|
381
414
|
- `bindings/java`: JUnit cases covering one indicator per FFI archetype
|
|
382
415
|
(scalar/batch, multi-output, bars, profile, array input) plus batch equivalence.
|
|
383
416
|
|
|
384
|
-
|
|
385
|
-
language-neutral golden fixture
|
|
386
|
-
`
|
|
387
|
-
|
|
388
|
-
|
|
417
|
+
On top of those per-binding tests, **all 10 languages** (Rust, Python, Node.js,
|
|
418
|
+
WASM, C, C++, C#, Go, Java, R) replay a shared, language-neutral golden fixture
|
|
419
|
+
(`testdata/golden/*.csv`, generated by
|
|
420
|
+
`cargo run -p wickra-examples --bin gen_golden`) and assert **bit-for-bit parity
|
|
421
|
+
with the Rust reference for every one of the 514 indicators** across every
|
|
422
|
+
archetype (scalar, multi-output, pairwise, derivatives-tick, cross-section,
|
|
423
|
+
order-book, trade, profile, alt-chart bars, footprint). This catches FFI wiring
|
|
424
|
+
bugs the math-only core tests cannot see — it has already found and fixed real
|
|
425
|
+
cross-language marshalling bugs in the Java and R bindings.
|
|
389
426
|
|
|
390
427
|
## Contributing
|
|
391
428
|
|
package/package.json
CHANGED
package/wickra_wasm.d.ts
CHANGED
|
@@ -30,6 +30,15 @@ export class ADL {
|
|
|
30
30
|
update(high: number, low: number, close: number, volume: number): number | undefined;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
export class ADOSC {
|
|
34
|
+
free(): void;
|
|
35
|
+
[Symbol.dispose](): void;
|
|
36
|
+
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
37
|
+
constructor();
|
|
38
|
+
reset(): void;
|
|
39
|
+
update(high: number, low: number, close: number): number | undefined;
|
|
40
|
+
}
|
|
41
|
+
|
|
33
42
|
export class ADX {
|
|
34
43
|
free(): void;
|
|
35
44
|
[Symbol.dispose](): void;
|
|
@@ -5705,15 +5714,6 @@ export class WickRatio {
|
|
|
5705
5714
|
update(open: number, high: number, low: number, close: number): number | undefined;
|
|
5706
5715
|
}
|
|
5707
5716
|
|
|
5708
|
-
export class WilliamsAD {
|
|
5709
|
-
free(): void;
|
|
5710
|
-
[Symbol.dispose](): void;
|
|
5711
|
-
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
5712
|
-
constructor();
|
|
5713
|
-
reset(): void;
|
|
5714
|
-
update(high: number, low: number, close: number): number | undefined;
|
|
5715
|
-
}
|
|
5716
|
-
|
|
5717
5717
|
export class WilliamsFractals {
|
|
5718
5718
|
free(): void;
|
|
5719
5719
|
[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, 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, DollarBars, 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, ImbalanceBars, 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, RangeBars, RealizedSpread, RealizedVolatility, RecoveryFactor, RectangleRange, RegimeLabel, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollMeasure, RollingCorrelation, RollingCovariance, RollingIqr, RollingPercentileRank, RollingQuantile, RollingVWAP, RoofingFilter, RunBars, 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, ThreeLineBreakBars, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TickBars, 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, VolumeBars, VolumeByTimeProfile, VolumeOscillator, VolumePriceTrend, VolumeProfile, VolumeRsi, VolumeWeightedMacd, VolumeWeightedSr, Vortex, Vpin, VwapStdDevBands, WAVE_PM, WMA, Wad, WaveTrend, Wedge, WeightedClose, WickRatio,
|
|
8
|
+
ADAPTIVECCI, ADAPTIVERSI, ADL, ADOSC, 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, DollarBars, 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, ImbalanceBars, 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, RangeBars, RealizedSpread, RealizedVolatility, RecoveryFactor, RectangleRange, RegimeLabel, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollMeasure, RollingCorrelation, RollingCovariance, RollingIqr, RollingPercentileRank, RollingQuantile, RollingVWAP, RoofingFilter, RunBars, 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, ThreeLineBreakBars, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TickBars, 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, VolumeBars, VolumeByTimeProfile, VolumeOscillator, VolumePriceTrend, VolumeProfile, VolumeRsi, VolumeWeightedMacd, VolumeWeightedSr, Vortex, Vpin, VwapStdDevBands, WAVE_PM, WMA, Wad, WaveTrend, Wedge, WeightedClose, WickRatio, 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
|
@@ -236,6 +236,78 @@ export class ADL {
|
|
|
236
236
|
}
|
|
237
237
|
if (Symbol.dispose) ADL.prototype[Symbol.dispose] = ADL.prototype.free;
|
|
238
238
|
|
|
239
|
+
export class ADOSC {
|
|
240
|
+
__destroy_into_raw() {
|
|
241
|
+
const ptr = this.__wbg_ptr;
|
|
242
|
+
this.__wbg_ptr = 0;
|
|
243
|
+
ADOSCFinalization.unregister(this);
|
|
244
|
+
return ptr;
|
|
245
|
+
}
|
|
246
|
+
free() {
|
|
247
|
+
const ptr = this.__destroy_into_raw();
|
|
248
|
+
wasm.__wbg_adosc_free(ptr, 0);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* @param {Float64Array} high
|
|
252
|
+
* @param {Float64Array} low
|
|
253
|
+
* @param {Float64Array} close
|
|
254
|
+
* @returns {Float64Array}
|
|
255
|
+
*/
|
|
256
|
+
batch(high, low, close) {
|
|
257
|
+
try {
|
|
258
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
259
|
+
const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
|
|
260
|
+
const len0 = WASM_VECTOR_LEN;
|
|
261
|
+
const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
|
|
262
|
+
const len1 = WASM_VECTOR_LEN;
|
|
263
|
+
const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
|
|
264
|
+
const len2 = WASM_VECTOR_LEN;
|
|
265
|
+
wasm.adosc_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
|
|
266
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
267
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
268
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
269
|
+
if (r2) {
|
|
270
|
+
throw takeObject(r1);
|
|
271
|
+
}
|
|
272
|
+
return takeObject(r0);
|
|
273
|
+
} finally {
|
|
274
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
constructor() {
|
|
278
|
+
const ret = wasm.adosc_new();
|
|
279
|
+
this.__wbg_ptr = ret;
|
|
280
|
+
ADOSCFinalization.register(this, this.__wbg_ptr, this);
|
|
281
|
+
return this;
|
|
282
|
+
}
|
|
283
|
+
reset() {
|
|
284
|
+
wasm.adosc_reset(this.__wbg_ptr);
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* @param {number} high
|
|
288
|
+
* @param {number} low
|
|
289
|
+
* @param {number} close
|
|
290
|
+
* @returns {number | undefined}
|
|
291
|
+
*/
|
|
292
|
+
update(high, low, close) {
|
|
293
|
+
try {
|
|
294
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
|
|
295
|
+
wasm.adosc_update(retptr, this.__wbg_ptr, high, low, close);
|
|
296
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
297
|
+
var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
|
|
298
|
+
var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
|
|
299
|
+
var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
|
|
300
|
+
if (r5) {
|
|
301
|
+
throw takeObject(r4);
|
|
302
|
+
}
|
|
303
|
+
return r0 === 0 ? undefined : r2;
|
|
304
|
+
} finally {
|
|
305
|
+
wasm.__wbindgen_add_to_stack_pointer(32);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
if (Symbol.dispose) ADOSC.prototype[Symbol.dispose] = ADOSC.prototype.free;
|
|
310
|
+
|
|
239
311
|
export class ADX {
|
|
240
312
|
__destroy_into_raw() {
|
|
241
313
|
const ptr = this.__wbg_ptr;
|
|
@@ -41612,78 +41684,6 @@ export class WickRatio {
|
|
|
41612
41684
|
}
|
|
41613
41685
|
if (Symbol.dispose) WickRatio.prototype[Symbol.dispose] = WickRatio.prototype.free;
|
|
41614
41686
|
|
|
41615
|
-
export class WilliamsAD {
|
|
41616
|
-
__destroy_into_raw() {
|
|
41617
|
-
const ptr = this.__wbg_ptr;
|
|
41618
|
-
this.__wbg_ptr = 0;
|
|
41619
|
-
WilliamsADFinalization.unregister(this);
|
|
41620
|
-
return ptr;
|
|
41621
|
-
}
|
|
41622
|
-
free() {
|
|
41623
|
-
const ptr = this.__destroy_into_raw();
|
|
41624
|
-
wasm.__wbg_williamsad_free(ptr, 0);
|
|
41625
|
-
}
|
|
41626
|
-
/**
|
|
41627
|
-
* @param {Float64Array} high
|
|
41628
|
-
* @param {Float64Array} low
|
|
41629
|
-
* @param {Float64Array} close
|
|
41630
|
-
* @returns {Float64Array}
|
|
41631
|
-
*/
|
|
41632
|
-
batch(high, low, close) {
|
|
41633
|
-
try {
|
|
41634
|
-
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
41635
|
-
const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
|
|
41636
|
-
const len0 = WASM_VECTOR_LEN;
|
|
41637
|
-
const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
|
|
41638
|
-
const len1 = WASM_VECTOR_LEN;
|
|
41639
|
-
const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
|
|
41640
|
-
const len2 = WASM_VECTOR_LEN;
|
|
41641
|
-
wasm.williamsad_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
|
|
41642
|
-
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
41643
|
-
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
41644
|
-
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
41645
|
-
if (r2) {
|
|
41646
|
-
throw takeObject(r1);
|
|
41647
|
-
}
|
|
41648
|
-
return takeObject(r0);
|
|
41649
|
-
} finally {
|
|
41650
|
-
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
41651
|
-
}
|
|
41652
|
-
}
|
|
41653
|
-
constructor() {
|
|
41654
|
-
const ret = wasm.williamsad_new();
|
|
41655
|
-
this.__wbg_ptr = ret;
|
|
41656
|
-
WilliamsADFinalization.register(this, this.__wbg_ptr, this);
|
|
41657
|
-
return this;
|
|
41658
|
-
}
|
|
41659
|
-
reset() {
|
|
41660
|
-
wasm.williamsad_reset(this.__wbg_ptr);
|
|
41661
|
-
}
|
|
41662
|
-
/**
|
|
41663
|
-
* @param {number} high
|
|
41664
|
-
* @param {number} low
|
|
41665
|
-
* @param {number} close
|
|
41666
|
-
* @returns {number | undefined}
|
|
41667
|
-
*/
|
|
41668
|
-
update(high, low, close) {
|
|
41669
|
-
try {
|
|
41670
|
-
const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
|
|
41671
|
-
wasm.williamsad_update(retptr, this.__wbg_ptr, high, low, close);
|
|
41672
|
-
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
41673
|
-
var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
|
|
41674
|
-
var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
|
|
41675
|
-
var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
|
|
41676
|
-
if (r5) {
|
|
41677
|
-
throw takeObject(r4);
|
|
41678
|
-
}
|
|
41679
|
-
return r0 === 0 ? undefined : r2;
|
|
41680
|
-
} finally {
|
|
41681
|
-
wasm.__wbindgen_add_to_stack_pointer(32);
|
|
41682
|
-
}
|
|
41683
|
-
}
|
|
41684
|
-
}
|
|
41685
|
-
if (Symbol.dispose) WilliamsAD.prototype[Symbol.dispose] = WilliamsAD.prototype.free;
|
|
41686
|
-
|
|
41687
41687
|
export class WilliamsFractals {
|
|
41688
41688
|
__destroy_into_raw() {
|
|
41689
41689
|
const ptr = this.__wbg_ptr;
|
|
@@ -42659,9 +42659,9 @@ const AccelerationBandsFinalization = (typeof FinalizationRegistry === 'undefine
|
|
|
42659
42659
|
const AcceleratorOscillatorFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
42660
42660
|
? { register: () => {}, unregister: () => {} }
|
|
42661
42661
|
: new FinalizationRegistry(ptr => wasm.__wbg_acceleratoroscillator_free(ptr, 1));
|
|
42662
|
-
const
|
|
42662
|
+
const ADOSCFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
42663
42663
|
? { register: () => {}, unregister: () => {} }
|
|
42664
|
-
: new FinalizationRegistry(ptr => wasm.
|
|
42664
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_adosc_free(ptr, 1));
|
|
42665
42665
|
const AdVolumeLineFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
42666
42666
|
? { register: () => {}, unregister: () => {} }
|
|
42667
42667
|
: new FinalizationRegistry(ptr => wasm.__wbg_advolumeline_free(ptr, 1));
|
package/wickra_wasm_bg.wasm
CHANGED
|
Binary file
|