wickra-wasm 0.6.5 → 0.6.6
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 +57 -117
- package/package.json +1 -1
- package/wickra_wasm.d.ts +55 -0
- package/wickra_wasm.js +1 -1
- package/wickra_wasm_bg.js +490 -0
- package/wickra_wasm_bg.wasm +0 -0
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=
|
|
2
|
+
<a href="https://wickra.org"><img src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=467" alt="Wickra — streaming-first technical indicators" width="100%"></a>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
[](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
|
|
51
|
+
every one of the 467 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),
|
|
@@ -58,19 +58,44 @@ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
|
|
|
58
58
|
[TA-Lib migration](https://docs.wickra.org/TA-Lib-Migration),
|
|
59
59
|
[FAQ](https://docs.wickra.org/FAQ).
|
|
60
60
|
|
|
61
|
-
## Why Wickra
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
61
|
+
## Why Wickra
|
|
62
|
+
|
|
63
|
+
Most TA libraries are fast, *or* multi-language, *or* broad. Wickra refuses to
|
|
64
|
+
pick. It's the streaming-first engine built for the workload the others treat as
|
|
65
|
+
an afterthought — **live, tick-by-tick data** — without giving up the breadth of
|
|
66
|
+
a full batch library, and without making you reimplement your indicators four
|
|
67
|
+
times to get there.
|
|
68
|
+
|
|
69
|
+
- **The biggest streaming-native catalogue, period.** 467 indicators across 24
|
|
70
|
+
families — candlesticks, harmonic & chart patterns, market profile, market
|
|
71
|
+
breadth, Renko/Kagi/Point&Figure bars, Ehlers DSP cycles, risk/performance
|
|
72
|
+
metrics — every single one updating in **O(1) per tick**. TA-Lib ships ~150 and
|
|
73
|
+
none of them stream.
|
|
74
|
+
- **One Rust core, four first-class targets.** Native **Python · Node.js ·
|
|
75
|
+
WebAssembly · Rust** — identical math, identical results, zero per-language
|
|
76
|
+
reimplementation and zero GIL bottleneck.
|
|
77
|
+
- **Correct by construction, not by hope.** Every `update` validates its input,
|
|
78
|
+
runs a real warmup, and returns an `Option` so a single bad tick can't silently
|
|
79
|
+
poison state. `batch == streaming` is **bit-exact, fuzzed and 100 %-line-covered
|
|
80
|
+
for all 467 indicators**.
|
|
81
|
+
- **Orders of magnitude faster where it counts.** In streaming Wickra is **9–58×**
|
|
82
|
+
faster than the only other incremental peer and **thousands of times** faster
|
|
83
|
+
than recompute-on-every-tick libraries. On batch it wins several rows outright
|
|
84
|
+
and trades the simple recurrences (SMA, EMA, MACD) for its guarantees — and
|
|
85
|
+
the losses are shown, not hidden.
|
|
86
|
+
- **Install in one line, anywhere.** `pip install wickra` / `npm install wickra` —
|
|
87
|
+
precompiled wheels and binaries, **no C toolchain, none of TA-Lib's setup pain**.
|
|
88
|
+
macOS · Linux · Windows.
|
|
89
|
+
- **Batteries included.** Indicator chaining, a streaming OHLCV CSV reader, and a
|
|
90
|
+
live Binance kline feed ship in the box.
|
|
91
|
+
- **Truly permissive.** **MIT OR Apache-2.0** — drop it straight into commercial
|
|
92
|
+
and closed-source work.
|
|
93
|
+
|
|
94
|
+
Every other library forces one of those compromises. Wickra doesn't:
|
|
70
95
|
|
|
71
96
|
| Library | Install | Streaming | Languages | Indicators | Active |
|
|
72
97
|
|------------------|-------------|-------------|-----------------------------|-----------:|--------|
|
|
73
|
-
| **★ Wickra**| **clean** | **yes, O(1)** | **Python · Node · WASM · Rust** | **
|
|
98
|
+
| **★ Wickra**| **clean** | **yes, O(1)** | **Python · Node · WASM · Rust** | **467** | **yes** |
|
|
74
99
|
| kand | clean | yes | Python · WASM · Rust | ~60 | yes |
|
|
75
100
|
| ta-rs | clean | yes | Rust only | ~30 | stale |
|
|
76
101
|
| yata | clean | partial | Rust only | ~35 | yes |
|
|
@@ -79,116 +104,31 @@ Plenty of TA libraries are fast. Each one forces a trade-off Wickra does not:
|
|
|
79
104
|
| finta | clean | no | Python | ~80 | stale |
|
|
80
105
|
| talipp | clean | yes | Python | ~40 | yes |
|
|
81
106
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
validation. If Wickra threw all of that away — raw `f64` out, no checks, no
|
|
93
|
-
warmup contract — it would match or beat the leanest crate on every row. It
|
|
94
|
-
keeps the guarantees instead, and still wins RSI, Bollinger and ATR against kand.
|
|
95
|
-
What no other library matches is the *combination*: catalogue size, native O(1)
|
|
96
|
-
streaming, NaN-safety, and four first-class language targets at once.
|
|
107
|
+
Broad, multi-language, streaming-native **and** honest about its trade-offs — at
|
|
108
|
+
the same time. That's the combination no one else ships.
|
|
109
|
+
|
|
110
|
+
## Why Wickra exists
|
|
111
|
+
|
|
112
|
+
Wickra started as a personal itch. The existing TA libraries never quite fit the
|
|
113
|
+
projects I was building, so I decided to build one from the ground up — partly to
|
|
114
|
+
learn, partly because I genuinely enjoy taking something that already exists and
|
|
115
|
+
trying to do it differently (and, ideally, better). It's open source because the
|
|
116
|
+
useful version of that itch is the one other people can build on too.
|
|
97
117
|
|
|
98
118
|
## Benchmarks
|
|
99
119
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
Rust 1.92 (release: `lto = "fat"`, `codegen-units = 1`), Python 3.12.
|
|
106
|
-
- **Reproduce yourself:**
|
|
107
|
-
- Rust core vs Rust crates: `cargo bench -p wickra-bench`
|
|
108
|
-
- Python vs Python libs: `pip install -e bindings/python[bench]` then
|
|
109
|
-
`python -m benchmarks.compare_libraries` (auto-detects installed peers).
|
|
110
|
-
|
|
111
|
-
### 1. Rust core vs the other Rust TA crates
|
|
112
|
-
|
|
113
|
-
Like-for-like, no language-binding overhead, over a 50 000-bar series (µs for
|
|
114
|
-
the whole series, lower = faster). This is the honest engine comparison —
|
|
115
|
-
Wickra wins some and loses some, and both are shown.
|
|
116
|
-
|
|
117
|
-
**Streaming** (one value fed per `update`):
|
|
118
|
-
|
|
119
|
-
| Indicator | **★ Wickra** | kand | ta-rs | yata |
|
|
120
|
-
|------------------|------------------:|-----:|------:|-----:|
|
|
121
|
-
| SMA(20) | 50 | 38 | 47 | 38 |
|
|
122
|
-
| EMA(20) | 154 | 69 | 56 | 69 |
|
|
123
|
-
| RSI(14) | 164 | 216 | 74 | — |
|
|
124
|
-
| MACD(12, 26, 9) | 275 | 143 | 66 | — |
|
|
125
|
-
| Bollinger(20, 2) | **128 ★** | 248 | 168 | — |
|
|
126
|
-
| ATR(14) | 152 | 166 | 61 | — |
|
|
127
|
-
|
|
128
|
-
**Batch** (whole series at once). Only Wickra and kand expose a batch API;
|
|
129
|
-
ta-rs and yata are streaming-only.
|
|
130
|
-
|
|
131
|
-
| Indicator | **★ Wickra** | kand |
|
|
132
|
-
|------------------|------------------:|-----:|
|
|
133
|
-
| SMA(20) | 82 | 42 |
|
|
134
|
-
| EMA(20) | 159 | 74 |
|
|
135
|
-
| RSI(14) | **253 ★** | 274 |
|
|
136
|
-
| MACD(12, 26, 9) | 681 | 283 |
|
|
137
|
-
| Bollinger(20, 2) | **445 ★** | 462 |
|
|
138
|
-
| ATR(14) | 175 | 173 |
|
|
139
|
-
|
|
140
|
-
ta-rs is the per-indicator speed champion on almost every row — it returns a
|
|
141
|
-
bare `f64` with no warmup state and no input validation, trading away the
|
|
142
|
-
`None`-warmup and NaN-safety semantics Wickra keeps. Against kand, Wickra wins
|
|
143
|
-
streaming RSI, Bollinger and ATR (and batch RSI + Bollinger); Bollinger is the
|
|
144
|
-
one row where Wickra is the outright fastest of all four. The leaner crates
|
|
145
|
-
still win the pure recurrences (EMA, MACD) and SMA. yata exposes only SMA/EMA as
|
|
146
|
-
raw-value methods, so its other rows are omitted rather than faked.
|
|
147
|
-
|
|
148
|
-
### 2. Python vs the Python TA ecosystem — batch
|
|
149
|
-
|
|
150
|
-
Full pass over a 20 000-bar series, µs/op (lower = faster). **★** per row.
|
|
151
|
-
|
|
152
|
-
| Indicator | **★ Wickra** | finta | TA-Lib | tulipy |
|
|
153
|
-
|------------------|------------------:|---------------------|--------|--------|
|
|
154
|
-
| SMA(20) | **59.6 ★** | 354.2 (5.9× slower) | ⧗ | ⧗ |
|
|
155
|
-
| EMA(20) | **88.4 ★** | 309.3 (3.5× slower) | ⧗ | ⧗ |
|
|
156
|
-
| RSI(14) | **77.3 ★** | 1 283 (16.6× slower)| ⧗ | ⧗ |
|
|
157
|
-
| MACD(12, 26, 9) | **116.4 ★** | 529.5 (4.6× slower) | ⧗ | ⧗ |
|
|
158
|
-
| Bollinger(20, 2) | **146.0 ★** | 1 246 (8.5× slower) | ⧗ | ⧗ |
|
|
159
|
-
| ATR(14) | **135.8 ★** | 3 812 (28× slower) | ⧗ | ⧗ |
|
|
160
|
-
|
|
161
|
-
> ⧗ = published by the CI Linux job. TA-Lib and tulipy ship C extensions that
|
|
162
|
-
> don't build cleanly on every desktop, so their canonical numbers come from the
|
|
163
|
-
> `cross-library-bench` workflow rather than this local table. pandas-ta needs
|
|
164
|
-
> Python ≥ 3.12 and isn't in the 3.11 CI matrix. The script auto-detects
|
|
165
|
-
> whichever peers are installed in your environment.
|
|
166
|
-
|
|
167
|
-
### 3. Python — streaming (per-tick latency)
|
|
168
|
-
|
|
169
|
-
Seed 5 000 bars, then feed ticks one at a time. talipp is the only Python peer
|
|
170
|
-
with a true incremental API; batch-only libraries like TA-Lib must recompute the
|
|
171
|
-
entire history on every tick — Wickra updates in O(1).
|
|
172
|
-
|
|
173
|
-
| Indicator | **★ Wickra (per tick)** | talipp (per tick) |
|
|
174
|
-
|------------------|------------------------------:|-------------------------|
|
|
175
|
-
| SMA(20) | **0.067 µs ★** | 0.63 µs (9.4× slower) |
|
|
176
|
-
| EMA(20) | **0.051 µs ★** | 0.63 µs (12.2× slower) |
|
|
177
|
-
| RSI(14) | **0.053 µs ★** | 1.00 µs (19.1× slower) |
|
|
178
|
-
| MACD(12, 26, 9) | **0.071 µs ★** | 3.64 µs (51.5× slower) |
|
|
179
|
-
| Bollinger(20, 2) | **0.085 µs ★** | 4.87 µs (57.2× slower) |
|
|
180
|
-
|
|
181
|
-
Run the suite yourself:
|
|
120
|
+
Wickra updates every indicator in **O(1)** per tick. In **streaming** — the
|
|
121
|
+
workload it is built for — it is **9–58× faster** than the only other incremental
|
|
122
|
+
peer and **thousands of times** faster than recompute-on-every-tick libraries.
|
|
123
|
+
**Batch** is competitive: it wins several rows outright and trades a few µs
|
|
124
|
+
elsewhere for `None`-warmup, NaN-safety and bit-exact `batch == streaming`.
|
|
182
125
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
pip install -e bindings/python[bench] # Python peers
|
|
186
|
-
python -m benchmarks.compare_libraries
|
|
187
|
-
```
|
|
126
|
+
Full tables (Rust + Python, streaming + batch) and how to reproduce them live in
|
|
127
|
+
**[BENCHMARKS.md](BENCHMARKS.md)**.
|
|
188
128
|
|
|
189
129
|
## Indicators
|
|
190
130
|
|
|
191
|
-
|
|
131
|
+
467 streaming-first indicators across twenty-four families. Every one passes the
|
|
192
132
|
`batch == streaming` equivalence test, reference-value tests, and reset
|
|
193
133
|
semantics tests. Each has a per-indicator deep dive (formula, parameters,
|
|
194
134
|
warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
@@ -205,7 +145,7 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
|
205
145
|
| 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 Index, Better Volume, Volume-Weighted MACD |
|
|
206
146
|
| 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 |
|
|
207
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 |
|
|
208
|
-
| Pivots & S/R | Classic Pivots, Fibonacci Pivots, Camarilla, Woodie Pivots, DeMark Pivots, Williams Fractals, ZigZag |
|
|
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 |
|
|
209
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 |
|
|
210
150
|
| Ichimoku & Charts | Ichimoku Kinko Hyo (Tenkan, Kijun, Senkou A/B, Chikou), Heikin-Ashi |
|
|
211
151
|
| Alt-Chart Bars | Renko (box-size bricks), Kagi (reversal-amount lines), Point & Figure (X/O columns) |
|
|
@@ -297,7 +237,7 @@ A Python live-trading example using the public `websockets` package lives at
|
|
|
297
237
|
```
|
|
298
238
|
wickra/
|
|
299
239
|
├── crates/
|
|
300
|
-
│ ├── wickra-core/ core engine + all
|
|
240
|
+
│ ├── wickra-core/ core engine + all 467 indicators
|
|
301
241
|
│ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
|
|
302
242
|
│ ├── wickra-data/ CSV reader, tick aggregator, live exchange feeds
|
|
303
243
|
│ └── wickra-bench/ internal cross-library benchmark harness (not published)
|
package/package.json
CHANGED
package/wickra_wasm.d.ts
CHANGED
|
@@ -287,6 +287,17 @@ export class AnchoredVWAP {
|
|
|
287
287
|
update(high: number, low: number, close: number, volume: number): number | undefined;
|
|
288
288
|
}
|
|
289
289
|
|
|
290
|
+
export class AndrewsPitchfork {
|
|
291
|
+
free(): void;
|
|
292
|
+
[Symbol.dispose](): void;
|
|
293
|
+
batch(high: Float64Array, low: Float64Array): Float64Array;
|
|
294
|
+
isReady(): boolean;
|
|
295
|
+
constructor(strength: number);
|
|
296
|
+
reset(): void;
|
|
297
|
+
update(high: number, low: number): any;
|
|
298
|
+
warmupPeriod(): number;
|
|
299
|
+
}
|
|
300
|
+
|
|
290
301
|
export class Aroon {
|
|
291
302
|
free(): void;
|
|
292
303
|
[Symbol.dispose](): void;
|
|
@@ -680,6 +691,17 @@ export class CenterOfGravity {
|
|
|
680
691
|
warmupPeriod(): number;
|
|
681
692
|
}
|
|
682
693
|
|
|
694
|
+
export class CentralPivotRange {
|
|
695
|
+
free(): void;
|
|
696
|
+
[Symbol.dispose](): void;
|
|
697
|
+
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
698
|
+
isReady(): boolean;
|
|
699
|
+
constructor();
|
|
700
|
+
reset(): void;
|
|
701
|
+
update(high: number, low: number, close: number): any;
|
|
702
|
+
warmupPeriod(): number;
|
|
703
|
+
}
|
|
704
|
+
|
|
683
705
|
export class ChaikinMoneyFlow {
|
|
684
706
|
free(): void;
|
|
685
707
|
[Symbol.dispose](): void;
|
|
@@ -2810,6 +2832,17 @@ export class MorningEveningStar {
|
|
|
2810
2832
|
warmupPeriod(): number;
|
|
2811
2833
|
}
|
|
2812
2834
|
|
|
2835
|
+
export class MurreyMathLines {
|
|
2836
|
+
free(): void;
|
|
2837
|
+
[Symbol.dispose](): void;
|
|
2838
|
+
batch(high: Float64Array, low: Float64Array): Float64Array;
|
|
2839
|
+
isReady(): boolean;
|
|
2840
|
+
constructor(period: number);
|
|
2841
|
+
reset(): void;
|
|
2842
|
+
update(high: number, low: number): any;
|
|
2843
|
+
warmupPeriod(): number;
|
|
2844
|
+
}
|
|
2845
|
+
|
|
2813
2846
|
export class NATR {
|
|
2814
2847
|
free(): void;
|
|
2815
2848
|
[Symbol.dispose](): void;
|
|
@@ -3209,6 +3242,17 @@ export class PiercingDarkCloud {
|
|
|
3209
3242
|
warmupPeriod(): number;
|
|
3210
3243
|
}
|
|
3211
3244
|
|
|
3245
|
+
export class PivotReversal {
|
|
3246
|
+
free(): void;
|
|
3247
|
+
[Symbol.dispose](): void;
|
|
3248
|
+
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
3249
|
+
isReady(): boolean;
|
|
3250
|
+
constructor(left: number, right: number);
|
|
3251
|
+
reset(): void;
|
|
3252
|
+
update(high: number, low: number, close: number): number | undefined;
|
|
3253
|
+
warmupPeriod(): number;
|
|
3254
|
+
}
|
|
3255
|
+
|
|
3212
3256
|
export class PointAndFigureBars {
|
|
3213
3257
|
free(): void;
|
|
3214
3258
|
[Symbol.dispose](): void;
|
|
@@ -5013,6 +5057,17 @@ export class VolumeWeightedMacd {
|
|
|
5013
5057
|
warmupPeriod(): number;
|
|
5014
5058
|
}
|
|
5015
5059
|
|
|
5060
|
+
export class VolumeWeightedSr {
|
|
5061
|
+
free(): void;
|
|
5062
|
+
[Symbol.dispose](): void;
|
|
5063
|
+
batch(high: Float64Array, low: Float64Array, volume: Float64Array): Float64Array;
|
|
5064
|
+
isReady(): boolean;
|
|
5065
|
+
constructor(period: number);
|
|
5066
|
+
reset(): void;
|
|
5067
|
+
update(high: number, low: number, volume: number): any;
|
|
5068
|
+
warmupPeriod(): number;
|
|
5069
|
+
}
|
|
5070
|
+
|
|
5016
5071
|
export class Vortex {
|
|
5017
5072
|
free(): void;
|
|
5018
5073
|
[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, 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, 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, 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, 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, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, 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, 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, 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, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, 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
|
|
9
9
|
} from "./wickra_wasm_bg.js";
|
package/wickra_wasm_bg.js
CHANGED
|
@@ -2104,6 +2104,101 @@ export class AnchoredVWAP {
|
|
|
2104
2104
|
}
|
|
2105
2105
|
if (Symbol.dispose) AnchoredVWAP.prototype[Symbol.dispose] = AnchoredVWAP.prototype.free;
|
|
2106
2106
|
|
|
2107
|
+
export class AndrewsPitchfork {
|
|
2108
|
+
__destroy_into_raw() {
|
|
2109
|
+
const ptr = this.__wbg_ptr;
|
|
2110
|
+
this.__wbg_ptr = 0;
|
|
2111
|
+
AndrewsPitchforkFinalization.unregister(this);
|
|
2112
|
+
return ptr;
|
|
2113
|
+
}
|
|
2114
|
+
free() {
|
|
2115
|
+
const ptr = this.__destroy_into_raw();
|
|
2116
|
+
wasm.__wbg_andrewspitchfork_free(ptr, 0);
|
|
2117
|
+
}
|
|
2118
|
+
/**
|
|
2119
|
+
* @param {Float64Array} high
|
|
2120
|
+
* @param {Float64Array} low
|
|
2121
|
+
* @returns {Float64Array}
|
|
2122
|
+
*/
|
|
2123
|
+
batch(high, low) {
|
|
2124
|
+
try {
|
|
2125
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
2126
|
+
const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
|
|
2127
|
+
const len0 = WASM_VECTOR_LEN;
|
|
2128
|
+
const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
|
|
2129
|
+
const len1 = WASM_VECTOR_LEN;
|
|
2130
|
+
wasm.andrewspitchfork_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
2131
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
2132
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
2133
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
2134
|
+
if (r2) {
|
|
2135
|
+
throw takeObject(r1);
|
|
2136
|
+
}
|
|
2137
|
+
return takeObject(r0);
|
|
2138
|
+
} finally {
|
|
2139
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
2140
|
+
}
|
|
2141
|
+
}
|
|
2142
|
+
/**
|
|
2143
|
+
* @returns {boolean}
|
|
2144
|
+
*/
|
|
2145
|
+
isReady() {
|
|
2146
|
+
const ret = wasm.andrewspitchfork_isReady(this.__wbg_ptr);
|
|
2147
|
+
return ret !== 0;
|
|
2148
|
+
}
|
|
2149
|
+
/**
|
|
2150
|
+
* @param {number} strength
|
|
2151
|
+
*/
|
|
2152
|
+
constructor(strength) {
|
|
2153
|
+
try {
|
|
2154
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
2155
|
+
wasm.andrewspitchfork_new(retptr, strength);
|
|
2156
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
2157
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
2158
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
2159
|
+
if (r2) {
|
|
2160
|
+
throw takeObject(r1);
|
|
2161
|
+
}
|
|
2162
|
+
this.__wbg_ptr = r0;
|
|
2163
|
+
AndrewsPitchforkFinalization.register(this, this.__wbg_ptr, this);
|
|
2164
|
+
return this;
|
|
2165
|
+
} finally {
|
|
2166
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
2167
|
+
}
|
|
2168
|
+
}
|
|
2169
|
+
reset() {
|
|
2170
|
+
wasm.andrewspitchfork_reset(this.__wbg_ptr);
|
|
2171
|
+
}
|
|
2172
|
+
/**
|
|
2173
|
+
* @param {number} high
|
|
2174
|
+
* @param {number} low
|
|
2175
|
+
* @returns {any}
|
|
2176
|
+
*/
|
|
2177
|
+
update(high, low) {
|
|
2178
|
+
try {
|
|
2179
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
2180
|
+
wasm.andrewspitchfork_update(retptr, this.__wbg_ptr, high, low);
|
|
2181
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
2182
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
2183
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
2184
|
+
if (r2) {
|
|
2185
|
+
throw takeObject(r1);
|
|
2186
|
+
}
|
|
2187
|
+
return takeObject(r0);
|
|
2188
|
+
} finally {
|
|
2189
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
2190
|
+
}
|
|
2191
|
+
}
|
|
2192
|
+
/**
|
|
2193
|
+
* @returns {number}
|
|
2194
|
+
*/
|
|
2195
|
+
warmupPeriod() {
|
|
2196
|
+
const ret = wasm.andrewspitchfork_warmupPeriod(this.__wbg_ptr);
|
|
2197
|
+
return ret >>> 0;
|
|
2198
|
+
}
|
|
2199
|
+
}
|
|
2200
|
+
if (Symbol.dispose) AndrewsPitchfork.prototype[Symbol.dispose] = AndrewsPitchfork.prototype.free;
|
|
2201
|
+
|
|
2107
2202
|
export class Aroon {
|
|
2108
2203
|
__destroy_into_raw() {
|
|
2109
2204
|
const ptr = this.__wbg_ptr;
|
|
@@ -5001,6 +5096,91 @@ export class CenterOfGravity {
|
|
|
5001
5096
|
}
|
|
5002
5097
|
if (Symbol.dispose) CenterOfGravity.prototype[Symbol.dispose] = CenterOfGravity.prototype.free;
|
|
5003
5098
|
|
|
5099
|
+
export class CentralPivotRange {
|
|
5100
|
+
__destroy_into_raw() {
|
|
5101
|
+
const ptr = this.__wbg_ptr;
|
|
5102
|
+
this.__wbg_ptr = 0;
|
|
5103
|
+
CentralPivotRangeFinalization.unregister(this);
|
|
5104
|
+
return ptr;
|
|
5105
|
+
}
|
|
5106
|
+
free() {
|
|
5107
|
+
const ptr = this.__destroy_into_raw();
|
|
5108
|
+
wasm.__wbg_centralpivotrange_free(ptr, 0);
|
|
5109
|
+
}
|
|
5110
|
+
/**
|
|
5111
|
+
* @param {Float64Array} high
|
|
5112
|
+
* @param {Float64Array} low
|
|
5113
|
+
* @param {Float64Array} close
|
|
5114
|
+
* @returns {Float64Array}
|
|
5115
|
+
*/
|
|
5116
|
+
batch(high, low, close) {
|
|
5117
|
+
try {
|
|
5118
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
5119
|
+
const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
|
|
5120
|
+
const len0 = WASM_VECTOR_LEN;
|
|
5121
|
+
const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
|
|
5122
|
+
const len1 = WASM_VECTOR_LEN;
|
|
5123
|
+
const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
|
|
5124
|
+
const len2 = WASM_VECTOR_LEN;
|
|
5125
|
+
wasm.centralpivotrange_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
|
|
5126
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
5127
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
5128
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
5129
|
+
if (r2) {
|
|
5130
|
+
throw takeObject(r1);
|
|
5131
|
+
}
|
|
5132
|
+
return takeObject(r0);
|
|
5133
|
+
} finally {
|
|
5134
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
5135
|
+
}
|
|
5136
|
+
}
|
|
5137
|
+
/**
|
|
5138
|
+
* @returns {boolean}
|
|
5139
|
+
*/
|
|
5140
|
+
isReady() {
|
|
5141
|
+
const ret = wasm.centralpivotrange_isReady(this.__wbg_ptr);
|
|
5142
|
+
return ret !== 0;
|
|
5143
|
+
}
|
|
5144
|
+
constructor() {
|
|
5145
|
+
const ret = wasm.centralpivotrange_new();
|
|
5146
|
+
this.__wbg_ptr = ret;
|
|
5147
|
+
CentralPivotRangeFinalization.register(this, this.__wbg_ptr, this);
|
|
5148
|
+
return this;
|
|
5149
|
+
}
|
|
5150
|
+
reset() {
|
|
5151
|
+
wasm.centralpivotrange_reset(this.__wbg_ptr);
|
|
5152
|
+
}
|
|
5153
|
+
/**
|
|
5154
|
+
* @param {number} high
|
|
5155
|
+
* @param {number} low
|
|
5156
|
+
* @param {number} close
|
|
5157
|
+
* @returns {any}
|
|
5158
|
+
*/
|
|
5159
|
+
update(high, low, close) {
|
|
5160
|
+
try {
|
|
5161
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
5162
|
+
wasm.centralpivotrange_update(retptr, this.__wbg_ptr, high, low, close);
|
|
5163
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
5164
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
5165
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
5166
|
+
if (r2) {
|
|
5167
|
+
throw takeObject(r1);
|
|
5168
|
+
}
|
|
5169
|
+
return takeObject(r0);
|
|
5170
|
+
} finally {
|
|
5171
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
5172
|
+
}
|
|
5173
|
+
}
|
|
5174
|
+
/**
|
|
5175
|
+
* @returns {number}
|
|
5176
|
+
*/
|
|
5177
|
+
warmupPeriod() {
|
|
5178
|
+
const ret = wasm.centralpivotrange_warmupPeriod(this.__wbg_ptr);
|
|
5179
|
+
return ret >>> 0;
|
|
5180
|
+
}
|
|
5181
|
+
}
|
|
5182
|
+
if (Symbol.dispose) CentralPivotRange.prototype[Symbol.dispose] = CentralPivotRange.prototype.free;
|
|
5183
|
+
|
|
5004
5184
|
export class ChaikinMoneyFlow {
|
|
5005
5185
|
__destroy_into_raw() {
|
|
5006
5186
|
const ptr = this.__wbg_ptr;
|
|
@@ -20187,6 +20367,101 @@ export class MorningEveningStar {
|
|
|
20187
20367
|
}
|
|
20188
20368
|
if (Symbol.dispose) MorningEveningStar.prototype[Symbol.dispose] = MorningEveningStar.prototype.free;
|
|
20189
20369
|
|
|
20370
|
+
export class MurreyMathLines {
|
|
20371
|
+
__destroy_into_raw() {
|
|
20372
|
+
const ptr = this.__wbg_ptr;
|
|
20373
|
+
this.__wbg_ptr = 0;
|
|
20374
|
+
MurreyMathLinesFinalization.unregister(this);
|
|
20375
|
+
return ptr;
|
|
20376
|
+
}
|
|
20377
|
+
free() {
|
|
20378
|
+
const ptr = this.__destroy_into_raw();
|
|
20379
|
+
wasm.__wbg_murreymathlines_free(ptr, 0);
|
|
20380
|
+
}
|
|
20381
|
+
/**
|
|
20382
|
+
* @param {Float64Array} high
|
|
20383
|
+
* @param {Float64Array} low
|
|
20384
|
+
* @returns {Float64Array}
|
|
20385
|
+
*/
|
|
20386
|
+
batch(high, low) {
|
|
20387
|
+
try {
|
|
20388
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
20389
|
+
const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
|
|
20390
|
+
const len0 = WASM_VECTOR_LEN;
|
|
20391
|
+
const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
|
|
20392
|
+
const len1 = WASM_VECTOR_LEN;
|
|
20393
|
+
wasm.murreymathlines_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
20394
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
20395
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
20396
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
20397
|
+
if (r2) {
|
|
20398
|
+
throw takeObject(r1);
|
|
20399
|
+
}
|
|
20400
|
+
return takeObject(r0);
|
|
20401
|
+
} finally {
|
|
20402
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
20403
|
+
}
|
|
20404
|
+
}
|
|
20405
|
+
/**
|
|
20406
|
+
* @returns {boolean}
|
|
20407
|
+
*/
|
|
20408
|
+
isReady() {
|
|
20409
|
+
const ret = wasm.murreymathlines_isReady(this.__wbg_ptr);
|
|
20410
|
+
return ret !== 0;
|
|
20411
|
+
}
|
|
20412
|
+
/**
|
|
20413
|
+
* @param {number} period
|
|
20414
|
+
*/
|
|
20415
|
+
constructor(period) {
|
|
20416
|
+
try {
|
|
20417
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
20418
|
+
wasm.murreymathlines_new(retptr, period);
|
|
20419
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
20420
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
20421
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
20422
|
+
if (r2) {
|
|
20423
|
+
throw takeObject(r1);
|
|
20424
|
+
}
|
|
20425
|
+
this.__wbg_ptr = r0;
|
|
20426
|
+
MurreyMathLinesFinalization.register(this, this.__wbg_ptr, this);
|
|
20427
|
+
return this;
|
|
20428
|
+
} finally {
|
|
20429
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
20430
|
+
}
|
|
20431
|
+
}
|
|
20432
|
+
reset() {
|
|
20433
|
+
wasm.murreymathlines_reset(this.__wbg_ptr);
|
|
20434
|
+
}
|
|
20435
|
+
/**
|
|
20436
|
+
* @param {number} high
|
|
20437
|
+
* @param {number} low
|
|
20438
|
+
* @returns {any}
|
|
20439
|
+
*/
|
|
20440
|
+
update(high, low) {
|
|
20441
|
+
try {
|
|
20442
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
20443
|
+
wasm.murreymathlines_update(retptr, this.__wbg_ptr, high, low);
|
|
20444
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
20445
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
20446
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
20447
|
+
if (r2) {
|
|
20448
|
+
throw takeObject(r1);
|
|
20449
|
+
}
|
|
20450
|
+
return takeObject(r0);
|
|
20451
|
+
} finally {
|
|
20452
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
20453
|
+
}
|
|
20454
|
+
}
|
|
20455
|
+
/**
|
|
20456
|
+
* @returns {number}
|
|
20457
|
+
*/
|
|
20458
|
+
warmupPeriod() {
|
|
20459
|
+
const ret = wasm.murreymathlines_warmupPeriod(this.__wbg_ptr);
|
|
20460
|
+
return ret >>> 0;
|
|
20461
|
+
}
|
|
20462
|
+
}
|
|
20463
|
+
if (Symbol.dispose) MurreyMathLines.prototype[Symbol.dispose] = MurreyMathLines.prototype.free;
|
|
20464
|
+
|
|
20190
20465
|
export class NATR {
|
|
20191
20466
|
__destroy_into_raw() {
|
|
20192
20467
|
const ptr = this.__wbg_ptr;
|
|
@@ -23091,6 +23366,107 @@ export class PiercingDarkCloud {
|
|
|
23091
23366
|
}
|
|
23092
23367
|
if (Symbol.dispose) PiercingDarkCloud.prototype[Symbol.dispose] = PiercingDarkCloud.prototype.free;
|
|
23093
23368
|
|
|
23369
|
+
export class PivotReversal {
|
|
23370
|
+
__destroy_into_raw() {
|
|
23371
|
+
const ptr = this.__wbg_ptr;
|
|
23372
|
+
this.__wbg_ptr = 0;
|
|
23373
|
+
PivotReversalFinalization.unregister(this);
|
|
23374
|
+
return ptr;
|
|
23375
|
+
}
|
|
23376
|
+
free() {
|
|
23377
|
+
const ptr = this.__destroy_into_raw();
|
|
23378
|
+
wasm.__wbg_pivotreversal_free(ptr, 0);
|
|
23379
|
+
}
|
|
23380
|
+
/**
|
|
23381
|
+
* @param {Float64Array} high
|
|
23382
|
+
* @param {Float64Array} low
|
|
23383
|
+
* @param {Float64Array} close
|
|
23384
|
+
* @returns {Float64Array}
|
|
23385
|
+
*/
|
|
23386
|
+
batch(high, low, close) {
|
|
23387
|
+
try {
|
|
23388
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
23389
|
+
const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
|
|
23390
|
+
const len0 = WASM_VECTOR_LEN;
|
|
23391
|
+
const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
|
|
23392
|
+
const len1 = WASM_VECTOR_LEN;
|
|
23393
|
+
const ptr2 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
|
|
23394
|
+
const len2 = WASM_VECTOR_LEN;
|
|
23395
|
+
wasm.pivotreversal_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
|
|
23396
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
23397
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
23398
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
23399
|
+
if (r2) {
|
|
23400
|
+
throw takeObject(r1);
|
|
23401
|
+
}
|
|
23402
|
+
return takeObject(r0);
|
|
23403
|
+
} finally {
|
|
23404
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
23405
|
+
}
|
|
23406
|
+
}
|
|
23407
|
+
/**
|
|
23408
|
+
* @returns {boolean}
|
|
23409
|
+
*/
|
|
23410
|
+
isReady() {
|
|
23411
|
+
const ret = wasm.pivotreversal_isReady(this.__wbg_ptr);
|
|
23412
|
+
return ret !== 0;
|
|
23413
|
+
}
|
|
23414
|
+
/**
|
|
23415
|
+
* @param {number} left
|
|
23416
|
+
* @param {number} right
|
|
23417
|
+
*/
|
|
23418
|
+
constructor(left, right) {
|
|
23419
|
+
try {
|
|
23420
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
23421
|
+
wasm.pivotreversal_new(retptr, left, right);
|
|
23422
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
23423
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
23424
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
23425
|
+
if (r2) {
|
|
23426
|
+
throw takeObject(r1);
|
|
23427
|
+
}
|
|
23428
|
+
this.__wbg_ptr = r0;
|
|
23429
|
+
PivotReversalFinalization.register(this, this.__wbg_ptr, this);
|
|
23430
|
+
return this;
|
|
23431
|
+
} finally {
|
|
23432
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
23433
|
+
}
|
|
23434
|
+
}
|
|
23435
|
+
reset() {
|
|
23436
|
+
wasm.pivotreversal_reset(this.__wbg_ptr);
|
|
23437
|
+
}
|
|
23438
|
+
/**
|
|
23439
|
+
* @param {number} high
|
|
23440
|
+
* @param {number} low
|
|
23441
|
+
* @param {number} close
|
|
23442
|
+
* @returns {number | undefined}
|
|
23443
|
+
*/
|
|
23444
|
+
update(high, low, close) {
|
|
23445
|
+
try {
|
|
23446
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
|
|
23447
|
+
wasm.pivotreversal_update(retptr, this.__wbg_ptr, high, low, close);
|
|
23448
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
23449
|
+
var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
|
|
23450
|
+
var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
|
|
23451
|
+
var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
|
|
23452
|
+
if (r5) {
|
|
23453
|
+
throw takeObject(r4);
|
|
23454
|
+
}
|
|
23455
|
+
return r0 === 0 ? undefined : r2;
|
|
23456
|
+
} finally {
|
|
23457
|
+
wasm.__wbindgen_add_to_stack_pointer(32);
|
|
23458
|
+
}
|
|
23459
|
+
}
|
|
23460
|
+
/**
|
|
23461
|
+
* @returns {number}
|
|
23462
|
+
*/
|
|
23463
|
+
warmupPeriod() {
|
|
23464
|
+
const ret = wasm.pivotreversal_warmupPeriod(this.__wbg_ptr);
|
|
23465
|
+
return ret >>> 0;
|
|
23466
|
+
}
|
|
23467
|
+
}
|
|
23468
|
+
if (Symbol.dispose) PivotReversal.prototype[Symbol.dispose] = PivotReversal.prototype.free;
|
|
23469
|
+
|
|
23094
23470
|
export class PointAndFigureBars {
|
|
23095
23471
|
__destroy_into_raw() {
|
|
23096
23472
|
const ptr = this.__wbg_ptr;
|
|
@@ -36306,6 +36682,105 @@ export class VolumeWeightedMacd {
|
|
|
36306
36682
|
}
|
|
36307
36683
|
if (Symbol.dispose) VolumeWeightedMacd.prototype[Symbol.dispose] = VolumeWeightedMacd.prototype.free;
|
|
36308
36684
|
|
|
36685
|
+
export class VolumeWeightedSr {
|
|
36686
|
+
__destroy_into_raw() {
|
|
36687
|
+
const ptr = this.__wbg_ptr;
|
|
36688
|
+
this.__wbg_ptr = 0;
|
|
36689
|
+
VolumeWeightedSrFinalization.unregister(this);
|
|
36690
|
+
return ptr;
|
|
36691
|
+
}
|
|
36692
|
+
free() {
|
|
36693
|
+
const ptr = this.__destroy_into_raw();
|
|
36694
|
+
wasm.__wbg_volumeweightedsr_free(ptr, 0);
|
|
36695
|
+
}
|
|
36696
|
+
/**
|
|
36697
|
+
* @param {Float64Array} high
|
|
36698
|
+
* @param {Float64Array} low
|
|
36699
|
+
* @param {Float64Array} volume
|
|
36700
|
+
* @returns {Float64Array}
|
|
36701
|
+
*/
|
|
36702
|
+
batch(high, low, volume) {
|
|
36703
|
+
try {
|
|
36704
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
36705
|
+
const ptr0 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
|
|
36706
|
+
const len0 = WASM_VECTOR_LEN;
|
|
36707
|
+
const ptr1 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
|
|
36708
|
+
const len1 = WASM_VECTOR_LEN;
|
|
36709
|
+
const ptr2 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
|
|
36710
|
+
const len2 = WASM_VECTOR_LEN;
|
|
36711
|
+
wasm.volumeweightedsr_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
|
|
36712
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
36713
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
36714
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
36715
|
+
if (r2) {
|
|
36716
|
+
throw takeObject(r1);
|
|
36717
|
+
}
|
|
36718
|
+
return takeObject(r0);
|
|
36719
|
+
} finally {
|
|
36720
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
36721
|
+
}
|
|
36722
|
+
}
|
|
36723
|
+
/**
|
|
36724
|
+
* @returns {boolean}
|
|
36725
|
+
*/
|
|
36726
|
+
isReady() {
|
|
36727
|
+
const ret = wasm.volumeweightedsr_isReady(this.__wbg_ptr);
|
|
36728
|
+
return ret !== 0;
|
|
36729
|
+
}
|
|
36730
|
+
/**
|
|
36731
|
+
* @param {number} period
|
|
36732
|
+
*/
|
|
36733
|
+
constructor(period) {
|
|
36734
|
+
try {
|
|
36735
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
36736
|
+
wasm.volumeweightedsr_new(retptr, period);
|
|
36737
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
36738
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
36739
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
36740
|
+
if (r2) {
|
|
36741
|
+
throw takeObject(r1);
|
|
36742
|
+
}
|
|
36743
|
+
this.__wbg_ptr = r0;
|
|
36744
|
+
VolumeWeightedSrFinalization.register(this, this.__wbg_ptr, this);
|
|
36745
|
+
return this;
|
|
36746
|
+
} finally {
|
|
36747
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
36748
|
+
}
|
|
36749
|
+
}
|
|
36750
|
+
reset() {
|
|
36751
|
+
wasm.volumeweightedsr_reset(this.__wbg_ptr);
|
|
36752
|
+
}
|
|
36753
|
+
/**
|
|
36754
|
+
* @param {number} high
|
|
36755
|
+
* @param {number} low
|
|
36756
|
+
* @param {number} volume
|
|
36757
|
+
* @returns {any}
|
|
36758
|
+
*/
|
|
36759
|
+
update(high, low, volume) {
|
|
36760
|
+
try {
|
|
36761
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
36762
|
+
wasm.volumeweightedsr_update(retptr, this.__wbg_ptr, high, low, volume);
|
|
36763
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
36764
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
36765
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
36766
|
+
if (r2) {
|
|
36767
|
+
throw takeObject(r1);
|
|
36768
|
+
}
|
|
36769
|
+
return takeObject(r0);
|
|
36770
|
+
} finally {
|
|
36771
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
36772
|
+
}
|
|
36773
|
+
}
|
|
36774
|
+
/**
|
|
36775
|
+
* @returns {number}
|
|
36776
|
+
*/
|
|
36777
|
+
warmupPeriod() {
|
|
36778
|
+
const ret = wasm.volumeweightedsr_warmupPeriod(this.__wbg_ptr);
|
|
36779
|
+
return ret >>> 0;
|
|
36780
|
+
}
|
|
36781
|
+
}
|
|
36782
|
+
if (Symbol.dispose) VolumeWeightedSr.prototype[Symbol.dispose] = VolumeWeightedSr.prototype.free;
|
|
36783
|
+
|
|
36309
36784
|
export class Vortex {
|
|
36310
36785
|
__destroy_into_raw() {
|
|
36311
36786
|
const ptr = this.__wbg_ptr;
|
|
@@ -38259,6 +38734,9 @@ const AnchoredRSIFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
38259
38734
|
const AnchoredVWAPFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
38260
38735
|
? { register: () => {}, unregister: () => {} }
|
|
38261
38736
|
: new FinalizationRegistry(ptr => wasm.__wbg_anchoredvwap_free(ptr, 1));
|
|
38737
|
+
const AndrewsPitchforkFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
38738
|
+
? { register: () => {}, unregister: () => {} }
|
|
38739
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_andrewspitchfork_free(ptr, 1));
|
|
38262
38740
|
const AwesomeOscillatorFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
38263
38741
|
? { register: () => {}, unregister: () => {} }
|
|
38264
38742
|
: new FinalizationRegistry(ptr => wasm.__wbg_awesomeoscillator_free(ptr, 1));
|
|
@@ -38367,6 +38845,9 @@ const CCIFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
38367
38845
|
const CenterOfGravityFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
38368
38846
|
? { register: () => {}, unregister: () => {} }
|
|
38369
38847
|
: new FinalizationRegistry(ptr => wasm.__wbg_centerofgravity_free(ptr, 1));
|
|
38848
|
+
const CentralPivotRangeFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
38849
|
+
? { register: () => {}, unregister: () => {} }
|
|
38850
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_centralpivotrange_free(ptr, 1));
|
|
38370
38851
|
const CFOFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
38371
38852
|
? { register: () => {}, unregister: () => {} }
|
|
38372
38853
|
: new FinalizationRegistry(ptr => wasm.__wbg_cfo_free(ptr, 1));
|
|
@@ -38934,6 +39415,9 @@ const MorningDojiStarFinalization = (typeof FinalizationRegistry === 'undefined'
|
|
|
38934
39415
|
const MorningEveningStarFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
38935
39416
|
? { register: () => {}, unregister: () => {} }
|
|
38936
39417
|
: new FinalizationRegistry(ptr => wasm.__wbg_morningeveningstar_free(ptr, 1));
|
|
39418
|
+
const MurreyMathLinesFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
39419
|
+
? { register: () => {}, unregister: () => {} }
|
|
39420
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_murreymathlines_free(ptr, 1));
|
|
38937
39421
|
const NATRFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
38938
39422
|
? { register: () => {}, unregister: () => {} }
|
|
38939
39423
|
: new FinalizationRegistry(ptr => wasm.__wbg_natr_free(ptr, 1));
|
|
@@ -39021,6 +39505,9 @@ const PGOFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
39021
39505
|
const PiercingDarkCloudFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
39022
39506
|
? { register: () => {}, unregister: () => {} }
|
|
39023
39507
|
: new FinalizationRegistry(ptr => wasm.__wbg_piercingdarkcloud_free(ptr, 1));
|
|
39508
|
+
const PivotReversalFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
39509
|
+
? { register: () => {}, unregister: () => {} }
|
|
39510
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_pivotreversal_free(ptr, 1));
|
|
39024
39511
|
const PLUS_DIFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
39025
39512
|
? { register: () => {}, unregister: () => {} }
|
|
39026
39513
|
: new FinalizationRegistry(ptr => wasm.__wbg_plus_di_free(ptr, 1));
|
|
@@ -39507,6 +39994,9 @@ const VolumeRsiFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
|
39507
39994
|
const VolumeWeightedMacdFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
39508
39995
|
? { register: () => {}, unregister: () => {} }
|
|
39509
39996
|
: new FinalizationRegistry(ptr => wasm.__wbg_volumeweightedmacd_free(ptr, 1));
|
|
39997
|
+
const VolumeWeightedSrFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
39998
|
+
? { register: () => {}, unregister: () => {} }
|
|
39999
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_volumeweightedsr_free(ptr, 1));
|
|
39510
40000
|
const VortexFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
39511
40001
|
? { register: () => {}, unregister: () => {} }
|
|
39512
40002
|
: new FinalizationRegistry(ptr => wasm.__wbg_vortex_free(ptr, 1));
|
package/wickra_wasm_bg.wasm
CHANGED
|
Binary file
|