wickra 0.5.1 → 0.5.3

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=351" 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=377" 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)
@@ -11,6 +11,7 @@
11
11
  [![npm](https://img.shields.io/npm/v/wickra.svg?logo=npm&color=red)](https://www.npmjs.com/package/wickra)
12
12
  [![License: MIT OR Apache-2.0](https://img.shields.io/badge/license-MIT_OR_Apache--2.0-blue)](#license)
13
13
  [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/wickra-lib/wickra/badge)](https://scorecard.dev/viewer/?uri=github.com/wickra-lib/wickra)
14
+ [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/13094/badge)](https://www.bestpractices.dev/projects/13094)
14
15
  [![Build provenance](https://img.shields.io/badge/provenance-attested-brightgreen?logo=github)](https://github.com/wickra-lib/wickra/attestations)
15
16
  [![Docs](https://img.shields.io/badge/docs-docs.wickra.org-0ea5e9?logo=readthedocs&logoColor=white)](https://docs.wickra.org)
16
17
 
@@ -47,7 +48,7 @@ Full documentation lives at **[docs.wickra.org](https://docs.wickra.org)**:
47
48
  [Node](https://docs.wickra.org/Quickstart-Node),
48
49
  [WASM](https://docs.wickra.org/Quickstart-WASM).
49
50
  - **Indicators** — a per-indicator deep dive (formula, parameters, warmup) for
50
- every one of the 351 indicators; start at the
51
+ every one of the 377 indicators; start at the
51
52
  [indicators overview](https://docs.wickra.org/Indicators-Overview).
52
53
  - **Reference** — [warmup periods](https://docs.wickra.org/Warmup-Periods),
53
54
  [streaming vs batch](https://docs.wickra.org/Streaming-vs-Batch),
@@ -135,7 +136,7 @@ python -m benchmarks.compare_libraries
135
136
 
136
137
  ## Indicators
137
138
 
138
- 351 streaming-first indicators across twenty-one families. Every one passes the
139
+ 377 streaming-first indicators across twenty-four families. Every one passes the
139
140
  `batch == streaming` equivalence test, reference-value tests, and reset
140
141
  semantics tests. Each has a per-indicator deep dive (formula, parameters,
141
142
  warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
@@ -157,6 +158,9 @@ warmup) at [docs.wickra.org](https://docs.wickra.org/Indicators-Overview).
157
158
  | Ichimoku & Charts | Ichimoku Kinko Hyo (Tenkan, Kijun, Senkou A/B, Chikou), Heikin-Ashi |
158
159
  | Alt-Chart Bars | Renko (box-size bricks), Kagi (reversal-amount lines), Point & Figure (X/O columns) |
159
160
  | 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 |
161
+ | Chart Patterns | Double Top / Bottom, Triple Top / Bottom, Head and Shoulders, Triangle (asc/desc/sym), Wedge (rising/falling), Flag / Pennant, Rectangle / Range, Cup and Handle |
162
+ | Harmonic Patterns | AB=CD, Gartley, Butterfly, Bat, Crab, Shark, Cypher, Three Drives |
163
+ | Fibonacci | Fibonacci Retracement, Fibonacci Extension, Fibonacci Projection, Auto-Fibonacci, Golden Pocket, Fibonacci Confluence, Fibonacci Fan, Fibonacci Arcs, Fibonacci Channel, Fibonacci Time Zones |
160
164
  | Microstructure | Order-Book Imbalance (Top-1 / Top-N / Full), Microprice, Quoted Spread, Depth Slope, Signed Volume, Cumulative Volume Delta, Trade Imbalance, Effective Spread, Realized Spread, Kyle's Lambda, Footprint |
161
165
  | 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
166
  | Market Profile | Value Area (POC / VAH / VAL), Volume Profile (histogram), TPO Profile, Initial Balance, Opening Range |
@@ -241,7 +245,7 @@ A Python live-trading example using the public `websockets` package lives at
241
245
  ```
242
246
  wickra/
243
247
  ├── crates/
244
- │ ├── wickra-core/ core engine + all 351 indicators
248
+ │ ├── wickra-core/ core engine + all 377 indicators
245
249
  │ ├── wickra/ top-level facade crate (publishes on crates.io) + benches/
246
250
  │ └── wickra-data/ CSV reader, tick aggregator, live exchange feeds
247
251
  ├── bindings/
package/index.d.ts CHANGED
@@ -362,6 +362,66 @@ export interface OvernightIntradayReturnValue {
362
362
  overnight: number
363
363
  intraday: number
364
364
  }
365
+ export interface FibRetracementValue {
366
+ level0: number
367
+ level236: number
368
+ level382: number
369
+ level500: number
370
+ level618: number
371
+ level786: number
372
+ level1000: number
373
+ }
374
+ export interface FibExtensionValue {
375
+ level1272: number
376
+ level1414: number
377
+ level1618: number
378
+ level2000: number
379
+ level2618: number
380
+ }
381
+ export interface FibProjectionValue {
382
+ level618: number
383
+ level1000: number
384
+ level1618: number
385
+ level2618: number
386
+ }
387
+ export interface AutoFibValue {
388
+ level0: number
389
+ level236: number
390
+ level382: number
391
+ level500: number
392
+ level618: number
393
+ level786: number
394
+ level1000: number
395
+ }
396
+ export interface GoldenPocketValue {
397
+ low: number
398
+ mid: number
399
+ high: number
400
+ }
401
+ export interface FibConfluenceValue {
402
+ price: number
403
+ strength: number
404
+ }
405
+ export interface FibFanValue {
406
+ fan382: number
407
+ fan500: number
408
+ fan618: number
409
+ }
410
+ export interface FibArcsValue {
411
+ arc382: number
412
+ arc500: number
413
+ arc618: number
414
+ }
415
+ export interface FibChannelValue {
416
+ base: number
417
+ level618: number
418
+ level1000: number
419
+ level1618: number
420
+ }
421
+ export interface FibTimeZonesValue {
422
+ onZone: number
423
+ barsToNext: number
424
+ }
365
425
  export type SmaNode = SMA
366
426
  export declare class SMA {
367
427
  constructor(period: number)
@@ -3032,6 +3092,150 @@ export declare class ConcealingBabySwallow {
3032
3092
  isReady(): boolean
3033
3093
  warmupPeriod(): number
3034
3094
  }
3095
+ export type DoubleTopBottomNode = DoubleTopBottom
3096
+ export declare class DoubleTopBottom {
3097
+ constructor()
3098
+ update(open: number, high: number, low: number, close: number): number | null
3099
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3100
+ reset(): void
3101
+ isReady(): boolean
3102
+ warmupPeriod(): number
3103
+ }
3104
+ export type TripleTopBottomNode = TripleTopBottom
3105
+ export declare class TripleTopBottom {
3106
+ constructor()
3107
+ update(open: number, high: number, low: number, close: number): number | null
3108
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3109
+ reset(): void
3110
+ isReady(): boolean
3111
+ warmupPeriod(): number
3112
+ }
3113
+ export type HeadAndShouldersNode = HeadAndShoulders
3114
+ export declare class HeadAndShoulders {
3115
+ constructor()
3116
+ update(open: number, high: number, low: number, close: number): number | null
3117
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3118
+ reset(): void
3119
+ isReady(): boolean
3120
+ warmupPeriod(): number
3121
+ }
3122
+ export type TriangleNode = Triangle
3123
+ export declare class Triangle {
3124
+ constructor()
3125
+ update(open: number, high: number, low: number, close: number): number | null
3126
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3127
+ reset(): void
3128
+ isReady(): boolean
3129
+ warmupPeriod(): number
3130
+ }
3131
+ export type WedgeNode = Wedge
3132
+ export declare class Wedge {
3133
+ constructor()
3134
+ update(open: number, high: number, low: number, close: number): number | null
3135
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3136
+ reset(): void
3137
+ isReady(): boolean
3138
+ warmupPeriod(): number
3139
+ }
3140
+ export type FlagPennantNode = FlagPennant
3141
+ export declare class FlagPennant {
3142
+ constructor()
3143
+ update(open: number, high: number, low: number, close: number): number | null
3144
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3145
+ reset(): void
3146
+ isReady(): boolean
3147
+ warmupPeriod(): number
3148
+ }
3149
+ export type RectangleRangeNode = RectangleRange
3150
+ export declare class RectangleRange {
3151
+ constructor()
3152
+ update(open: number, high: number, low: number, close: number): number | null
3153
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3154
+ reset(): void
3155
+ isReady(): boolean
3156
+ warmupPeriod(): number
3157
+ }
3158
+ export type CupAndHandleNode = CupAndHandle
3159
+ export declare class CupAndHandle {
3160
+ constructor()
3161
+ update(open: number, high: number, low: number, close: number): number | null
3162
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3163
+ reset(): void
3164
+ isReady(): boolean
3165
+ warmupPeriod(): number
3166
+ }
3167
+ export type AbcdNode = Abcd
3168
+ export declare class Abcd {
3169
+ constructor()
3170
+ update(open: number, high: number, low: number, close: number): number | null
3171
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3172
+ reset(): void
3173
+ isReady(): boolean
3174
+ warmupPeriod(): number
3175
+ }
3176
+ export type GartleyNode = Gartley
3177
+ export declare class Gartley {
3178
+ constructor()
3179
+ update(open: number, high: number, low: number, close: number): number | null
3180
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3181
+ reset(): void
3182
+ isReady(): boolean
3183
+ warmupPeriod(): number
3184
+ }
3185
+ export type ButterflyNode = Butterfly
3186
+ export declare class Butterfly {
3187
+ constructor()
3188
+ update(open: number, high: number, low: number, close: number): number | null
3189
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3190
+ reset(): void
3191
+ isReady(): boolean
3192
+ warmupPeriod(): number
3193
+ }
3194
+ export type BatNode = Bat
3195
+ export declare class Bat {
3196
+ constructor()
3197
+ update(open: number, high: number, low: number, close: number): number | null
3198
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3199
+ reset(): void
3200
+ isReady(): boolean
3201
+ warmupPeriod(): number
3202
+ }
3203
+ export type CrabNode = Crab
3204
+ export declare class Crab {
3205
+ constructor()
3206
+ update(open: number, high: number, low: number, close: number): number | null
3207
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3208
+ reset(): void
3209
+ isReady(): boolean
3210
+ warmupPeriod(): number
3211
+ }
3212
+ export type SharkNode = Shark
3213
+ export declare class Shark {
3214
+ constructor()
3215
+ update(open: number, high: number, low: number, close: number): number | null
3216
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3217
+ reset(): void
3218
+ isReady(): boolean
3219
+ warmupPeriod(): number
3220
+ }
3221
+ export type CypherNode = Cypher
3222
+ export declare class Cypher {
3223
+ constructor()
3224
+ update(open: number, high: number, low: number, close: number): number | null
3225
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3226
+ reset(): void
3227
+ isReady(): boolean
3228
+ warmupPeriod(): number
3229
+ }
3230
+ export type ThreeDrivesNode = ThreeDrives
3231
+ export declare class ThreeDrives {
3232
+ constructor()
3233
+ update(open: number, high: number, low: number, close: number): number | null
3234
+ batch(open: Array<number>, high: Array<number>, low: Array<number>, close: Array<number>): Array<number>
3235
+ reset(): void
3236
+ isReady(): boolean
3237
+ warmupPeriod(): number
3238
+ }
3035
3239
  export type OrderBookImbalanceTop1Node = OrderBookImbalanceTop1
3036
3240
  export declare class OrderBookImbalanceTop1 {
3037
3241
  constructor()
@@ -3688,3 +3892,93 @@ export declare class OvernightIntradayReturn {
3688
3892
  isReady(): boolean
3689
3893
  warmupPeriod(): number
3690
3894
  }
3895
+ export type FibRetracementNode = FibRetracement
3896
+ export declare class FibRetracement {
3897
+ constructor()
3898
+ update(high: number, low: number): FibRetracementValue | null
3899
+ batch(high: Array<number>, low: Array<number>): Array<number>
3900
+ reset(): void
3901
+ isReady(): boolean
3902
+ warmupPeriod(): number
3903
+ }
3904
+ export type FibExtensionNode = FibExtension
3905
+ export declare class FibExtension {
3906
+ constructor()
3907
+ update(high: number, low: number): FibExtensionValue | null
3908
+ batch(high: Array<number>, low: Array<number>): Array<number>
3909
+ reset(): void
3910
+ isReady(): boolean
3911
+ warmupPeriod(): number
3912
+ }
3913
+ export type FibProjectionNode = FibProjection
3914
+ export declare class FibProjection {
3915
+ constructor()
3916
+ update(high: number, low: number): FibProjectionValue | null
3917
+ batch(high: Array<number>, low: Array<number>): Array<number>
3918
+ reset(): void
3919
+ isReady(): boolean
3920
+ warmupPeriod(): number
3921
+ }
3922
+ export type AutoFibNode = AutoFib
3923
+ export declare class AutoFib {
3924
+ constructor()
3925
+ update(high: number, low: number): AutoFibValue | null
3926
+ batch(high: Array<number>, low: Array<number>): Array<number>
3927
+ reset(): void
3928
+ isReady(): boolean
3929
+ warmupPeriod(): number
3930
+ }
3931
+ export type GoldenPocketNode = GoldenPocket
3932
+ export declare class GoldenPocket {
3933
+ constructor()
3934
+ update(high: number, low: number): GoldenPocketValue | null
3935
+ batch(high: Array<number>, low: Array<number>): Array<number>
3936
+ reset(): void
3937
+ isReady(): boolean
3938
+ warmupPeriod(): number
3939
+ }
3940
+ export type FibConfluenceNode = FibConfluence
3941
+ export declare class FibConfluence {
3942
+ constructor()
3943
+ update(high: number, low: number): FibConfluenceValue | null
3944
+ batch(high: Array<number>, low: Array<number>): Array<number>
3945
+ reset(): void
3946
+ isReady(): boolean
3947
+ warmupPeriod(): number
3948
+ }
3949
+ export type FibFanNode = FibFan
3950
+ export declare class FibFan {
3951
+ constructor()
3952
+ update(high: number, low: number): FibFanValue | null
3953
+ batch(high: Array<number>, low: Array<number>): Array<number>
3954
+ reset(): void
3955
+ isReady(): boolean
3956
+ warmupPeriod(): number
3957
+ }
3958
+ export type FibArcsNode = FibArcs
3959
+ export declare class FibArcs {
3960
+ constructor()
3961
+ update(high: number, low: number): FibArcsValue | null
3962
+ batch(high: Array<number>, low: Array<number>): Array<number>
3963
+ reset(): void
3964
+ isReady(): boolean
3965
+ warmupPeriod(): number
3966
+ }
3967
+ export type FibChannelNode = FibChannel
3968
+ export declare class FibChannel {
3969
+ constructor()
3970
+ update(high: number, low: number): FibChannelValue | null
3971
+ batch(high: Array<number>, low: Array<number>): Array<number>
3972
+ reset(): void
3973
+ isReady(): boolean
3974
+ warmupPeriod(): number
3975
+ }
3976
+ export type FibTimeZonesNode = FibTimeZones
3977
+ export declare class FibTimeZones {
3978
+ constructor()
3979
+ update(high: number, low: number): FibTimeZonesValue | null
3980
+ batch(high: Array<number>, low: Array<number>): Array<number>
3981
+ reset(): void
3982
+ isReady(): boolean
3983
+ warmupPeriod(): number
3984
+ }
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, MIDPOINT, ROCP, ROCR, ROCR100, LINEARREG_INTERCEPT, TSF, Autocorrelation, HurstExponent, PearsonCorrelation, Beta, PairwiseBeta, SpearmanCorrelation, RollingCorrelation, RollingCovariance, OuHalfLife, SpreadHurst, DistanceSsd, BetaNeutralSpread, PairSpreadZScore, LeadLagCrossCorrelation, Cointegration, RelativeStrengthAB, VarianceRatio, GrangerCausality, KalmanHedgeRatio, SpreadBollingerBands, MACD, MACDFIX, MACDEXT, BollingerBands, ATR, PLUS_DM, MINUS_DM, PLUS_DI, MINUS_DI, DX, MIDPRICE, AVGPRICE, SAREXT, HT_PHASOR, 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, HT_DCPHASE, HT_TRENDMODE, 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, AdvanceDecline, AdvanceDeclineRatio, AdVolumeLine, McClellanOscillator, McClellanSummationIndex, Trin, BreadthThrust, NewHighsNewLows, HighLowIndex, PercentAboveMa, UpDownVolumeRatio, BullishPercentIndex, CumulativeVolumeIndex, AbsoluteBreadthIndex, TickIndex, SharpeRatio, SortinoRatio, CalmarRatio, OmegaRatio, MaxDrawdown, AverageDrawdown, DrawdownDuration, PainIndex, ValueAtRisk, ConditionalValueAtRisk, ProfitFactor, GainLossRatio, RecoveryFactor, KellyCriterion, TreynorRatio, InformationRatio, RenkoBars, KagiBars, PointAndFigureBars, Alpha, SessionVwap, OvernightGap, SeasonalZScore, TimeOfDayReturnProfile, IntradayVolatilityProfile, VolumeByTimeProfile, DayOfWeekProfile, AverageDailyRange, TurnOfMonth, SessionHighLow, SessionRange, OvernightIntradayReturn } = 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, MIDPOINT, ROCP, ROCR, ROCR100, LINEARREG_INTERCEPT, TSF, Autocorrelation, HurstExponent, PearsonCorrelation, Beta, PairwiseBeta, SpearmanCorrelation, RollingCorrelation, RollingCovariance, OuHalfLife, SpreadHurst, DistanceSsd, BetaNeutralSpread, PairSpreadZScore, LeadLagCrossCorrelation, Cointegration, RelativeStrengthAB, VarianceRatio, GrangerCausality, KalmanHedgeRatio, SpreadBollingerBands, MACD, MACDFIX, MACDEXT, BollingerBands, ATR, PLUS_DM, MINUS_DM, PLUS_DI, MINUS_DI, DX, MIDPRICE, AVGPRICE, SAREXT, HT_PHASOR, 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, HT_DCPHASE, HT_TRENDMODE, 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, DoubleTopBottom, TripleTopBottom, HeadAndShoulders, Triangle, Wedge, FlagPennant, RectangleRange, CupAndHandle, Abcd, Gartley, Butterfly, Bat, Crab, Shark, Cypher, ThreeDrives, 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, AdvanceDecline, AdvanceDeclineRatio, AdVolumeLine, McClellanOscillator, McClellanSummationIndex, Trin, BreadthThrust, NewHighsNewLows, HighLowIndex, PercentAboveMa, UpDownVolumeRatio, BullishPercentIndex, CumulativeVolumeIndex, AbsoluteBreadthIndex, TickIndex, SharpeRatio, SortinoRatio, CalmarRatio, OmegaRatio, MaxDrawdown, AverageDrawdown, DrawdownDuration, PainIndex, ValueAtRisk, ConditionalValueAtRisk, ProfitFactor, GainLossRatio, RecoveryFactor, KellyCriterion, TreynorRatio, InformationRatio, RenkoBars, KagiBars, PointAndFigureBars, Alpha, SessionVwap, OvernightGap, SeasonalZScore, TimeOfDayReturnProfile, IntradayVolatilityProfile, VolumeByTimeProfile, DayOfWeekProfile, AverageDailyRange, TurnOfMonth, SessionHighLow, SessionRange, OvernightIntradayReturn, FibRetracement, FibExtension, FibProjection, AutoFib, GoldenPocket, FibConfluence, FibFan, FibArcs, FibChannel, FibTimeZones } = nativeBinding
314
314
 
315
315
  module.exports.version = version
316
316
  module.exports.SMA = SMA
@@ -592,6 +592,22 @@ module.exports.OpeningMarubozu = OpeningMarubozu
592
592
  module.exports.TasukiGap = TasukiGap
593
593
  module.exports.UniqueThreeRiver = UniqueThreeRiver
594
594
  module.exports.ConcealingBabySwallow = ConcealingBabySwallow
595
+ module.exports.DoubleTopBottom = DoubleTopBottom
596
+ module.exports.TripleTopBottom = TripleTopBottom
597
+ module.exports.HeadAndShoulders = HeadAndShoulders
598
+ module.exports.Triangle = Triangle
599
+ module.exports.Wedge = Wedge
600
+ module.exports.FlagPennant = FlagPennant
601
+ module.exports.RectangleRange = RectangleRange
602
+ module.exports.CupAndHandle = CupAndHandle
603
+ module.exports.Abcd = Abcd
604
+ module.exports.Gartley = Gartley
605
+ module.exports.Butterfly = Butterfly
606
+ module.exports.Bat = Bat
607
+ module.exports.Crab = Crab
608
+ module.exports.Shark = Shark
609
+ module.exports.Cypher = Cypher
610
+ module.exports.ThreeDrives = ThreeDrives
595
611
  module.exports.OrderBookImbalanceTop1 = OrderBookImbalanceTop1
596
612
  module.exports.OrderBookImbalanceFull = OrderBookImbalanceFull
597
613
  module.exports.Microprice = Microprice
@@ -664,3 +680,13 @@ module.exports.TurnOfMonth = TurnOfMonth
664
680
  module.exports.SessionHighLow = SessionHighLow
665
681
  module.exports.SessionRange = SessionRange
666
682
  module.exports.OvernightIntradayReturn = OvernightIntradayReturn
683
+ module.exports.FibRetracement = FibRetracement
684
+ module.exports.FibExtension = FibExtension
685
+ module.exports.FibProjection = FibProjection
686
+ module.exports.AutoFib = AutoFib
687
+ module.exports.GoldenPocket = GoldenPocket
688
+ module.exports.FibConfluence = FibConfluence
689
+ module.exports.FibFan = FibFan
690
+ module.exports.FibArcs = FibArcs
691
+ module.exports.FibChannel = FibChannel
692
+ module.exports.FibTimeZones = FibTimeZones
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickra-darwin-arm64",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
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.5.1",
3
+ "version": "0.5.3",
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.5.1",
3
+ "version": "0.5.3",
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.5.1",
3
+ "version": "0.5.3",
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.5.1",
3
+ "version": "0.5.3",
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.5.1",
3
+ "version": "0.5.3",
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.5.1",
3
+ "version": "0.5.3",
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.5.1",
51
- "wickra-linux-arm64-gnu": "0.5.1",
52
- "wickra-darwin-x64": "0.5.1",
53
- "wickra-darwin-arm64": "0.5.1",
54
- "wickra-win32-x64-msvc": "0.5.1",
55
- "wickra-win32-arm64-msvc": "0.5.1"
50
+ "wickra-linux-x64-gnu": "0.5.3",
51
+ "wickra-linux-arm64-gnu": "0.5.3",
52
+ "wickra-darwin-x64": "0.5.3",
53
+ "wickra-darwin-arm64": "0.5.3",
54
+ "wickra-win32-x64-msvc": "0.5.3",
55
+ "wickra-win32-arm64-msvc": "0.5.3"
56
56
  },
57
57
  "scripts": {
58
58
  "build": "napi build --platform --release",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file