wickra 0.4.3 → 0.4.5
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 +9 -7
- package/index.d.ts +599 -0
- package/index.js +64 -1
- package/npm/darwin-arm64/package.json +1 -1
- package/npm/darwin-arm64/wickra.darwin-arm64.node +0 -0
- package/npm/darwin-x64/package.json +1 -1
- package/npm/darwin-x64/wickra.darwin-x64.node +0 -0
- package/npm/linux-arm64-gnu/package.json +1 -1
- package/npm/linux-arm64-gnu/wickra.linux-arm64-gnu.node +0 -0
- package/npm/linux-x64-gnu/package.json +1 -1
- package/npm/linux-x64-gnu/wickra.linux-x64-gnu.node +0 -0
- package/npm/win32-arm64-msvc/package.json +1 -1
- package/npm/win32-arm64-msvc/wickra.win32-arm64-msvc.node +0 -0
- package/npm/win32-x64-msvc/package.json +1 -1
- package/npm/win32-x64-msvc/wickra.win32-x64-msvc.node +0 -0
- package/package.json +7 -7
- package/wickra.darwin-arm64.node +0 -0
- package/wickra.darwin-x64.node +0 -0
- package/wickra.linux-arm64-gnu.node +0 -0
- package/wickra.linux-x64-gnu.node +0 -0
- package/wickra.win32-arm64-msvc.node +0 -0
- package/wickra.win32-x64-msvc.node +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=295" 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 295 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
|
+
295 streaming-first indicators across nineteen 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,7 +143,7 @@ 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), Stochastic, CCI, ROC, Williams %R, MFI, Awesome Oscillator, MOM, CMO, TSI, PMO, StochRSI, Ultimate Oscillator, RVI, PGO, KST, SMI, Laguerre RSI, Connors RSI, Inertia |
|
|
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
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 |
|
|
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 |
|
|
@@ -155,9 +155,11 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
|
|
|
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 |
|
|
158
|
-
|
|
|
158
|
+
| Alt-Chart Bars | Renko (box-size bricks), Kagi (reversal-amount lines), Point & Figure (X/O columns) |
|
|
159
|
+
| Candlestick Patterns | Doji, Hammer, Inverted Hammer, Hanging Man, Shooting Star, Engulfing, Harami, Morning/Evening Star, Three White Soldiers/Black Crows, Piercing Line/Dark Cloud Cover, Marubozu, Tweezer, Spinning Top, Three Inside Up/Down, Three Outside Up/Down, Two Crows, Upside Gap Two Crows, Identical Three Crows, Three Line Strike, Three Stars in the South, Abandoned Baby, Advance Block, Belt-hold, Breakaway, Counterattack, Doji Star, Dragonfly Doji, Gravestone Doji, Long-Legged Doji, Rickshaw Man, Evening Doji Star, Morning Doji Star, Gap Side-by-Side White, High-Wave, Hikkake, Modified Hikkake, Homing Pigeon, On-Neck, In-Neck, Thrusting, Separating Lines, Kicking, Kicking by Length, Ladder Bottom, Mat Hold, Matching Low, Long Line, Short Line, Rising Three Methods, Falling Three Methods, Upside Gap Three Methods, Downside Gap Three Methods, Stalled Pattern, Stick Sandwich, Takuri, Closing Marubozu, Opening Marubozu, Tasuki Gap, Unique Three River, Concealing Baby Swallow |
|
|
159
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 |
|
|
160
|
-
|
|
|
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
|
+
| Market Profile | Value Area (POC / VAH / VAL), Volume Profile (histogram), TPO Profile, Initial Balance, Opening Range |
|
|
161
163
|
| 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) |
|
|
162
164
|
|
|
163
165
|
Every candlestick pattern emits a signed per-bar value — `+1.0` bullish,
|
|
@@ -237,7 +239,7 @@ A Python live-trading example using the public `websockets` package lives at
|
|
|
237
239
|
```
|
|
238
240
|
wickra/
|
|
239
241
|
├── crates/
|
|
240
|
-
│ ├── wickra-core/ core engine + all
|
|
242
|
+
│ ├── wickra-core/ core engine + all 295 indicators
|
|
241
243
|
│ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
|
|
242
244
|
│ └── wickra-data/ CSV reader, tick aggregator, live exchange feeds
|
|
243
245
|
├── bindings/
|
package/index.d.ts
CHANGED
|
@@ -270,6 +270,16 @@ export interface ValueAreaValue {
|
|
|
270
270
|
vah: number
|
|
271
271
|
val: number
|
|
272
272
|
}
|
|
273
|
+
export interface VolumeProfileValue {
|
|
274
|
+
priceLow: number
|
|
275
|
+
priceHigh: number
|
|
276
|
+
bins: Array<number>
|
|
277
|
+
}
|
|
278
|
+
export interface TpoProfileValue {
|
|
279
|
+
priceLow: number
|
|
280
|
+
priceHigh: number
|
|
281
|
+
counts: Array<number>
|
|
282
|
+
}
|
|
273
283
|
export interface InitialBalanceValue {
|
|
274
284
|
high: number
|
|
275
285
|
low: number
|
|
@@ -292,6 +302,29 @@ export interface FootprintLevelValue {
|
|
|
292
302
|
bidVol: number
|
|
293
303
|
askVol: number
|
|
294
304
|
}
|
|
305
|
+
/** The liquidation feature vector for one tick. */
|
|
306
|
+
export interface LiquidationFeaturesValue {
|
|
307
|
+
long: number
|
|
308
|
+
short: number
|
|
309
|
+
net: number
|
|
310
|
+
total: number
|
|
311
|
+
imbalance: number
|
|
312
|
+
}
|
|
313
|
+
export interface RenkoBrickValue {
|
|
314
|
+
open: number
|
|
315
|
+
close: number
|
|
316
|
+
direction: number
|
|
317
|
+
}
|
|
318
|
+
export interface KagiSegmentValue {
|
|
319
|
+
start: number
|
|
320
|
+
end: number
|
|
321
|
+
direction: number
|
|
322
|
+
}
|
|
323
|
+
export interface PnfColumnValue {
|
|
324
|
+
direction: number
|
|
325
|
+
high: number
|
|
326
|
+
low: number
|
|
327
|
+
}
|
|
295
328
|
export type SmaNode = SMA
|
|
296
329
|
export declare class SMA {
|
|
297
330
|
constructor(period: number)
|
|
@@ -1216,6 +1249,16 @@ export declare class WilliamsAD {
|
|
|
1216
1249
|
isReady(): boolean
|
|
1217
1250
|
warmupPeriod(): number
|
|
1218
1251
|
}
|
|
1252
|
+
export type AnchoredRsiNode = AnchoredRSI
|
|
1253
|
+
export declare class AnchoredRSI {
|
|
1254
|
+
constructor()
|
|
1255
|
+
setAnchor(): void
|
|
1256
|
+
update(value: number): number | null
|
|
1257
|
+
batch(prices: Array<number>): Array<number>
|
|
1258
|
+
reset(): void
|
|
1259
|
+
isReady(): boolean
|
|
1260
|
+
warmupPeriod(): number
|
|
1261
|
+
}
|
|
1219
1262
|
export type AnchoredVwapNode = AnchoredVWAP
|
|
1220
1263
|
export declare class AnchoredVWAP {
|
|
1221
1264
|
constructor()
|
|
@@ -2046,6 +2089,24 @@ export declare class ValueArea {
|
|
|
2046
2089
|
update(high: number, low: number, volume: number): ValueAreaValue | null
|
|
2047
2090
|
batch(high: Array<number>, low: Array<number>, volume: Array<number>): Array<number>
|
|
2048
2091
|
}
|
|
2092
|
+
export type VolumeProfileNode = VolumeProfile
|
|
2093
|
+
export declare class VolumeProfile {
|
|
2094
|
+
constructor(period: number, binCount: number)
|
|
2095
|
+
reset(): void
|
|
2096
|
+
isReady(): boolean
|
|
2097
|
+
warmupPeriod(): number
|
|
2098
|
+
update(high: number, low: number, volume: number): VolumeProfileValue | null
|
|
2099
|
+
batch(high: Array<number>, low: Array<number>, volume: Array<number>): Array<number>
|
|
2100
|
+
}
|
|
2101
|
+
export type TpoProfileNode = TpoProfile
|
|
2102
|
+
export declare class TpoProfile {
|
|
2103
|
+
constructor(period: number, binCount: number)
|
|
2104
|
+
reset(): void
|
|
2105
|
+
isReady(): boolean
|
|
2106
|
+
warmupPeriod(): number
|
|
2107
|
+
update(high: number, low: number): TpoProfileValue | null
|
|
2108
|
+
batch(high: Array<number>, low: Array<number>): Array<number>
|
|
2109
|
+
}
|
|
2049
2110
|
export type InitialBalanceNode = InitialBalance
|
|
2050
2111
|
export declare class InitialBalance {
|
|
2051
2112
|
constructor(period: number)
|
|
@@ -2202,6 +2263,411 @@ export declare class ThreeOutside {
|
|
|
2202
2263
|
isReady(): boolean
|
|
2203
2264
|
warmupPeriod(): number
|
|
2204
2265
|
}
|
|
2266
|
+
export type TwoCrowsNode = TwoCrows
|
|
2267
|
+
export declare class TwoCrows {
|
|
2268
|
+
constructor()
|
|
2269
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2270
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2271
|
+
reset(): void
|
|
2272
|
+
isReady(): boolean
|
|
2273
|
+
warmupPeriod(): number
|
|
2274
|
+
}
|
|
2275
|
+
export type UpsideGapTwoCrowsNode = UpsideGapTwoCrows
|
|
2276
|
+
export declare class UpsideGapTwoCrows {
|
|
2277
|
+
constructor()
|
|
2278
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2279
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2280
|
+
reset(): void
|
|
2281
|
+
isReady(): boolean
|
|
2282
|
+
warmupPeriod(): number
|
|
2283
|
+
}
|
|
2284
|
+
export type IdenticalThreeCrowsNode = IdenticalThreeCrows
|
|
2285
|
+
export declare class IdenticalThreeCrows {
|
|
2286
|
+
constructor()
|
|
2287
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2288
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2289
|
+
reset(): void
|
|
2290
|
+
isReady(): boolean
|
|
2291
|
+
warmupPeriod(): number
|
|
2292
|
+
}
|
|
2293
|
+
export type ThreeLineStrikeNode = ThreeLineStrike
|
|
2294
|
+
export declare class ThreeLineStrike {
|
|
2295
|
+
constructor()
|
|
2296
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2297
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2298
|
+
reset(): void
|
|
2299
|
+
isReady(): boolean
|
|
2300
|
+
warmupPeriod(): number
|
|
2301
|
+
}
|
|
2302
|
+
export type ThreeStarsInSouthNode = ThreeStarsInSouth
|
|
2303
|
+
export declare class ThreeStarsInSouth {
|
|
2304
|
+
constructor()
|
|
2305
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2306
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2307
|
+
reset(): void
|
|
2308
|
+
isReady(): boolean
|
|
2309
|
+
warmupPeriod(): number
|
|
2310
|
+
}
|
|
2311
|
+
export type AbandonedBabyNode = AbandonedBaby
|
|
2312
|
+
export declare class AbandonedBaby {
|
|
2313
|
+
constructor()
|
|
2314
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2315
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2316
|
+
reset(): void
|
|
2317
|
+
isReady(): boolean
|
|
2318
|
+
warmupPeriod(): number
|
|
2319
|
+
}
|
|
2320
|
+
export type AdvanceBlockNode = AdvanceBlock
|
|
2321
|
+
export declare class AdvanceBlock {
|
|
2322
|
+
constructor()
|
|
2323
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2324
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2325
|
+
reset(): void
|
|
2326
|
+
isReady(): boolean
|
|
2327
|
+
warmupPeriod(): number
|
|
2328
|
+
}
|
|
2329
|
+
export type BeltHoldNode = BeltHold
|
|
2330
|
+
export declare class BeltHold {
|
|
2331
|
+
constructor()
|
|
2332
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2333
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2334
|
+
reset(): void
|
|
2335
|
+
isReady(): boolean
|
|
2336
|
+
warmupPeriod(): number
|
|
2337
|
+
}
|
|
2338
|
+
export type BreakawayNode = Breakaway
|
|
2339
|
+
export declare class Breakaway {
|
|
2340
|
+
constructor()
|
|
2341
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2342
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2343
|
+
reset(): void
|
|
2344
|
+
isReady(): boolean
|
|
2345
|
+
warmupPeriod(): number
|
|
2346
|
+
}
|
|
2347
|
+
export type CounterattackNode = Counterattack
|
|
2348
|
+
export declare class Counterattack {
|
|
2349
|
+
constructor()
|
|
2350
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2351
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2352
|
+
reset(): void
|
|
2353
|
+
isReady(): boolean
|
|
2354
|
+
warmupPeriod(): number
|
|
2355
|
+
}
|
|
2356
|
+
export type DojiStarNode = DojiStar
|
|
2357
|
+
export declare class DojiStar {
|
|
2358
|
+
constructor()
|
|
2359
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2360
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2361
|
+
reset(): void
|
|
2362
|
+
isReady(): boolean
|
|
2363
|
+
warmupPeriod(): number
|
|
2364
|
+
}
|
|
2365
|
+
export type DragonflyDojiNode = DragonflyDoji
|
|
2366
|
+
export declare class DragonflyDoji {
|
|
2367
|
+
constructor()
|
|
2368
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2369
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2370
|
+
reset(): void
|
|
2371
|
+
isReady(): boolean
|
|
2372
|
+
warmupPeriod(): number
|
|
2373
|
+
}
|
|
2374
|
+
export type GravestoneDojiNode = GravestoneDoji
|
|
2375
|
+
export declare class GravestoneDoji {
|
|
2376
|
+
constructor()
|
|
2377
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2378
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2379
|
+
reset(): void
|
|
2380
|
+
isReady(): boolean
|
|
2381
|
+
warmupPeriod(): number
|
|
2382
|
+
}
|
|
2383
|
+
export type LongLeggedDojiNode = LongLeggedDoji
|
|
2384
|
+
export declare class LongLeggedDoji {
|
|
2385
|
+
constructor()
|
|
2386
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2387
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2388
|
+
reset(): void
|
|
2389
|
+
isReady(): boolean
|
|
2390
|
+
warmupPeriod(): number
|
|
2391
|
+
}
|
|
2392
|
+
export type RickshawManNode = RickshawMan
|
|
2393
|
+
export declare class RickshawMan {
|
|
2394
|
+
constructor()
|
|
2395
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2396
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2397
|
+
reset(): void
|
|
2398
|
+
isReady(): boolean
|
|
2399
|
+
warmupPeriod(): number
|
|
2400
|
+
}
|
|
2401
|
+
export type EveningDojiStarNode = EveningDojiStar
|
|
2402
|
+
export declare class EveningDojiStar {
|
|
2403
|
+
constructor()
|
|
2404
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2405
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2406
|
+
reset(): void
|
|
2407
|
+
isReady(): boolean
|
|
2408
|
+
warmupPeriod(): number
|
|
2409
|
+
}
|
|
2410
|
+
export type MorningDojiStarNode = MorningDojiStar
|
|
2411
|
+
export declare class MorningDojiStar {
|
|
2412
|
+
constructor()
|
|
2413
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2414
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2415
|
+
reset(): void
|
|
2416
|
+
isReady(): boolean
|
|
2417
|
+
warmupPeriod(): number
|
|
2418
|
+
}
|
|
2419
|
+
export type GapSideBySideWhiteNode = GapSideBySideWhite
|
|
2420
|
+
export declare class GapSideBySideWhite {
|
|
2421
|
+
constructor()
|
|
2422
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2423
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2424
|
+
reset(): void
|
|
2425
|
+
isReady(): boolean
|
|
2426
|
+
warmupPeriod(): number
|
|
2427
|
+
}
|
|
2428
|
+
export type HighWaveNode = HighWave
|
|
2429
|
+
export declare class HighWave {
|
|
2430
|
+
constructor()
|
|
2431
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2432
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2433
|
+
reset(): void
|
|
2434
|
+
isReady(): boolean
|
|
2435
|
+
warmupPeriod(): number
|
|
2436
|
+
}
|
|
2437
|
+
export type HikkakeNode = Hikkake
|
|
2438
|
+
export declare class Hikkake {
|
|
2439
|
+
constructor()
|
|
2440
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2441
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2442
|
+
reset(): void
|
|
2443
|
+
isReady(): boolean
|
|
2444
|
+
warmupPeriod(): number
|
|
2445
|
+
}
|
|
2446
|
+
export type HikkakeModifiedNode = HikkakeModified
|
|
2447
|
+
export declare class HikkakeModified {
|
|
2448
|
+
constructor()
|
|
2449
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2450
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2451
|
+
reset(): void
|
|
2452
|
+
isReady(): boolean
|
|
2453
|
+
warmupPeriod(): number
|
|
2454
|
+
}
|
|
2455
|
+
export type HomingPigeonNode = HomingPigeon
|
|
2456
|
+
export declare class HomingPigeon {
|
|
2457
|
+
constructor()
|
|
2458
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2459
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2460
|
+
reset(): void
|
|
2461
|
+
isReady(): boolean
|
|
2462
|
+
warmupPeriod(): number
|
|
2463
|
+
}
|
|
2464
|
+
export type OnNeckNode = OnNeck
|
|
2465
|
+
export declare class OnNeck {
|
|
2466
|
+
constructor()
|
|
2467
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2468
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2469
|
+
reset(): void
|
|
2470
|
+
isReady(): boolean
|
|
2471
|
+
warmupPeriod(): number
|
|
2472
|
+
}
|
|
2473
|
+
export type InNeckNode = InNeck
|
|
2474
|
+
export declare class InNeck {
|
|
2475
|
+
constructor()
|
|
2476
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2477
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2478
|
+
reset(): void
|
|
2479
|
+
isReady(): boolean
|
|
2480
|
+
warmupPeriod(): number
|
|
2481
|
+
}
|
|
2482
|
+
export type ThrustingNode = Thrusting
|
|
2483
|
+
export declare class Thrusting {
|
|
2484
|
+
constructor()
|
|
2485
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2486
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2487
|
+
reset(): void
|
|
2488
|
+
isReady(): boolean
|
|
2489
|
+
warmupPeriod(): number
|
|
2490
|
+
}
|
|
2491
|
+
export type SeparatingLinesNode = SeparatingLines
|
|
2492
|
+
export declare class SeparatingLines {
|
|
2493
|
+
constructor()
|
|
2494
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2495
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2496
|
+
reset(): void
|
|
2497
|
+
isReady(): boolean
|
|
2498
|
+
warmupPeriod(): number
|
|
2499
|
+
}
|
|
2500
|
+
export type KickingNode = Kicking
|
|
2501
|
+
export declare class Kicking {
|
|
2502
|
+
constructor()
|
|
2503
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2504
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2505
|
+
reset(): void
|
|
2506
|
+
isReady(): boolean
|
|
2507
|
+
warmupPeriod(): number
|
|
2508
|
+
}
|
|
2509
|
+
export type KickingByLengthNode = KickingByLength
|
|
2510
|
+
export declare class KickingByLength {
|
|
2511
|
+
constructor()
|
|
2512
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2513
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2514
|
+
reset(): void
|
|
2515
|
+
isReady(): boolean
|
|
2516
|
+
warmupPeriod(): number
|
|
2517
|
+
}
|
|
2518
|
+
export type LadderBottomNode = LadderBottom
|
|
2519
|
+
export declare class LadderBottom {
|
|
2520
|
+
constructor()
|
|
2521
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2522
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2523
|
+
reset(): void
|
|
2524
|
+
isReady(): boolean
|
|
2525
|
+
warmupPeriod(): number
|
|
2526
|
+
}
|
|
2527
|
+
export type MatHoldNode = MatHold
|
|
2528
|
+
export declare class MatHold {
|
|
2529
|
+
constructor()
|
|
2530
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2531
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2532
|
+
reset(): void
|
|
2533
|
+
isReady(): boolean
|
|
2534
|
+
warmupPeriod(): number
|
|
2535
|
+
}
|
|
2536
|
+
export type MatchingLowNode = MatchingLow
|
|
2537
|
+
export declare class MatchingLow {
|
|
2538
|
+
constructor()
|
|
2539
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2540
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2541
|
+
reset(): void
|
|
2542
|
+
isReady(): boolean
|
|
2543
|
+
warmupPeriod(): number
|
|
2544
|
+
}
|
|
2545
|
+
export type LongLineNode = LongLine
|
|
2546
|
+
export declare class LongLine {
|
|
2547
|
+
constructor()
|
|
2548
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2549
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2550
|
+
reset(): void
|
|
2551
|
+
isReady(): boolean
|
|
2552
|
+
warmupPeriod(): number
|
|
2553
|
+
}
|
|
2554
|
+
export type ShortLineNode = ShortLine
|
|
2555
|
+
export declare class ShortLine {
|
|
2556
|
+
constructor()
|
|
2557
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2558
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2559
|
+
reset(): void
|
|
2560
|
+
isReady(): boolean
|
|
2561
|
+
warmupPeriod(): number
|
|
2562
|
+
}
|
|
2563
|
+
export type RisingThreeMethodsNode = RisingThreeMethods
|
|
2564
|
+
export declare class RisingThreeMethods {
|
|
2565
|
+
constructor()
|
|
2566
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2567
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2568
|
+
reset(): void
|
|
2569
|
+
isReady(): boolean
|
|
2570
|
+
warmupPeriod(): number
|
|
2571
|
+
}
|
|
2572
|
+
export type FallingThreeMethodsNode = FallingThreeMethods
|
|
2573
|
+
export declare class FallingThreeMethods {
|
|
2574
|
+
constructor()
|
|
2575
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2576
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2577
|
+
reset(): void
|
|
2578
|
+
isReady(): boolean
|
|
2579
|
+
warmupPeriod(): number
|
|
2580
|
+
}
|
|
2581
|
+
export type UpsideGapThreeMethodsNode = UpsideGapThreeMethods
|
|
2582
|
+
export declare class UpsideGapThreeMethods {
|
|
2583
|
+
constructor()
|
|
2584
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2585
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2586
|
+
reset(): void
|
|
2587
|
+
isReady(): boolean
|
|
2588
|
+
warmupPeriod(): number
|
|
2589
|
+
}
|
|
2590
|
+
export type DownsideGapThreeMethodsNode = DownsideGapThreeMethods
|
|
2591
|
+
export declare class DownsideGapThreeMethods {
|
|
2592
|
+
constructor()
|
|
2593
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2594
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2595
|
+
reset(): void
|
|
2596
|
+
isReady(): boolean
|
|
2597
|
+
warmupPeriod(): number
|
|
2598
|
+
}
|
|
2599
|
+
export type StalledPatternNode = StalledPattern
|
|
2600
|
+
export declare class StalledPattern {
|
|
2601
|
+
constructor()
|
|
2602
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2603
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2604
|
+
reset(): void
|
|
2605
|
+
isReady(): boolean
|
|
2606
|
+
warmupPeriod(): number
|
|
2607
|
+
}
|
|
2608
|
+
export type StickSandwichNode = StickSandwich
|
|
2609
|
+
export declare class StickSandwich {
|
|
2610
|
+
constructor()
|
|
2611
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2612
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2613
|
+
reset(): void
|
|
2614
|
+
isReady(): boolean
|
|
2615
|
+
warmupPeriod(): number
|
|
2616
|
+
}
|
|
2617
|
+
export type TakuriNode = Takuri
|
|
2618
|
+
export declare class Takuri {
|
|
2619
|
+
constructor()
|
|
2620
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2621
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2622
|
+
reset(): void
|
|
2623
|
+
isReady(): boolean
|
|
2624
|
+
warmupPeriod(): number
|
|
2625
|
+
}
|
|
2626
|
+
export type ClosingMarubozuNode = ClosingMarubozu
|
|
2627
|
+
export declare class ClosingMarubozu {
|
|
2628
|
+
constructor()
|
|
2629
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2630
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2631
|
+
reset(): void
|
|
2632
|
+
isReady(): boolean
|
|
2633
|
+
warmupPeriod(): number
|
|
2634
|
+
}
|
|
2635
|
+
export type OpeningMarubozuNode = OpeningMarubozu
|
|
2636
|
+
export declare class OpeningMarubozu {
|
|
2637
|
+
constructor()
|
|
2638
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2639
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2640
|
+
reset(): void
|
|
2641
|
+
isReady(): boolean
|
|
2642
|
+
warmupPeriod(): number
|
|
2643
|
+
}
|
|
2644
|
+
export type TasukiGapNode = TasukiGap
|
|
2645
|
+
export declare class TasukiGap {
|
|
2646
|
+
constructor()
|
|
2647
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2648
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2649
|
+
reset(): void
|
|
2650
|
+
isReady(): boolean
|
|
2651
|
+
warmupPeriod(): number
|
|
2652
|
+
}
|
|
2653
|
+
export type UniqueThreeRiverNode = UniqueThreeRiver
|
|
2654
|
+
export declare class UniqueThreeRiver {
|
|
2655
|
+
constructor()
|
|
2656
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2657
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2658
|
+
reset(): void
|
|
2659
|
+
isReady(): boolean
|
|
2660
|
+
warmupPeriod(): number
|
|
2661
|
+
}
|
|
2662
|
+
export type ConcealingBabySwallowNode = ConcealingBabySwallow
|
|
2663
|
+
export declare class ConcealingBabySwallow {
|
|
2664
|
+
constructor()
|
|
2665
|
+
update(open: number, high: number, low: number, close: number): number | null
|
|
2666
|
+
batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
|
|
2667
|
+
reset(): void
|
|
2668
|
+
isReady(): boolean
|
|
2669
|
+
warmupPeriod(): number
|
|
2670
|
+
}
|
|
2205
2671
|
export type OrderBookImbalanceTop1Node = OrderBookImbalanceTop1
|
|
2206
2672
|
export declare class OrderBookImbalanceTop1 {
|
|
2207
2673
|
constructor()
|
|
@@ -2319,6 +2785,114 @@ export declare class Footprint {
|
|
|
2319
2785
|
isReady(): boolean
|
|
2320
2786
|
warmupPeriod(): number
|
|
2321
2787
|
}
|
|
2788
|
+
export type FundingRateNode = FundingRate
|
|
2789
|
+
export declare class FundingRate {
|
|
2790
|
+
constructor()
|
|
2791
|
+
update(fundingRate: number): number | null
|
|
2792
|
+
batch(fundingRate: Array<number>): Array<number>
|
|
2793
|
+
reset(): void
|
|
2794
|
+
isReady(): boolean
|
|
2795
|
+
warmupPeriod(): number
|
|
2796
|
+
}
|
|
2797
|
+
export type FundingRateMeanNode = FundingRateMean
|
|
2798
|
+
export declare class FundingRateMean {
|
|
2799
|
+
constructor(window: number)
|
|
2800
|
+
update(fundingRate: number): number | null
|
|
2801
|
+
batch(fundingRate: Array<number>): Array<number>
|
|
2802
|
+
reset(): void
|
|
2803
|
+
isReady(): boolean
|
|
2804
|
+
warmupPeriod(): number
|
|
2805
|
+
}
|
|
2806
|
+
export type FundingRateZScoreNode = FundingRateZScore
|
|
2807
|
+
export declare class FundingRateZScore {
|
|
2808
|
+
constructor(window: number)
|
|
2809
|
+
update(fundingRate: number): number | null
|
|
2810
|
+
batch(fundingRate: Array<number>): Array<number>
|
|
2811
|
+
reset(): void
|
|
2812
|
+
isReady(): boolean
|
|
2813
|
+
warmupPeriod(): number
|
|
2814
|
+
}
|
|
2815
|
+
export type FundingBasisNode = FundingBasis
|
|
2816
|
+
export declare class FundingBasis {
|
|
2817
|
+
constructor()
|
|
2818
|
+
update(markPrice: number, indexPrice: number): number | null
|
|
2819
|
+
batch(markPrice: Array<number>, indexPrice: Array<number>): Array<number>
|
|
2820
|
+
reset(): void
|
|
2821
|
+
isReady(): boolean
|
|
2822
|
+
warmupPeriod(): number
|
|
2823
|
+
}
|
|
2824
|
+
export type OpenInterestDeltaNode = OpenInterestDelta
|
|
2825
|
+
export declare class OpenInterestDelta {
|
|
2826
|
+
constructor()
|
|
2827
|
+
update(openInterest: number): number | null
|
|
2828
|
+
batch(openInterest: Array<number>): Array<number>
|
|
2829
|
+
reset(): void
|
|
2830
|
+
isReady(): boolean
|
|
2831
|
+
warmupPeriod(): number
|
|
2832
|
+
}
|
|
2833
|
+
export type OIPriceDivergenceNode = OIPriceDivergence
|
|
2834
|
+
export declare class OIPriceDivergence {
|
|
2835
|
+
constructor(window: number)
|
|
2836
|
+
update(openInterest: number, markPrice: number): number | null
|
|
2837
|
+
batch(openInterest: Array<number>, markPrice: Array<number>): Array<number>
|
|
2838
|
+
reset(): void
|
|
2839
|
+
isReady(): boolean
|
|
2840
|
+
warmupPeriod(): number
|
|
2841
|
+
}
|
|
2842
|
+
export type OIWeightedNode = OIWeighted
|
|
2843
|
+
export declare class OIWeighted {
|
|
2844
|
+
constructor()
|
|
2845
|
+
update(markPrice: number, openInterest: number): number | null
|
|
2846
|
+
batch(markPrice: Array<number>, openInterest: Array<number>): Array<number>
|
|
2847
|
+
reset(): void
|
|
2848
|
+
isReady(): boolean
|
|
2849
|
+
warmupPeriod(): number
|
|
2850
|
+
}
|
|
2851
|
+
export type LongShortRatioNode = LongShortRatio
|
|
2852
|
+
export declare class LongShortRatio {
|
|
2853
|
+
constructor()
|
|
2854
|
+
update(longSize: number, shortSize: number): number | null
|
|
2855
|
+
batch(longSize: Array<number>, shortSize: Array<number>): Array<number>
|
|
2856
|
+
reset(): void
|
|
2857
|
+
isReady(): boolean
|
|
2858
|
+
warmupPeriod(): number
|
|
2859
|
+
}
|
|
2860
|
+
export type TakerBuySellRatioNode = TakerBuySellRatio
|
|
2861
|
+
export declare class TakerBuySellRatio {
|
|
2862
|
+
constructor()
|
|
2863
|
+
update(takerBuyVolume: number, takerSellVolume: number): number | null
|
|
2864
|
+
batch(takerBuyVolume: Array<number>, takerSellVolume: Array<number>): Array<number>
|
|
2865
|
+
reset(): void
|
|
2866
|
+
isReady(): boolean
|
|
2867
|
+
warmupPeriod(): number
|
|
2868
|
+
}
|
|
2869
|
+
export type LiquidationFeaturesNode = LiquidationFeatures
|
|
2870
|
+
export declare class LiquidationFeatures {
|
|
2871
|
+
constructor()
|
|
2872
|
+
update(longLiquidation: number, shortLiquidation: number): LiquidationFeaturesValue | null
|
|
2873
|
+
batch(longLiquidation: Array<number>, shortLiquidation: Array<number>): Array<number>
|
|
2874
|
+
reset(): void
|
|
2875
|
+
isReady(): boolean
|
|
2876
|
+
warmupPeriod(): number
|
|
2877
|
+
}
|
|
2878
|
+
export type TermStructureBasisNode = TermStructureBasis
|
|
2879
|
+
export declare class TermStructureBasis {
|
|
2880
|
+
constructor()
|
|
2881
|
+
update(futuresPrice: number, indexPrice: number): number | null
|
|
2882
|
+
batch(futuresPrice: Array<number>, indexPrice: Array<number>): Array<number>
|
|
2883
|
+
reset(): void
|
|
2884
|
+
isReady(): boolean
|
|
2885
|
+
warmupPeriod(): number
|
|
2886
|
+
}
|
|
2887
|
+
export type CalendarSpreadNode = CalendarSpread
|
|
2888
|
+
export declare class CalendarSpread {
|
|
2889
|
+
constructor()
|
|
2890
|
+
update(futuresPrice: number, markPrice: number): number | null
|
|
2891
|
+
batch(futuresPrice: Array<number>, markPrice: Array<number>): Array<number>
|
|
2892
|
+
reset(): void
|
|
2893
|
+
isReady(): boolean
|
|
2894
|
+
warmupPeriod(): number
|
|
2895
|
+
}
|
|
2322
2896
|
export type SharpeRatioNode = SharpeRatio
|
|
2323
2897
|
export declare class SharpeRatio {
|
|
2324
2898
|
constructor(period: number, riskFree: number)
|
|
@@ -2463,6 +3037,31 @@ export declare class InformationRatio {
|
|
|
2463
3037
|
isReady(): boolean
|
|
2464
3038
|
warmupPeriod(): number
|
|
2465
3039
|
}
|
|
3040
|
+
export type RenkoBarsNode = RenkoBars
|
|
3041
|
+
export declare class RenkoBars {
|
|
3042
|
+
constructor(boxSize: number)
|
|
3043
|
+
update(close: number): Array<RenkoBrickValue>
|
|
3044
|
+
batch(close: Array<number>): Array<RenkoBrickValue>
|
|
3045
|
+
boxSize(): number
|
|
3046
|
+
reset(): void
|
|
3047
|
+
}
|
|
3048
|
+
export type KagiBarsNode = KagiBars
|
|
3049
|
+
export declare class KagiBars {
|
|
3050
|
+
constructor(reversal: number)
|
|
3051
|
+
update(close: number): Array<KagiSegmentValue>
|
|
3052
|
+
batch(close: Array<number>): Array<KagiSegmentValue>
|
|
3053
|
+
reversal(): number
|
|
3054
|
+
reset(): void
|
|
3055
|
+
}
|
|
3056
|
+
export type PointAndFigureBarsNode = PointAndFigureBars
|
|
3057
|
+
export declare class PointAndFigureBars {
|
|
3058
|
+
constructor(boxSize: number, reversal: number)
|
|
3059
|
+
update(close: number): Array<PnfColumnValue>
|
|
3060
|
+
batch(close: Array<number>): Array<PnfColumnValue>
|
|
3061
|
+
boxSize(): number
|
|
3062
|
+
reversal(): number
|
|
3063
|
+
reset(): void
|
|
3064
|
+
}
|
|
2466
3065
|
export type AlphaNode = Alpha
|
|
2467
3066
|
export declare class Alpha {
|
|
2468
3067
|
constructor(period: number, riskFree: number)
|
package/index.js
CHANGED
|
@@ -310,7 +310,7 @@ if (!nativeBinding) {
|
|
|
310
310
|
throw new Error(`Failed to load native binding`)
|
|
311
311
|
}
|
|
312
312
|
|
|
313
|
-
const { version, SMA, EMA, WMA, RSI, DEMA, TEMA, HMA, ROC, TRIX, SMMA, TRIMA, ZLEMA, MOM, CMO, DPO, StdDev, UlcerIndex, VerticalHorizontalFilter, ZScore, McGinleyDynamic, FRAMA, SuperSmoother, FisherTransform, Decycler, CenterOfGravity, CyberneticCycle, InstantaneousTrendline, EhlersStochastic, RVIVolatility, Variance, CoefficientOfVariation, Skewness, Kurtosis, StandardError, DetrendedStdDev, RSquared, MedianAbsoluteDeviation, Autocorrelation, HurstExponent, PearsonCorrelation, Beta, PairwiseBeta, SpearmanCorrelation, PairSpreadZScore, LeadLagCrossCorrelation, Cointegration, RelativeStrengthAB, MACD, BollingerBands, ATR, Stochastic, OBV, ADX, ADXR, CCI, WilliamsR, MFI, PSAR, Keltner, Donchian, VWAP, RollingVWAP, AwesomeOscillator, Aroon, Inertia, ConnorsRSI, LaguerreRSI, SMI, KST, PGO, RVI, AwesomeOscillatorHistogram, STC, ElderImpulse, ZeroLagMACD, CFO, APO, KAMA, EVWMA, Alligator, JMA, VIDYA, ALMA, T3, TSI, PMO, TII, ADL, VolumePriceTrend, ChaikinMoneyFlow, ChaikinOscillator, ForceIndex, NVI, PVI, VolumeOscillator, KVO, WilliamsAD, AnchoredVWAP, DemandIndex, TSV, VZO, MarketFacilitationIndex, EaseOfMovement, SuperTrend, ChandelierExit, ChandeKrollStop, AtrTrailingStop, HiLoActivator, VoltyStop, YoyoExit, DonchianStop, PercentageTrailingStop, StepTrailingStop, RenkoTrailingStop, TypicalPrice, MedianPrice, WeightedClose, LinearRegression, LinRegSlope, AcceleratorOscillator, BalanceOfPower, ChoppinessIndex, TrueRange, ChaikinVolatility, YangZhangVolatility, RogersSatchellVolatility, GarmanKlassVolatility, ParkinsonVolatility, LinRegAngle, BollingerBandwidth, PercentB, NATR, HistoricalVolatility, AroonOscillator, WaveTrend, RWI, Vortex, MassIndex, StochRSI, UltimateOscillator, PPO, Coppock, VWMA, MaEnvelope, AccelerationBands, StarcBands, AtrBands, HurstChannel, LinRegChannel, StandardErrorBands, DoubleBollinger, TtmSqueeze, FractalChaosBands, VwapStdDevBands, ClassicPivots, FibonacciPivots, Camarilla, WoodiePivots, DemarkPivots, WilliamsFractals, ZigZag, TDSetup, TDSequential, TDDeMarker, TDREI, TDPressure, TDCombo, TDCountdown, TDLines, TDRangeProjection, TDDifferential, TDOpen, TDRiskLevel, InverseFisherTransform, DecyclerOscillator, RoofingFilter, EmpiricalModeDecomposition, HilbertDominantCycle, AdaptiveCycle, SineWave, MAMA, FAMA, Ichimoku, HeikinAshi, ValueArea, InitialBalance, OpeningRange, Doji, Hammer, InvertedHammer, HangingMan, ShootingStar, Engulfing, Harami, MorningEveningStar, ThreeSoldiersOrCrows, PiercingDarkCloud, Marubozu, Tweezer, SpinningTop, ThreeInside, ThreeOutside, OrderBookImbalanceTop1, OrderBookImbalanceFull, Microprice, QuotedSpread, DepthSlope, OrderBookImbalanceTopN, SignedVolume, CumulativeVolumeDelta, TradeImbalance, EffectiveSpread, RealizedSpread, KylesLambda, Footprint, SharpeRatio, SortinoRatio, CalmarRatio, OmegaRatio, MaxDrawdown, AverageDrawdown, DrawdownDuration, PainIndex, ValueAtRisk, ConditionalValueAtRisk, ProfitFactor, GainLossRatio, RecoveryFactor, KellyCriterion, TreynorRatio, InformationRatio, Alpha } = nativeBinding
|
|
313
|
+
const { version, SMA, EMA, WMA, RSI, DEMA, TEMA, HMA, ROC, TRIX, SMMA, TRIMA, ZLEMA, MOM, CMO, DPO, StdDev, UlcerIndex, VerticalHorizontalFilter, ZScore, McGinleyDynamic, FRAMA, SuperSmoother, FisherTransform, Decycler, CenterOfGravity, CyberneticCycle, InstantaneousTrendline, EhlersStochastic, RVIVolatility, Variance, CoefficientOfVariation, Skewness, Kurtosis, StandardError, DetrendedStdDev, RSquared, MedianAbsoluteDeviation, Autocorrelation, HurstExponent, PearsonCorrelation, Beta, PairwiseBeta, SpearmanCorrelation, PairSpreadZScore, LeadLagCrossCorrelation, Cointegration, RelativeStrengthAB, MACD, BollingerBands, ATR, Stochastic, OBV, ADX, ADXR, CCI, WilliamsR, MFI, PSAR, Keltner, Donchian, VWAP, RollingVWAP, AwesomeOscillator, Aroon, Inertia, ConnorsRSI, LaguerreRSI, SMI, KST, PGO, RVI, AwesomeOscillatorHistogram, STC, ElderImpulse, ZeroLagMACD, CFO, APO, KAMA, EVWMA, Alligator, JMA, VIDYA, ALMA, T3, TSI, PMO, TII, ADL, VolumePriceTrend, ChaikinMoneyFlow, ChaikinOscillator, ForceIndex, NVI, PVI, VolumeOscillator, KVO, WilliamsAD, AnchoredRSI, AnchoredVWAP, DemandIndex, TSV, VZO, MarketFacilitationIndex, EaseOfMovement, SuperTrend, ChandelierExit, ChandeKrollStop, AtrTrailingStop, HiLoActivator, VoltyStop, YoyoExit, DonchianStop, PercentageTrailingStop, StepTrailingStop, RenkoTrailingStop, TypicalPrice, MedianPrice, WeightedClose, LinearRegression, LinRegSlope, AcceleratorOscillator, BalanceOfPower, ChoppinessIndex, TrueRange, ChaikinVolatility, YangZhangVolatility, RogersSatchellVolatility, GarmanKlassVolatility, ParkinsonVolatility, LinRegAngle, BollingerBandwidth, PercentB, NATR, HistoricalVolatility, AroonOscillator, WaveTrend, RWI, Vortex, MassIndex, StochRSI, UltimateOscillator, PPO, Coppock, VWMA, MaEnvelope, AccelerationBands, StarcBands, AtrBands, HurstChannel, LinRegChannel, StandardErrorBands, DoubleBollinger, TtmSqueeze, FractalChaosBands, VwapStdDevBands, ClassicPivots, FibonacciPivots, Camarilla, WoodiePivots, DemarkPivots, WilliamsFractals, ZigZag, TDSetup, TDSequential, TDDeMarker, TDREI, TDPressure, TDCombo, TDCountdown, TDLines, TDRangeProjection, TDDifferential, TDOpen, TDRiskLevel, InverseFisherTransform, DecyclerOscillator, RoofingFilter, EmpiricalModeDecomposition, HilbertDominantCycle, AdaptiveCycle, SineWave, MAMA, FAMA, Ichimoku, HeikinAshi, ValueArea, VolumeProfile, TpoProfile, InitialBalance, OpeningRange, Doji, Hammer, InvertedHammer, HangingMan, ShootingStar, Engulfing, Harami, MorningEveningStar, ThreeSoldiersOrCrows, PiercingDarkCloud, Marubozu, Tweezer, SpinningTop, ThreeInside, ThreeOutside, TwoCrows, UpsideGapTwoCrows, IdenticalThreeCrows, ThreeLineStrike, ThreeStarsInSouth, AbandonedBaby, AdvanceBlock, BeltHold, Breakaway, Counterattack, DojiStar, DragonflyDoji, GravestoneDoji, LongLeggedDoji, RickshawMan, EveningDojiStar, MorningDojiStar, GapSideBySideWhite, HighWave, Hikkake, HikkakeModified, HomingPigeon, OnNeck, InNeck, Thrusting, SeparatingLines, Kicking, KickingByLength, LadderBottom, MatHold, MatchingLow, LongLine, ShortLine, RisingThreeMethods, FallingThreeMethods, UpsideGapThreeMethods, DownsideGapThreeMethods, StalledPattern, StickSandwich, Takuri, ClosingMarubozu, OpeningMarubozu, TasukiGap, UniqueThreeRiver, ConcealingBabySwallow, OrderBookImbalanceTop1, OrderBookImbalanceFull, Microprice, QuotedSpread, DepthSlope, OrderBookImbalanceTopN, SignedVolume, CumulativeVolumeDelta, TradeImbalance, EffectiveSpread, RealizedSpread, KylesLambda, Footprint, FundingRate, FundingRateMean, FundingRateZScore, FundingBasis, OpenInterestDelta, OIPriceDivergence, OIWeighted, LongShortRatio, TakerBuySellRatio, LiquidationFeatures, TermStructureBasis, CalendarSpread, SharpeRatio, SortinoRatio, CalmarRatio, OmegaRatio, MaxDrawdown, AverageDrawdown, DrawdownDuration, PainIndex, ValueAtRisk, ConditionalValueAtRisk, ProfitFactor, GainLossRatio, RecoveryFactor, KellyCriterion, TreynorRatio, InformationRatio, RenkoBars, KagiBars, PointAndFigureBars, Alpha } = nativeBinding
|
|
314
314
|
|
|
315
315
|
module.exports.version = version
|
|
316
316
|
module.exports.SMA = SMA
|
|
@@ -410,6 +410,7 @@ module.exports.PVI = PVI
|
|
|
410
410
|
module.exports.VolumeOscillator = VolumeOscillator
|
|
411
411
|
module.exports.KVO = KVO
|
|
412
412
|
module.exports.WilliamsAD = WilliamsAD
|
|
413
|
+
module.exports.AnchoredRSI = AnchoredRSI
|
|
413
414
|
module.exports.AnchoredVWAP = AnchoredVWAP
|
|
414
415
|
module.exports.DemandIndex = DemandIndex
|
|
415
416
|
module.exports.TSV = TSV
|
|
@@ -498,6 +499,8 @@ module.exports.FAMA = FAMA
|
|
|
498
499
|
module.exports.Ichimoku = Ichimoku
|
|
499
500
|
module.exports.HeikinAshi = HeikinAshi
|
|
500
501
|
module.exports.ValueArea = ValueArea
|
|
502
|
+
module.exports.VolumeProfile = VolumeProfile
|
|
503
|
+
module.exports.TpoProfile = TpoProfile
|
|
501
504
|
module.exports.InitialBalance = InitialBalance
|
|
502
505
|
module.exports.OpeningRange = OpeningRange
|
|
503
506
|
module.exports.Doji = Doji
|
|
@@ -515,6 +518,51 @@ module.exports.Tweezer = Tweezer
|
|
|
515
518
|
module.exports.SpinningTop = SpinningTop
|
|
516
519
|
module.exports.ThreeInside = ThreeInside
|
|
517
520
|
module.exports.ThreeOutside = ThreeOutside
|
|
521
|
+
module.exports.TwoCrows = TwoCrows
|
|
522
|
+
module.exports.UpsideGapTwoCrows = UpsideGapTwoCrows
|
|
523
|
+
module.exports.IdenticalThreeCrows = IdenticalThreeCrows
|
|
524
|
+
module.exports.ThreeLineStrike = ThreeLineStrike
|
|
525
|
+
module.exports.ThreeStarsInSouth = ThreeStarsInSouth
|
|
526
|
+
module.exports.AbandonedBaby = AbandonedBaby
|
|
527
|
+
module.exports.AdvanceBlock = AdvanceBlock
|
|
528
|
+
module.exports.BeltHold = BeltHold
|
|
529
|
+
module.exports.Breakaway = Breakaway
|
|
530
|
+
module.exports.Counterattack = Counterattack
|
|
531
|
+
module.exports.DojiStar = DojiStar
|
|
532
|
+
module.exports.DragonflyDoji = DragonflyDoji
|
|
533
|
+
module.exports.GravestoneDoji = GravestoneDoji
|
|
534
|
+
module.exports.LongLeggedDoji = LongLeggedDoji
|
|
535
|
+
module.exports.RickshawMan = RickshawMan
|
|
536
|
+
module.exports.EveningDojiStar = EveningDojiStar
|
|
537
|
+
module.exports.MorningDojiStar = MorningDojiStar
|
|
538
|
+
module.exports.GapSideBySideWhite = GapSideBySideWhite
|
|
539
|
+
module.exports.HighWave = HighWave
|
|
540
|
+
module.exports.Hikkake = Hikkake
|
|
541
|
+
module.exports.HikkakeModified = HikkakeModified
|
|
542
|
+
module.exports.HomingPigeon = HomingPigeon
|
|
543
|
+
module.exports.OnNeck = OnNeck
|
|
544
|
+
module.exports.InNeck = InNeck
|
|
545
|
+
module.exports.Thrusting = Thrusting
|
|
546
|
+
module.exports.SeparatingLines = SeparatingLines
|
|
547
|
+
module.exports.Kicking = Kicking
|
|
548
|
+
module.exports.KickingByLength = KickingByLength
|
|
549
|
+
module.exports.LadderBottom = LadderBottom
|
|
550
|
+
module.exports.MatHold = MatHold
|
|
551
|
+
module.exports.MatchingLow = MatchingLow
|
|
552
|
+
module.exports.LongLine = LongLine
|
|
553
|
+
module.exports.ShortLine = ShortLine
|
|
554
|
+
module.exports.RisingThreeMethods = RisingThreeMethods
|
|
555
|
+
module.exports.FallingThreeMethods = FallingThreeMethods
|
|
556
|
+
module.exports.UpsideGapThreeMethods = UpsideGapThreeMethods
|
|
557
|
+
module.exports.DownsideGapThreeMethods = DownsideGapThreeMethods
|
|
558
|
+
module.exports.StalledPattern = StalledPattern
|
|
559
|
+
module.exports.StickSandwich = StickSandwich
|
|
560
|
+
module.exports.Takuri = Takuri
|
|
561
|
+
module.exports.ClosingMarubozu = ClosingMarubozu
|
|
562
|
+
module.exports.OpeningMarubozu = OpeningMarubozu
|
|
563
|
+
module.exports.TasukiGap = TasukiGap
|
|
564
|
+
module.exports.UniqueThreeRiver = UniqueThreeRiver
|
|
565
|
+
module.exports.ConcealingBabySwallow = ConcealingBabySwallow
|
|
518
566
|
module.exports.OrderBookImbalanceTop1 = OrderBookImbalanceTop1
|
|
519
567
|
module.exports.OrderBookImbalanceFull = OrderBookImbalanceFull
|
|
520
568
|
module.exports.Microprice = Microprice
|
|
@@ -528,6 +576,18 @@ module.exports.EffectiveSpread = EffectiveSpread
|
|
|
528
576
|
module.exports.RealizedSpread = RealizedSpread
|
|
529
577
|
module.exports.KylesLambda = KylesLambda
|
|
530
578
|
module.exports.Footprint = Footprint
|
|
579
|
+
module.exports.FundingRate = FundingRate
|
|
580
|
+
module.exports.FundingRateMean = FundingRateMean
|
|
581
|
+
module.exports.FundingRateZScore = FundingRateZScore
|
|
582
|
+
module.exports.FundingBasis = FundingBasis
|
|
583
|
+
module.exports.OpenInterestDelta = OpenInterestDelta
|
|
584
|
+
module.exports.OIPriceDivergence = OIPriceDivergence
|
|
585
|
+
module.exports.OIWeighted = OIWeighted
|
|
586
|
+
module.exports.LongShortRatio = LongShortRatio
|
|
587
|
+
module.exports.TakerBuySellRatio = TakerBuySellRatio
|
|
588
|
+
module.exports.LiquidationFeatures = LiquidationFeatures
|
|
589
|
+
module.exports.TermStructureBasis = TermStructureBasis
|
|
590
|
+
module.exports.CalendarSpread = CalendarSpread
|
|
531
591
|
module.exports.SharpeRatio = SharpeRatio
|
|
532
592
|
module.exports.SortinoRatio = SortinoRatio
|
|
533
593
|
module.exports.CalmarRatio = CalmarRatio
|
|
@@ -544,4 +604,7 @@ module.exports.RecoveryFactor = RecoveryFactor
|
|
|
544
604
|
module.exports.KellyCriterion = KellyCriterion
|
|
545
605
|
module.exports.TreynorRatio = TreynorRatio
|
|
546
606
|
module.exports.InformationRatio = InformationRatio
|
|
607
|
+
module.exports.RenkoBars = RenkoBars
|
|
608
|
+
module.exports.KagiBars = KagiBars
|
|
609
|
+
module.exports.PointAndFigureBars = PointAndFigureBars
|
|
547
610
|
module.exports.Alpha = Alpha
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wickra-darwin-arm64",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "Native binding for wickra (macOS Apple Silicon). Installed automatically as an optional dependency of wickra on matching platforms.",
|
|
5
5
|
"main": "wickra.darwin-arm64.node",
|
|
6
6
|
"files": [
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wickra-darwin-x64",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "Native binding for wickra (macOS Intel). Installed automatically as an optional dependency of wickra on matching platforms.",
|
|
5
5
|
"main": "wickra.darwin-x64.node",
|
|
6
6
|
"files": [
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wickra-linux-arm64-gnu",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "Native binding for wickra (linux arm64 GNU). Installed automatically as an optional dependency of wickra on matching platforms.",
|
|
5
5
|
"main": "wickra.linux-arm64-gnu.node",
|
|
6
6
|
"files": [
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wickra-linux-x64-gnu",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "Native binding for wickra (linux x64 GNU). Installed automatically as an optional dependency of wickra on matching platforms.",
|
|
5
5
|
"main": "wickra.linux-x64-gnu.node",
|
|
6
6
|
"files": [
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wickra-win32-arm64-msvc",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "Native binding for wickra (Windows arm64 MSVC). Installed automatically as an optional dependency of wickra on matching platforms.",
|
|
5
5
|
"main": "wickra.win32-arm64-msvc.node",
|
|
6
6
|
"files": [
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wickra-win32-x64-msvc",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "Native binding for wickra (Windows x64 MSVC). Installed automatically as an optional dependency of wickra on matching platforms.",
|
|
5
5
|
"main": "wickra.win32-x64-msvc.node",
|
|
6
6
|
"files": [
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wickra",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "Streaming-first technical indicators: incremental, fast, install-free. Node bindings powered by Rust.",
|
|
5
5
|
"author": "kingchenc <support@wickra.org>",
|
|
6
6
|
"main": "index.js",
|
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
"node": ">= 18"
|
|
48
48
|
},
|
|
49
49
|
"optionalDependencies": {
|
|
50
|
-
"wickra-linux-x64-gnu": "0.4.
|
|
51
|
-
"wickra-linux-arm64-gnu": "0.4.
|
|
52
|
-
"wickra-darwin-x64": "0.4.
|
|
53
|
-
"wickra-darwin-arm64": "0.4.
|
|
54
|
-
"wickra-win32-x64-msvc": "0.4.
|
|
55
|
-
"wickra-win32-arm64-msvc": "0.4.
|
|
50
|
+
"wickra-linux-x64-gnu": "0.4.5",
|
|
51
|
+
"wickra-linux-arm64-gnu": "0.4.5",
|
|
52
|
+
"wickra-darwin-x64": "0.4.5",
|
|
53
|
+
"wickra-darwin-arm64": "0.4.5",
|
|
54
|
+
"wickra-win32-x64-msvc": "0.4.5",
|
|
55
|
+
"wickra-win32-arm64-msvc": "0.4.5"
|
|
56
56
|
},
|
|
57
57
|
"scripts": {
|
|
58
58
|
"build": "napi build --platform --release",
|
package/wickra.darwin-arm64.node
CHANGED
|
Binary file
|
package/wickra.darwin-x64.node
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|