wickra-wasm 0.4.5 → 0.4.7
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 +10 -9
- package/package.json +1 -1
- package/wickra_wasm.d.ts +365 -0
- package/wickra_wasm.js +1 -1
- package/wickra_wasm_bg.js +2831 -326
- 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=325" 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)
|
|
@@ -47,7 +47,7 @@ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
|
|
|
47
47
|
[Node](https://docs.wickra.org/Quickstart-Node),
|
|
48
48
|
[WASM](https://docs.wickra.org/Quickstart-WASM).
|
|
49
49
|
- **Indicators** — a per-indicator deep dive (formula, parameters, warmup) for
|
|
50
|
-
every one of the
|
|
50
|
+
every one of the 325 indicators; start at the
|
|
51
51
|
[indicators overview](https://docs.wickra.org/Indicators-Overview).
|
|
52
52
|
- **Reference** — [warmup periods](https://docs.wickra.org/Warmup-Periods),
|
|
53
53
|
[streaming vs batch](https://docs.wickra.org/Streaming-vs-Batch),
|
|
@@ -135,7 +135,7 @@ python -m benchmarks.compare_libraries
|
|
|
135
135
|
|
|
136
136
|
## Indicators
|
|
137
137
|
|
|
138
|
-
|
|
138
|
+
325 streaming-first indicators across twenty families. Every one passes the
|
|
139
139
|
`batch == streaming` equivalence test, reference-value tests, and reset
|
|
140
140
|
semantics tests. Each has a per-indicator deep dive (formula, parameters,
|
|
141
141
|
warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
@@ -143,15 +143,15 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
|
143
143
|
| Family | Indicators |
|
|
144
144
|
|--------|-----------|
|
|
145
145
|
| Moving Averages | SMA, EMA, WMA, DEMA, TEMA, HMA, KAMA, SMMA, TRIMA, ZLEMA, T3, VWMA, ALMA, McGinley Dynamic, FRAMA, VIDYA, JMA, Alligator, EVWMA |
|
|
146
|
-
| Momentum Oscillators | RSI (Wilder), Anchored RSI, Stochastic, CCI, ROC, Williams %R, MFI, Awesome Oscillator, MOM, CMO, TSI, PMO, StochRSI, Ultimate Oscillator, RVI, PGO, KST, SMI, Laguerre RSI, Connors RSI, Inertia |
|
|
147
|
-
| Trend & Directional | MACD, ADX (+DI/-DI), ADXR, Aroon, TRIX, Aroon Oscillator, Vortex, Random Walk Index, Trend Intensity Index, Wave Trend Oscillator, Mass Index, Choppiness Index, Vertical Horizontal Filter |
|
|
146
|
+
| Momentum Oscillators | RSI (Wilder), Anchored RSI, Stochastic, CCI, ROC, Williams %R, MFI, Awesome Oscillator, MOM, CMO, TSI, PMO, StochRSI, Ultimate Oscillator, RVI, PGO, KST, SMI, Laguerre RSI, Connors RSI, Inertia, ROC Percentage (ROCP), ROC Ratio (ROCR), ROC Ratio 100 (ROCR100) |
|
|
147
|
+
| Trend & Directional | MACD, MACD Fixed (MACDFIX), MACD Extended (MACDEXT), ADX (+DI/-DI), ADXR, Aroon, TRIX, Aroon Oscillator, Vortex, Random Walk Index, Trend Intensity Index, Wave Trend Oscillator, Mass Index, Choppiness Index, Vertical Horizontal Filter, Plus DM, Minus DM, Plus DI, Minus DI, DX |
|
|
148
148
|
| Price Oscillators | PPO, DPO, Coppock, Accelerator Oscillator, Balance of Power, APO, AO Histogram, CFO, Zero-Lag MACD, Elder Impulse, STC |
|
|
149
149
|
| 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 |
|
|
150
150
|
| 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 |
|
|
151
|
-
| Trailing Stops | Parabolic SAR, 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 |
|
|
151
|
+
| 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 |
|
|
152
152
|
| 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 |
|
|
153
|
-
| 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 |
|
|
154
|
-
| Ehlers / Cycle (DSP) | MAMA, FAMA, Fisher Transform, Inverse Fisher Transform, SuperSmoother, Hilbert Dominant Cycle, Sine Wave, Decycler, Decycler Oscillator, Roofing Filter, Center of Gravity, Cybernetic Cycle, Adaptive Cycle, Empirical Mode Decomposition, Ehlers Stochastic, Instantaneous Trendline |
|
|
153
|
+
| 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 |
|
|
154
|
+
| 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 |
|
|
155
155
|
| Pivots & S/R | Classic Pivots, Fibonacci Pivots, Camarilla, Woodie Pivots, DeMark Pivots, Williams Fractals, ZigZag |
|
|
156
156
|
| 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 |
|
|
157
157
|
| Ichimoku & Charts | Ichimoku Kinko Hyo (Tenkan, Kijun, Senkou A/B, Chikou), Heikin-Ashi |
|
|
@@ -160,6 +160,7 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
|
160
160
|
| Microstructure | Order-Book Imbalance (Top-1 / Top-N / Full), Microprice, Quoted Spread, Depth Slope, Signed Volume, Cumulative Volume Delta, Trade Imbalance, Effective Spread, Realized Spread, Kyle's Lambda, Footprint |
|
|
161
161
|
| Derivatives | Funding Rate, Funding Rate Mean, Funding Rate Z-Score, Funding Basis, Open-Interest Delta, OI / Price Divergence, OI-Weighted Price, Long/Short Ratio, Taker Buy/Sell Ratio, Liquidation Features, Term-Structure Basis, Calendar Spread |
|
|
162
162
|
| Market Profile | Value Area (POC / VAH / VAL), Volume Profile (histogram), TPO Profile, Initial Balance, Opening Range |
|
|
163
|
+
| Market Breadth | Advance/Decline Line |
|
|
163
164
|
| Risk / Performance | Sharpe Ratio, Sortino Ratio, Calmar Ratio, Omega Ratio, Max Drawdown, Average Drawdown, Drawdown Duration, Pain Index, Value at Risk, Conditional Value at Risk (CVaR), Profit Factor, Gain/Loss Ratio, Recovery Factor, Kelly Criterion, Treynor Ratio, Information Ratio, Alpha (Jensen) |
|
|
164
165
|
|
|
165
166
|
Every candlestick pattern emits a signed per-bar value — `+1.0` bullish,
|
|
@@ -239,7 +240,7 @@ A Python live-trading example using the public `websockets` package lives at
|
|
|
239
240
|
```
|
|
240
241
|
wickra/
|
|
241
242
|
├── crates/
|
|
242
|
-
│ ├── wickra-core/ core engine + all
|
|
243
|
+
│ ├── wickra-core/ core engine + all 325 indicators
|
|
243
244
|
│ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
|
|
244
245
|
│ └── wickra-data/ CSV reader, tick aggregator, live exchange feeds
|
|
245
246
|
├── bindings/
|
package/package.json
CHANGED
package/wickra_wasm.d.ts
CHANGED
|
@@ -69,6 +69,15 @@ export class ATR {
|
|
|
69
69
|
update(high: number, low: number, close: number): number | undefined;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
export class AVGPRICE {
|
|
73
|
+
free(): void;
|
|
74
|
+
[Symbol.dispose](): void;
|
|
75
|
+
batch(open: Float64Array, high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
76
|
+
constructor();
|
|
77
|
+
reset(): void;
|
|
78
|
+
update(open: number, high: number, low: number, close: number): number | undefined;
|
|
79
|
+
}
|
|
80
|
+
|
|
72
81
|
export class AbandonedBaby {
|
|
73
82
|
free(): void;
|
|
74
83
|
[Symbol.dispose](): void;
|
|
@@ -125,6 +134,16 @@ export class AdvanceBlock {
|
|
|
125
134
|
warmupPeriod(): number;
|
|
126
135
|
}
|
|
127
136
|
|
|
137
|
+
export class AdvanceDecline {
|
|
138
|
+
free(): void;
|
|
139
|
+
[Symbol.dispose](): void;
|
|
140
|
+
isReady(): boolean;
|
|
141
|
+
constructor();
|
|
142
|
+
reset(): void;
|
|
143
|
+
update(change: Float64Array, volume: Float64Array, new_high: Float64Array, new_low: Float64Array): number | undefined;
|
|
144
|
+
warmupPeriod(): number;
|
|
145
|
+
}
|
|
146
|
+
|
|
128
147
|
export class Alligator {
|
|
129
148
|
free(): void;
|
|
130
149
|
[Symbol.dispose](): void;
|
|
@@ -300,6 +319,21 @@ export class Beta {
|
|
|
300
319
|
warmupPeriod(): number;
|
|
301
320
|
}
|
|
302
321
|
|
|
322
|
+
export class BetaNeutralSpread {
|
|
323
|
+
free(): void;
|
|
324
|
+
[Symbol.dispose](): void;
|
|
325
|
+
/**
|
|
326
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
327
|
+
* input position (`NaN` during warmup).
|
|
328
|
+
*/
|
|
329
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
330
|
+
isReady(): boolean;
|
|
331
|
+
constructor(period: number);
|
|
332
|
+
reset(): void;
|
|
333
|
+
update(x: number, y: number): number | undefined;
|
|
334
|
+
warmupPeriod(): number;
|
|
335
|
+
}
|
|
336
|
+
|
|
303
337
|
export class BollingerBands {
|
|
304
338
|
free(): void;
|
|
305
339
|
[Symbol.dispose](): void;
|
|
@@ -625,6 +659,15 @@ export class DPO {
|
|
|
625
659
|
warmupPeriod(): number;
|
|
626
660
|
}
|
|
627
661
|
|
|
662
|
+
export class DX {
|
|
663
|
+
free(): void;
|
|
664
|
+
[Symbol.dispose](): void;
|
|
665
|
+
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
666
|
+
constructor(period: number);
|
|
667
|
+
reset(): void;
|
|
668
|
+
update(high: number, low: number, close: number): number | undefined;
|
|
669
|
+
}
|
|
670
|
+
|
|
628
671
|
export class Decycler {
|
|
629
672
|
free(): void;
|
|
630
673
|
[Symbol.dispose](): void;
|
|
@@ -688,6 +731,21 @@ export class DetrendedStdDev {
|
|
|
688
731
|
warmupPeriod(): number;
|
|
689
732
|
}
|
|
690
733
|
|
|
734
|
+
export class DistanceSsd {
|
|
735
|
+
free(): void;
|
|
736
|
+
[Symbol.dispose](): void;
|
|
737
|
+
/**
|
|
738
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
739
|
+
* input position (`NaN` during warmup).
|
|
740
|
+
*/
|
|
741
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
742
|
+
isReady(): boolean;
|
|
743
|
+
constructor(period: number);
|
|
744
|
+
reset(): void;
|
|
745
|
+
update(x: number, y: number): number | undefined;
|
|
746
|
+
warmupPeriod(): number;
|
|
747
|
+
}
|
|
748
|
+
|
|
691
749
|
export class Doji {
|
|
692
750
|
free(): void;
|
|
693
751
|
[Symbol.dispose](): void;
|
|
@@ -1044,6 +1102,21 @@ export class GarmanKlassVolatility {
|
|
|
1044
1102
|
warmupPeriod(): number;
|
|
1045
1103
|
}
|
|
1046
1104
|
|
|
1105
|
+
export class GrangerCausality {
|
|
1106
|
+
free(): void;
|
|
1107
|
+
[Symbol.dispose](): void;
|
|
1108
|
+
/**
|
|
1109
|
+
* Batch over two equally-sized arrays of prices. Returns one `f64` per
|
|
1110
|
+
* input position (`NaN` during warmup).
|
|
1111
|
+
*/
|
|
1112
|
+
batch(a: Float64Array, b: Float64Array): Float64Array;
|
|
1113
|
+
isReady(): boolean;
|
|
1114
|
+
constructor(period: number, lag: number);
|
|
1115
|
+
reset(): void;
|
|
1116
|
+
update(a: number, b: number): number | undefined;
|
|
1117
|
+
warmupPeriod(): number;
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1047
1120
|
export class GravestoneDoji {
|
|
1048
1121
|
free(): void;
|
|
1049
1122
|
[Symbol.dispose](): void;
|
|
@@ -1066,6 +1139,40 @@ export class HMA {
|
|
|
1066
1139
|
warmupPeriod(): number;
|
|
1067
1140
|
}
|
|
1068
1141
|
|
|
1142
|
+
export class HT_DCPHASE {
|
|
1143
|
+
free(): void;
|
|
1144
|
+
[Symbol.dispose](): void;
|
|
1145
|
+
batch(prices: Float64Array): Float64Array;
|
|
1146
|
+
isReady(): boolean;
|
|
1147
|
+
constructor();
|
|
1148
|
+
reset(): void;
|
|
1149
|
+
update(value: number): number | undefined;
|
|
1150
|
+
warmupPeriod(): number;
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
export class HT_PHASOR {
|
|
1154
|
+
free(): void;
|
|
1155
|
+
[Symbol.dispose](): void;
|
|
1156
|
+
/**
|
|
1157
|
+
* Returns a flat `Float64Array` of length `2 * n`: `[inphase0, quad0, ...]`.
|
|
1158
|
+
*/
|
|
1159
|
+
batch(prices: Float64Array): Float64Array;
|
|
1160
|
+
constructor();
|
|
1161
|
+
reset(): void;
|
|
1162
|
+
update(value: number): any;
|
|
1163
|
+
}
|
|
1164
|
+
|
|
1165
|
+
export class HT_TRENDMODE {
|
|
1166
|
+
free(): void;
|
|
1167
|
+
[Symbol.dispose](): void;
|
|
1168
|
+
batch(prices: Float64Array): Float64Array;
|
|
1169
|
+
isReady(): boolean;
|
|
1170
|
+
constructor();
|
|
1171
|
+
reset(): void;
|
|
1172
|
+
update(value: number): number | undefined;
|
|
1173
|
+
warmupPeriod(): number;
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1069
1176
|
export class Hammer {
|
|
1070
1177
|
free(): void;
|
|
1071
1178
|
[Symbol.dispose](): void;
|
|
@@ -1382,6 +1489,24 @@ export class KagiBars {
|
|
|
1382
1489
|
update(close: number): Array<any>;
|
|
1383
1490
|
}
|
|
1384
1491
|
|
|
1492
|
+
export class KalmanHedgeRatio {
|
|
1493
|
+
free(): void;
|
|
1494
|
+
[Symbol.dispose](): void;
|
|
1495
|
+
/**
|
|
1496
|
+
* Flat `Float64Array` of length `3 * n`:
|
|
1497
|
+
* `[hedgeRatio0, intercept0, spread0, hedgeRatio1, ...]`. Warmup rows are NaN.
|
|
1498
|
+
*/
|
|
1499
|
+
batch(a: Float64Array, b: Float64Array): Float64Array;
|
|
1500
|
+
isReady(): boolean;
|
|
1501
|
+
constructor(delta: number, observation_var: number);
|
|
1502
|
+
reset(): void;
|
|
1503
|
+
/**
|
|
1504
|
+
* Returns `{ hedgeRatio, intercept, spread }`, or `null` during warmup.
|
|
1505
|
+
*/
|
|
1506
|
+
update(a: number, b: number): any;
|
|
1507
|
+
warmupPeriod(): number;
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1385
1510
|
export class KellyCriterion {
|
|
1386
1511
|
free(): void;
|
|
1387
1512
|
[Symbol.dispose](): void;
|
|
@@ -1450,6 +1575,17 @@ export class KylesLambda {
|
|
|
1450
1575
|
warmupPeriod(): number;
|
|
1451
1576
|
}
|
|
1452
1577
|
|
|
1578
|
+
export class LINEARREG_INTERCEPT {
|
|
1579
|
+
free(): void;
|
|
1580
|
+
[Symbol.dispose](): void;
|
|
1581
|
+
batch(prices: Float64Array): Float64Array;
|
|
1582
|
+
isReady(): boolean;
|
|
1583
|
+
constructor(period: number);
|
|
1584
|
+
reset(): void;
|
|
1585
|
+
update(value: number): number | undefined;
|
|
1586
|
+
warmupPeriod(): number;
|
|
1587
|
+
}
|
|
1588
|
+
|
|
1453
1589
|
export class LadderBottom {
|
|
1454
1590
|
free(): void;
|
|
1455
1591
|
[Symbol.dispose](): void;
|
|
@@ -1591,6 +1727,33 @@ export class MACD {
|
|
|
1591
1727
|
update(value: number): any;
|
|
1592
1728
|
}
|
|
1593
1729
|
|
|
1730
|
+
export class MACDEXT {
|
|
1731
|
+
free(): void;
|
|
1732
|
+
[Symbol.dispose](): void;
|
|
1733
|
+
/**
|
|
1734
|
+
* Returns a flat `Float64Array` of length `3 * n`: `[macd0, sig0, hist0, ...]`.
|
|
1735
|
+
*/
|
|
1736
|
+
batch(prices: Float64Array): Float64Array;
|
|
1737
|
+
/**
|
|
1738
|
+
* Moving-average types are TA-Lib `MA_Type` codes `0..=5`.
|
|
1739
|
+
*/
|
|
1740
|
+
constructor(fast: number, fast_matype: number, slow: number, slow_matype: number, signal: number, signal_matype: number);
|
|
1741
|
+
reset(): void;
|
|
1742
|
+
update(value: number): any;
|
|
1743
|
+
}
|
|
1744
|
+
|
|
1745
|
+
export class MACDFIX {
|
|
1746
|
+
free(): void;
|
|
1747
|
+
[Symbol.dispose](): void;
|
|
1748
|
+
/**
|
|
1749
|
+
* Returns a flat `Float64Array` of length `3 * n`: `[macd0, sig0, hist0, ...]`.
|
|
1750
|
+
*/
|
|
1751
|
+
batch(prices: Float64Array): Float64Array;
|
|
1752
|
+
constructor(signal: number);
|
|
1753
|
+
reset(): void;
|
|
1754
|
+
update(value: number): any;
|
|
1755
|
+
}
|
|
1756
|
+
|
|
1594
1757
|
export class MAMA {
|
|
1595
1758
|
free(): void;
|
|
1596
1759
|
[Symbol.dispose](): void;
|
|
@@ -1616,6 +1779,44 @@ export class MFI {
|
|
|
1616
1779
|
warmupPeriod(): number;
|
|
1617
1780
|
}
|
|
1618
1781
|
|
|
1782
|
+
export class MIDPOINT {
|
|
1783
|
+
free(): void;
|
|
1784
|
+
[Symbol.dispose](): void;
|
|
1785
|
+
batch(prices: Float64Array): Float64Array;
|
|
1786
|
+
isReady(): boolean;
|
|
1787
|
+
constructor(period: number);
|
|
1788
|
+
reset(): void;
|
|
1789
|
+
update(value: number): number | undefined;
|
|
1790
|
+
warmupPeriod(): number;
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1793
|
+
export class MIDPRICE {
|
|
1794
|
+
free(): void;
|
|
1795
|
+
[Symbol.dispose](): void;
|
|
1796
|
+
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
1797
|
+
constructor(period: number);
|
|
1798
|
+
reset(): void;
|
|
1799
|
+
update(high: number, low: number, close: number): number | undefined;
|
|
1800
|
+
}
|
|
1801
|
+
|
|
1802
|
+
export class MINUS_DI {
|
|
1803
|
+
free(): void;
|
|
1804
|
+
[Symbol.dispose](): void;
|
|
1805
|
+
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
1806
|
+
constructor(period: number);
|
|
1807
|
+
reset(): void;
|
|
1808
|
+
update(high: number, low: number, close: number): number | undefined;
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1811
|
+
export class MINUS_DM {
|
|
1812
|
+
free(): void;
|
|
1813
|
+
[Symbol.dispose](): void;
|
|
1814
|
+
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
1815
|
+
constructor(period: number);
|
|
1816
|
+
reset(): void;
|
|
1817
|
+
update(high: number, low: number, close: number): number | undefined;
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1619
1820
|
export class MOM {
|
|
1620
1821
|
free(): void;
|
|
1621
1822
|
[Symbol.dispose](): void;
|
|
@@ -1903,6 +2104,21 @@ export class OrderBookImbalanceTopN {
|
|
|
1903
2104
|
warmupPeriod(): number;
|
|
1904
2105
|
}
|
|
1905
2106
|
|
|
2107
|
+
export class OuHalfLife {
|
|
2108
|
+
free(): void;
|
|
2109
|
+
[Symbol.dispose](): void;
|
|
2110
|
+
/**
|
|
2111
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
2112
|
+
* input position (`NaN` during warmup).
|
|
2113
|
+
*/
|
|
2114
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
2115
|
+
isReady(): boolean;
|
|
2116
|
+
constructor(period: number);
|
|
2117
|
+
reset(): void;
|
|
2118
|
+
update(x: number, y: number): number | undefined;
|
|
2119
|
+
warmupPeriod(): number;
|
|
2120
|
+
}
|
|
2121
|
+
|
|
1906
2122
|
export class PGO {
|
|
1907
2123
|
free(): void;
|
|
1908
2124
|
[Symbol.dispose](): void;
|
|
@@ -1914,6 +2130,24 @@ export class PGO {
|
|
|
1914
2130
|
warmupPeriod(): number;
|
|
1915
2131
|
}
|
|
1916
2132
|
|
|
2133
|
+
export class PLUS_DI {
|
|
2134
|
+
free(): void;
|
|
2135
|
+
[Symbol.dispose](): void;
|
|
2136
|
+
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
2137
|
+
constructor(period: number);
|
|
2138
|
+
reset(): void;
|
|
2139
|
+
update(high: number, low: number, close: number): number | undefined;
|
|
2140
|
+
}
|
|
2141
|
+
|
|
2142
|
+
export class PLUS_DM {
|
|
2143
|
+
free(): void;
|
|
2144
|
+
[Symbol.dispose](): void;
|
|
2145
|
+
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
2146
|
+
constructor(period: number);
|
|
2147
|
+
reset(): void;
|
|
2148
|
+
update(high: number, low: number, close: number): number | undefined;
|
|
2149
|
+
}
|
|
2150
|
+
|
|
1917
2151
|
export class PMO {
|
|
1918
2152
|
free(): void;
|
|
1919
2153
|
[Symbol.dispose](): void;
|
|
@@ -2100,6 +2334,39 @@ export class ROC {
|
|
|
2100
2334
|
warmupPeriod(): number;
|
|
2101
2335
|
}
|
|
2102
2336
|
|
|
2337
|
+
export class ROCP {
|
|
2338
|
+
free(): void;
|
|
2339
|
+
[Symbol.dispose](): void;
|
|
2340
|
+
batch(prices: Float64Array): Float64Array;
|
|
2341
|
+
isReady(): boolean;
|
|
2342
|
+
constructor(period: number);
|
|
2343
|
+
reset(): void;
|
|
2344
|
+
update(value: number): number | undefined;
|
|
2345
|
+
warmupPeriod(): number;
|
|
2346
|
+
}
|
|
2347
|
+
|
|
2348
|
+
export class ROCR {
|
|
2349
|
+
free(): void;
|
|
2350
|
+
[Symbol.dispose](): void;
|
|
2351
|
+
batch(prices: Float64Array): Float64Array;
|
|
2352
|
+
isReady(): boolean;
|
|
2353
|
+
constructor(period: number);
|
|
2354
|
+
reset(): void;
|
|
2355
|
+
update(value: number): number | undefined;
|
|
2356
|
+
warmupPeriod(): number;
|
|
2357
|
+
}
|
|
2358
|
+
|
|
2359
|
+
export class ROCR100 {
|
|
2360
|
+
free(): void;
|
|
2361
|
+
[Symbol.dispose](): void;
|
|
2362
|
+
batch(prices: Float64Array): Float64Array;
|
|
2363
|
+
isReady(): boolean;
|
|
2364
|
+
constructor(period: number);
|
|
2365
|
+
reset(): void;
|
|
2366
|
+
update(value: number): number | undefined;
|
|
2367
|
+
warmupPeriod(): number;
|
|
2368
|
+
}
|
|
2369
|
+
|
|
2103
2370
|
export class RSI {
|
|
2104
2371
|
free(): void;
|
|
2105
2372
|
[Symbol.dispose](): void;
|
|
@@ -2250,6 +2517,36 @@ export class RogersSatchellVolatility {
|
|
|
2250
2517
|
warmupPeriod(): number;
|
|
2251
2518
|
}
|
|
2252
2519
|
|
|
2520
|
+
export class RollingCorrelation {
|
|
2521
|
+
free(): void;
|
|
2522
|
+
[Symbol.dispose](): void;
|
|
2523
|
+
/**
|
|
2524
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
2525
|
+
* input position (`NaN` during warmup).
|
|
2526
|
+
*/
|
|
2527
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
2528
|
+
isReady(): boolean;
|
|
2529
|
+
constructor(period: number);
|
|
2530
|
+
reset(): void;
|
|
2531
|
+
update(x: number, y: number): number | undefined;
|
|
2532
|
+
warmupPeriod(): number;
|
|
2533
|
+
}
|
|
2534
|
+
|
|
2535
|
+
export class RollingCovariance {
|
|
2536
|
+
free(): void;
|
|
2537
|
+
[Symbol.dispose](): void;
|
|
2538
|
+
/**
|
|
2539
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
2540
|
+
* input position (`NaN` during warmup).
|
|
2541
|
+
*/
|
|
2542
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
2543
|
+
isReady(): boolean;
|
|
2544
|
+
constructor(period: number);
|
|
2545
|
+
reset(): void;
|
|
2546
|
+
update(x: number, y: number): number | undefined;
|
|
2547
|
+
warmupPeriod(): number;
|
|
2548
|
+
}
|
|
2549
|
+
|
|
2253
2550
|
export class RollingVWAP {
|
|
2254
2551
|
free(): void;
|
|
2255
2552
|
[Symbol.dispose](): void;
|
|
@@ -2273,6 +2570,15 @@ export class RoofingFilter {
|
|
|
2273
2570
|
warmupPeriod(): number;
|
|
2274
2571
|
}
|
|
2275
2572
|
|
|
2573
|
+
export class SAREXT {
|
|
2574
|
+
free(): void;
|
|
2575
|
+
[Symbol.dispose](): void;
|
|
2576
|
+
batch(high: Float64Array, low: Float64Array, close: Float64Array): Float64Array;
|
|
2577
|
+
constructor(start_value: number, offset_on_reverse: number, accel_init_long: number, accel_long: number, accel_max_long: number, accel_init_short: number, accel_short: number, accel_max_short: number);
|
|
2578
|
+
reset(): void;
|
|
2579
|
+
update(high: number, low: number, close: number): number | undefined;
|
|
2580
|
+
}
|
|
2581
|
+
|
|
2276
2582
|
export class SMA {
|
|
2277
2583
|
free(): void;
|
|
2278
2584
|
[Symbol.dispose](): void;
|
|
@@ -2431,6 +2737,39 @@ export class SpinningTop {
|
|
|
2431
2737
|
warmupPeriod(): number;
|
|
2432
2738
|
}
|
|
2433
2739
|
|
|
2740
|
+
export class SpreadBollingerBands {
|
|
2741
|
+
free(): void;
|
|
2742
|
+
[Symbol.dispose](): void;
|
|
2743
|
+
/**
|
|
2744
|
+
* Flat `Float64Array` of length `4 * n`:
|
|
2745
|
+
* `[middle0, upper0, lower0, percentB0, middle1, ...]`. Warmup rows are NaN.
|
|
2746
|
+
*/
|
|
2747
|
+
batch(a: Float64Array, b: Float64Array): Float64Array;
|
|
2748
|
+
isReady(): boolean;
|
|
2749
|
+
constructor(period: number, num_std: number);
|
|
2750
|
+
reset(): void;
|
|
2751
|
+
/**
|
|
2752
|
+
* Returns `{ middle, upper, lower, percentB }`, or `null` during warmup.
|
|
2753
|
+
*/
|
|
2754
|
+
update(a: number, b: number): any;
|
|
2755
|
+
warmupPeriod(): number;
|
|
2756
|
+
}
|
|
2757
|
+
|
|
2758
|
+
export class SpreadHurst {
|
|
2759
|
+
free(): void;
|
|
2760
|
+
[Symbol.dispose](): void;
|
|
2761
|
+
/**
|
|
2762
|
+
* Batch over two equally-sized arrays. Returns one `f64` per
|
|
2763
|
+
* input position (`NaN` during warmup).
|
|
2764
|
+
*/
|
|
2765
|
+
batch(x: Float64Array, y: Float64Array): Float64Array;
|
|
2766
|
+
isReady(): boolean;
|
|
2767
|
+
constructor(period: number);
|
|
2768
|
+
reset(): void;
|
|
2769
|
+
update(x: number, y: number): number | undefined;
|
|
2770
|
+
warmupPeriod(): number;
|
|
2771
|
+
}
|
|
2772
|
+
|
|
2434
2773
|
export class StalledPattern {
|
|
2435
2774
|
free(): void;
|
|
2436
2775
|
[Symbol.dispose](): void;
|
|
@@ -2773,6 +3112,17 @@ export class TRIX {
|
|
|
2773
3112
|
warmupPeriod(): number;
|
|
2774
3113
|
}
|
|
2775
3114
|
|
|
3115
|
+
export class TSF {
|
|
3116
|
+
free(): void;
|
|
3117
|
+
[Symbol.dispose](): void;
|
|
3118
|
+
batch(prices: Float64Array): Float64Array;
|
|
3119
|
+
isReady(): boolean;
|
|
3120
|
+
constructor(period: number);
|
|
3121
|
+
reset(): void;
|
|
3122
|
+
update(value: number): number | undefined;
|
|
3123
|
+
warmupPeriod(): number;
|
|
3124
|
+
}
|
|
3125
|
+
|
|
2776
3126
|
export class TSI {
|
|
2777
3127
|
free(): void;
|
|
2778
3128
|
[Symbol.dispose](): void;
|
|
@@ -3119,6 +3469,21 @@ export class Variance {
|
|
|
3119
3469
|
warmupPeriod(): number;
|
|
3120
3470
|
}
|
|
3121
3471
|
|
|
3472
|
+
export class VarianceRatio {
|
|
3473
|
+
free(): void;
|
|
3474
|
+
[Symbol.dispose](): void;
|
|
3475
|
+
/**
|
|
3476
|
+
* Batch over two equally-sized arrays of prices. Returns one `f64` per
|
|
3477
|
+
* input position (`NaN` during warmup).
|
|
3478
|
+
*/
|
|
3479
|
+
batch(a: Float64Array, b: Float64Array): Float64Array;
|
|
3480
|
+
isReady(): boolean;
|
|
3481
|
+
constructor(period: number, q: number);
|
|
3482
|
+
reset(): void;
|
|
3483
|
+
update(a: number, b: number): number | undefined;
|
|
3484
|
+
warmupPeriod(): number;
|
|
3485
|
+
}
|
|
3486
|
+
|
|
3122
3487
|
export class VerticalHorizontalFilter {
|
|
3123
3488
|
free(): void;
|
|
3124
3489
|
[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
|
-
ADL, ADX, ADXR, ALMA, APO, ATR, AbandonedBaby, AccelerationBands, AcceleratorOscillator, AdaptiveCycle, AdvanceBlock, Alligator, Alpha, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, BeltHold, Beta, BollingerBands, BollingerBandwidth, Breakaway, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, CumulativeVolumeDelta, CyberneticCycle, DEMA, DPO, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DetrendedStdDev, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, FAMA, FRAMA, FallingThreeMethods, FibonacciPivots, FisherTransform, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GainLossRatio, GapSideBySideWhite, GarmanKlassVolatility, GravestoneDoji, HMA, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HomingPigeon, HurstChannel, HurstExponent, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KagiBars, KellyCriterion, Keltner, Kicking, KickingByLength, Kurtosis, KylesLambda, LadderBottom, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, LiquidationFeatures, LongLeggedDoji, LongLine, LongShortRatio, MACD, MAMA, MFI, MOM, MaEnvelope, MarketFacilitationIndex, Marubozu, MassIndex, MatHold, MatchingLow, MaxDrawdown, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, PGO, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, ProfitFactor, QuotedSpread, ROC, RSI, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RecoveryFactor, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollingVWAP, RoofingFilter, SMA, SMI, SMMA, STC, SeparatingLines, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TRIMA, TRIX, TSI, TSV, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeInside, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TpoProfile, TradeImbalance, TreynorRatio, TrueRange, TtmSqueeze, Tweezer, TwoCrows, TypicalPrice, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VerticalHorizontalFilter, VoltyStop, VolumeOscillator, VolumePriceTrend, VolumeProfile, Vortex, VwapStdDevBands, WMA, WaveTrend, WeightedClose, WilliamsAD, WilliamsFractals, WilliamsR, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
|
|
8
|
+
ADL, ADX, ADXR, ALMA, APO, ATR, AVGPRICE, AbandonedBaby, AccelerationBands, AcceleratorOscillator, AdaptiveCycle, AdvanceBlock, AdvanceDecline, Alligator, Alpha, AnchoredRSI, AnchoredVWAP, Aroon, AroonOscillator, AtrBands, AtrTrailingStop, Autocorrelation, AverageDrawdown, AwesomeOscillator, AwesomeOscillatorHistogram, BalanceOfPower, BeltHold, Beta, BetaNeutralSpread, BollingerBands, BollingerBandwidth, Breakaway, CCI, CFO, CMO, CalendarSpread, CalmarRatio, Camarilla, CenterOfGravity, ChaikinMoneyFlow, ChaikinOscillator, ChaikinVolatility, ChandeKrollStop, ChandelierExit, ChoppinessIndex, ClassicPivots, ClosingMarubozu, CoefficientOfVariation, Cointegration, ConcealingBabySwallow, ConditionalValueAtRisk, ConnorsRSI, Coppock, Counterattack, CumulativeVolumeDelta, CyberneticCycle, DEMA, DPO, DX, Decycler, DecyclerOscillator, DemandIndex, DemarkPivots, DepthSlope, DetrendedStdDev, DistanceSsd, Doji, DojiStar, Donchian, DonchianStop, DoubleBollinger, DownsideGapThreeMethods, DragonflyDoji, DrawdownDuration, EMA, EVWMA, EaseOfMovement, EffectiveSpread, EhlersStochastic, ElderImpulse, EmpiricalModeDecomposition, Engulfing, EveningDojiStar, FAMA, FRAMA, FallingThreeMethods, FibonacciPivots, FisherTransform, Footprint, ForceIndex, FractalChaosBands, FundingBasis, FundingRate, FundingRateMean, FundingRateZScore, GainLossRatio, GapSideBySideWhite, GarmanKlassVolatility, GrangerCausality, GravestoneDoji, HMA, HT_DCPHASE, HT_PHASOR, HT_TRENDMODE, Hammer, HangingMan, Harami, HeikinAshi, HiLoActivator, HighWave, Hikkake, HikkakeModified, HilbertDominantCycle, HistoricalVolatility, HomingPigeon, HurstChannel, HurstExponent, Ichimoku, IdenticalThreeCrows, InNeck, Inertia, InformationRatio, InitialBalance, InstantaneousTrendline, InverseFisherTransform, InvertedHammer, JMA, KAMA, KST, KVO, KagiBars, KalmanHedgeRatio, KellyCriterion, Keltner, Kicking, KickingByLength, Kurtosis, KylesLambda, LINEARREG_INTERCEPT, LadderBottom, LaguerreRSI, LeadLagCrossCorrelation, LinRegAngle, LinRegChannel, LinRegSlope, LinearRegression, LiquidationFeatures, LongLeggedDoji, LongLine, LongShortRatio, MACD, MACDEXT, MACDFIX, MAMA, MFI, MIDPOINT, MIDPRICE, MINUS_DI, MINUS_DM, MOM, MaEnvelope, MarketFacilitationIndex, Marubozu, MassIndex, MatHold, MatchingLow, MaxDrawdown, McGinleyDynamic, MedianAbsoluteDeviation, MedianPrice, Microprice, MorningDojiStar, MorningEveningStar, NATR, NVI, OBV, OIPriceDivergence, OIWeighted, OmegaRatio, OnNeck, OpenInterestDelta, OpeningMarubozu, OpeningRange, OrderBookImbalanceFull, OrderBookImbalanceTop1, OrderBookImbalanceTopN, OuHalfLife, PGO, PLUS_DI, PLUS_DM, PMO, PPO, PSAR, PVI, PainIndex, PairSpreadZScore, PairwiseBeta, ParkinsonVolatility, PearsonCorrelation, PercentB, PercentageTrailingStop, PiercingDarkCloud, PointAndFigureBars, ProfitFactor, QuotedSpread, ROC, ROCP, ROCR, ROCR100, RSI, RSquared, RVI, RVIVolatility, RWI, RealizedSpread, RecoveryFactor, RelativeStrengthAB, RenkoBars, RenkoTrailingStop, RickshawMan, RisingThreeMethods, RogersSatchellVolatility, RollingCorrelation, RollingCovariance, RollingVWAP, RoofingFilter, SAREXT, SMA, SMI, SMMA, STC, SeparatingLines, SharpeRatio, ShootingStar, ShortLine, SignedVolume, SineWave, Skewness, SortinoRatio, SpearmanCorrelation, SpinningTop, SpreadBollingerBands, SpreadHurst, StalledPattern, StandardError, StandardErrorBands, StarcBands, StdDev, StepTrailingStop, StickSandwich, StochRSI, Stochastic, SuperSmoother, SuperTrend, T3, TDCombo, TDCountdown, TDDeMarker, TDDifferential, TDLines, TDOpen, TDPressure, TDREI, TDRangeProjection, TDRiskLevel, TDSequential, TDSetup, TEMA, TII, TRIMA, TRIX, TSF, TSI, TSV, TakerBuySellRatio, Takuri, TasukiGap, TermStructureBasis, ThreeInside, ThreeLineStrike, ThreeOutside, ThreeSoldiersOrCrows, ThreeStarsInSouth, Thrusting, TpoProfile, TradeImbalance, TreynorRatio, TrueRange, TtmSqueeze, Tweezer, TwoCrows, TypicalPrice, UlcerIndex, UltimateOscillator, UniqueThreeRiver, UpsideGapThreeMethods, UpsideGapTwoCrows, VIDYA, VWAP, VWMA, VZO, ValueArea, ValueAtRisk, Variance, VarianceRatio, VerticalHorizontalFilter, VoltyStop, VolumeOscillator, VolumePriceTrend, VolumeProfile, Vortex, VwapStdDevBands, WMA, WaveTrend, WeightedClose, WilliamsAD, WilliamsFractals, WilliamsR, WoodiePivots, YangZhangVolatility, YoyoExit, ZLEMA, ZScore, ZeroLagMACD, ZigZag, installPanicHook, version
|
|
9
9
|
} from "./wickra_wasm_bg.js";
|