Repository navigation
Releases: facioquo/stock-indicators-dotnet
Release list
3.0.4
What's Changed
- fix: Bound compound buffer lists' inner lists with MaxListSize by @DaveSkender in #2377
- fix: Bound the remaining buffer lists' inner and history state by @DaveSkender in #2378
- fix: Forward stream completion down the hub chain by @DaveSkender in #2381
- feat: Add opt-in ThrowOnOutOfOrder to BufferList by @DaveSkender in #2385
- feat: Add StreamHub.CreateFeed for single-writer async feeding by @DaveSkender in #2386
- feat: Add an internal hub state snapshot contract with RSI warm start by @DaveSkender in #2387
- fix: Keep a re-added bar after RemoveAt removes the newest item by @DaveSkender in #2389
- feat: Carry ADX hub state through a hub snapshot by @DaveSkender in #2390
- feat: Carry KVO hub state through a hub snapshot by @DaveSkender in #2391
- feat: Carry Parabolic SAR hub state through a hub snapshot by @DaveSkender in #2392
- feat: Carry SuperTrend hub state through a hub snapshot by @DaveSkender in #2393
- fix: Index Ichimoku's Senkou lookbacks by rows seen, not the pruned Count by @DaveSkender in #2380
- docs: Link contributors to issues instead of the project by @DaveSkender in #2398
- fix: Default SMI signal to 9 and Force Index lookback to 13 by @DaveSkender in #2400
Full Changelog: 3.0.3...3.0.4
3.0.3
What's Changed
- docs: Make agent onboarding sandbox-first with a narrated live market desk by @DaveSkender in #2287
- fix: Release a compound hub's inner hub on Unsubscribe by @DaveSkender in #2347
- feat: Stream MaEnvelopes for every moving average type by @DaveSkender in #2348
- feat: Add chart pane ranges and reference lines to the catalog by @DaveSkender in #2349
- fix: Match catalog parameter minimums to argument validation by @DaveSkender in #2350
- fix: Match StcList to Series and name lists by their arguments by @DaveSkender in #2351
- fix: Compute ConnorsRsi percent rank without integer truncation by @DaveSkender in #2352
- fix: Offset IchimokuList spans by kijunPeriods like Series by @DaveSkender in #2353
- fix: Match Series smoothing start and NaN windows in StochList by @DaveSkender in #2354
- fix: Score a later zero-change RSI average as 100 in RsiHub by @DaveSkender in #2355
- fix: Run StochRsiList's Stoch over every row like Series by @DaveSkender in #2356
- fix: Carry KeltnerHub's EMA through the band warmup like Series by @DaveSkender in #2357
- fix: Lag RollingPivotsHub's high-low window by the offset by @DaveSkender in #2358
- fix: Sum KVO's signal seed in Series order in the list and hub by @DaveSkender in #2359
- fix: Score STC's window extremes exactly in the list and hub by @DaveSkender in #2360
- test: Compare every catalog style to Series at short periods by @DaveSkender in #2361
- fix: Execute Stream listings through the catalog by @DaveSkender in #2362
- fix: Name the parameter when a catalog value cannot bind by @DaveSkender in #2363
- fix: Update PivotsHub trend lines incrementally by @DaveSkender in #2364
- docs: Note rejected arguments and the StcList change in v3 guide by @DaveSkender in #2368
Full Changelog: 3.0.2...3.0.3
3.0.2
What's Changed
- fix: Expose RemoveWarmupPeriods() for results without convergence by @DaveSkender in #2254
- fix: Carry enum options into every catalog style listing by @DaveSkender in #2256
- test: Enforce BufferList test interfaces; fix Epma pruning by @DaveSkender in #2270
- fix: Propagate NaN from CircularDoubleBuffer Max/Min by @DaveSkender in #2271
- feat: Add GapFillMode enum for bar aggregator hubs by @DaveSkender in #2277
- fix: Stamp nuget.org assemblies with release version by @DaveSkender in #2289
- fix: Stamp CI package assemblies with CI version by @DaveSkender in #2290
Full Changelog: 3.0.1...3.0.2
3.0.1
What's Changed
- perf: Eliminate O(n²) front-pruning in BufferList and StreamHub caches by @DaveSkender in #2132
- docs: Add generic extension methods step to v3 migration guide by @DaveSkender in #2136
- refactor: Use extension method naming convention by @DaveSkender in #2150
- refactor: Rename OutType members to Csv and Json by @DaveSkender in #2175
- fix: Bind catalog result and parameter names to real members by @DaveSkender in #2189
- feat: Derive catalog ResultRecordType from indicator method by @DaveSkender in #2190
- fix: Make catalog listings executable for optional and decimal params by @DaveSkender in #2198
- fix: Bind catalog execution deterministically and keep builder state by @DaveSkender in #2199
- feat: Execute two-series indicators from the catalog by @DaveSkender in #2203
- refactor: Bind catalog DataName values with nameof by @DaveSkender in #2204
- fix: Restore ReturnType as an obsolete alias for ResultRecordType by @DaveSkender in #2201
- fix: Align catalog isRequired with C# callability by @DaveSkender in #2206
- feat: Reach shorter indicator overloads from the catalog by @DaveSkender in #2207
- fix: Correct inverted ratio returned by obsolete GetPrs by @DaveSkender in #2210
- fix: Correct wrong default periods in obsolete GetPvo by @DaveSkender in #2214
- fix: Widen obsolete shim parameters narrowed against v2 by @DaveSkender in #2218
- fix: Tell callers the tuple shims ignore smaPeriods by @DaveSkender in #2219
- fix: Name the correct parameter in the obsolete GetTrix error message by @DaveSkender in #2221
- fix: Keep before-head bars a BarHub never pruned by @DaveSkender in #2223
- docs: State that tied extremes yield no Fractal by @DaveSkender in #2225
Full Changelog: 3.0.0...3.0.1
2.7.3
Fixes image URL in NuGet package README.md only.
Cosmetic, no code changes.
3.0.0
What's Changed
Version 3 enables streaming and incremental stock indicator use cases by add two new styles:
- Buffer-style lists for simple incrementing use cases
- Advanced stream hubs for complex event based architectures
Our standard series (batch) style indicators from v2 remain in their original form and will continue to be the first choice for most users.
We've also renamed the NuGet package from Skender.Stock.Indicators to FacioQuo.Stock.Indicators along with our transfer of the repo out of a personal account to facioquo.
See our updated documentation site (dotnet.stockindicators.dev) for additional details and migration guide.
Full Changelog: 2.7.1...3.0.0
the v2 documentation site moved to v2.dotnet.stockindicators.dev
3.0.0-preview.5
What's Changed
final preview release for v3
- chore: Add .NET tool manifest by @DaveSkender in #1969
- feat: Hurst exponent upgrade by @quoberto in #2007
- feat: Incremental & streaming quotes, v3.0.0 by @DaveSkender in #1014
Full Changelog: 2.7.1...3.0.0-preview.5
2.7.2
What's Changed
Maintenance update only
- Documentation site has moved to v2.dotnet.stockindicators.dev to make space for our new v3 documentation website.
- feat: Hurst exponent upgrade by @quoberto in #2007
- docs: Migrate v2 website deployment by @DaveSkender in #2111
Full Changelog: 2.7.1...2.7.2
3.0.0-preview.3.1
General stability fixes for better stream hub thread safety
What's Changed
- General stability fixes for better stream hub thread safety
Full Changelog: 3.0.0-preview.2...3.0.0-preview.3.1
3.0.0-preview.2
We’ve released a new preview release for v3 of the Stock Indicators for .NET NuGet package, containing widely implemented streaming style indicators.
See Skender.Stock.Indicators @ NuGet.org for more information.
Warning
Preview releases are experimental and volatile with breaking changes and conventions.
Note
There will be a series of preview releases that implement streaming use cases. We expect possibly 1-2 additional preview pre-releases before we make an official stable v3 package.
- see #1014 for overall v3 progress
What's Changed
- wide implementation of buffer list incrementing indicators, and streaming hubs
Full Changelog: 3.0.0-preview.1...3.0.0-preview.2
Feedback appreciated in discussion #1018
Incrementally add data with buffer lists
For scenarios where quotes arrive one at a time, buffer lists provide efficient incremental processing without recalculating the entire history.
// create list
SmaList<SmaResult> smaList = new(lookbackPeriods: 20);
// add new quotes incrementally
smaList.Add(newQuote);Buffer lists maintain internal state and automatically manage the warmup period, making them ideal for basic live data feeds and incremental updates.
Streaming hubs with observer patterns
Hubs provides a reactive, subscription-based pattern for streaming market data with automatic cascading calculations for advances scenarios.
// create provider with chain of indicators
QuoteHub provider = new QuoteHub();
SmaHub smaHub = provider.ToSmaHub(20);
RsiHub rsiHub = smaHub.ToRsiHub(14); // RSI of SMA
// publish quotes - observers auto-update in cascade
provider.Add(newQuote);
// consume downstream hubs indicators
IReadOnlyList<RsiResult> = rsiHub.Results;The observer cascade ensures that when a new quote arrives, all chained indicators update automatically in the correct sequence.