Stock Indicators for .NET

Stock Indicators for .NET is a C# library package that produces financial market technical indicators. Send in historical price quotes and get back desired indicators such as moving averages, Relative Strength Index, Stochastic Oscillator, Parabolic SAR, etc. Nothing more.

Build your private technical analysis, trading algorithms, machine learning, charting, or other intelligent market software with this library and your own OHLCV price quotes sources for equities, commodities, forex, cryptocurrencies, and others. Stock Indicators for Python is also available.

Explore more information:

Reputable and extensible indicators

You’ll get all of the industry standard indicators out-of-the-box. Additionally, you can create compatible custom indicators.

sample indicators shown in chart

Easy to use in your application

// example: get 20-period simple moving average
IEnumerable<SmaResult> results = quotes.GetSma(20);

See more usage examples.

Use chaining for unique insights

Optional chaining enables advanced uses cases; such as, indicator of indicators, slope (direction) of any result, or moving average of an indicator.

// example: advanced chaining (RSI of OBV)
IEnumerable<RsiResult> results
  = quotes
    .GetObv()
    .GetRsi(14);

// example: use any candle variant
IEnumerable<EmaResult> results
  = quotes
    .Use(CandlePart.HL2)
    .GetEma(20);

See the guide and the full list of indicators and overlays for more information.

Optimized for modern .NET frameworks

Our NuGet library directly targets all current frameworks for peak performance, including the .NET Standard for older framework compatibility.

The compiled library package is Common Language Specification (CLS) compliant and can be used in other programming languages, including Python and everything in the .NET universe.

Licensed for everyone

Apache 2.0 license badge

This repository uses the standard Apache 2.0 open-source license. Please review the license before using or contributing to the software.

Share your ideas with the community

Need help? Have ideas? Start a new discussion, ask a question 💬, or submit an issue if it is publicly relevant. You can also direct message @daveskender.

Give back with patronage

Thank you for your support! This software is crafted with care by unpaid enthusiasts who 💖 all forms of encouragement. If you or your organization use this library or like what we’re doing, add a ⭐ on the GitHub Repo as a token of appreciation.

If you want to buy me a beer or are interested in ongoing support as a patron, become a sponsor. Patronage motivates continued maintenance and evolution of open-source projects, and to inspire new ones.

Contribute to help others

This NuGet package is an open-source project on GitHub. If you want to report bugs or contribute fixes, new indicators, or new features, please review our contributing guidelines and the backlog.

Special thanks to all of our community code contributors!

» see our full list of indicators and overlays