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 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=232" alt="Wickra — streaming-first technical indicators" width="100%"></a>
2
+ <a href="https://wickra.org"><img src="https://raw.githubusercontent.com/wickra-lib/.github/main/profile/wickra-banner.webp?v=295" alt="Wickra — streaming-first technical indicators" width="100%"></a>
3
3
  </p>
4
4
 
5
5
  [![CI](https://github.com/wickra-lib/wickra/actions/workflows/ci.yml/badge.svg)](https://github.com/wickra-lib/wickra/actions/workflows/ci.yml)
@@ -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 232 indicators; start at 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
- 232 streaming-first indicators across seventeen families. Every one passes the
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
- | 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 |
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
- | Market Profile | Value Area (POC / VAH / VAL), Initial Balance, Opening Range |
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 232 indicators
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",
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": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-darwin-x64",
3
- "version": "0.4.3",
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": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-linux-arm64-gnu",
3
- "version": "0.4.3",
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": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-linux-x64-gnu",
3
- "version": "0.4.3",
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": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-win32-arm64-msvc",
3
- "version": "0.4.3",
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": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-win32-x64-msvc",
3
- "version": "0.4.3",
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": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra",
3
- "version": "0.4.3",
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.3",
51
- "wickra-linux-arm64-gnu": "0.4.3",
52
- "wickra-darwin-x64": "0.4.3",
53
- "wickra-darwin-arm64": "0.4.3",
54
- "wickra-win32-x64-msvc": "0.4.3",
55
- "wickra-win32-arm64-msvc": "0.4.3"
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",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file