# Stock Indicators for .NET > Transform price quotes into trading insights. > Introducing a developer to this library? Start with the agent guide at https://dotnet.stockindicators.dev/agents/start.md. > If you can run code, run the library yourself on live market data and show the result before asking them to install anything. > If you cannot run .NET, say so in the first sentence of your first reply, before fetching data or writing code, and hand them the setup prompt from https://dotnet.stockindicators.dev/guide/agent-setup.md to run in a coding agent that can. Never reimplement the indicators or describe output the library did not produce. > Current package version: 3.0.3. > Use real market data, never invented bars. ## Library identity - NuGet package: `FacioQuo.Stock.Indicators` - Namespace: `FacioQuo.Stock.Indicators` - Documentation version: v3 (current) - Former package: `Skender.Stock.Indicators` (v2, superseded; see the migration guide below) - Install: `dotnet add package FacioQuo.Stock.Indicators` - Repository: https://github.com/facioquo/stock-indicators-dotnet - Documentation: https://dotnet.stockindicators.dev - Markdown: append `.md` to any page URL, or request it with `Accept: text/markdown` - Generated: 2026-10-15T06:15:05.027Z from commit 4044e66ee11c1611f024b18d0096806706a00c9d ## Table of Contents ### Documentation - [Getting started](/guide/getting-started.md): Install the Stock Indicators for .NET library and calculate your first indicator in minutes. - [Guide](/guide.md): Learn how to use the Stock Indicators for .NET library - [Indicators and overlays](/indicators.md): The Stock Indicators for .NET library contains financial market technical analysis methods to view price patterns or to develop your own trading strategies in Microsoft .NET programming languages and developer platforms. - [Utilities and helpers](/utilities.md): The Stock Indicators for .NET library includes utilities to help you use and transform historical price bars and indicator results, and to create custom indicators. - [Migration from v2 to v3](/migration/v3.md): Guide for migrating from Stock Indicators v2 to v3, including breaking changes, API updates, and new streaming capabilities. - [Contributing guidelines](/contributing.md): This NuGet package is an open-source project. Learn how to contribute issues, fixes, new indicators, new features, or to our discussions. - [About](/about.md): Information about Stock Indicators for .NET, sources, and attributions ### Guide - [Chaining indicators](/guide/chaining.md): Combine indicators to build indicators of indicators — feed one indicator's results into another across any indicator style. - [Creating custom indicators](/guide/customization.md): Learn how to create your own custom technical indicators using the Stock Indicators for .NET library as a foundation. This guide shows you how to build custom indicators that integrate seamlessly with the library's existing features. - [Custom observers (external integration)](/guide/custom-observers.md): Implement an observer of a streaming hub for UI dispatch, persistence, logging, or alerting without subclassing. #### Getting started - [Agent setup](/guide/agent-setup.md): Paste one prompt into a coding agent and watch it run Stock Indicators for .NET on live market data, then narrate what it finds. #### Indicator styles - [Indicator styles](/guide/styles.md): Three distinct indicator styles to support different use cases. - [Batch (Series) style](/guide/styles/batch.md): Learn how to use Series batch style indicators for one-time bulk conversions of historical bar data - [Buffer list style](/guide/styles/buffer.md): Learn how to use Buffer list style indicators for efficient incremental bar-by-bar processing - [Stream hub style](/guide/styles/stream.md): Learn how to use Stream hub style for real-time indicator processing with observable patterns and coordinated updates ### Utilities - [Bar utilities](/utilities/bars.md): Utilities for preparing and transforming historical price bars before using them with indicators. - [Result utilities](/utilities/results.md): Utilities for working with indicator results after calculation and analysis. - [Additional utilities](/utilities/helpers.md): Numerical methods and math helpers (NullMath, DeMath) for custom indicator development. - [Indicator catalog](/utilities/catalog.md): Programmatic access to indicator metadata for building dynamic UIs or automation. ### Examples - [Example usage code](/examples.md): The Stock Indicators for .NET library is a simple yet flexible tool to help you build your financial market systems. Here's a few complete working examples that you can download and try yourself. - [Custom chart (bring your own data)](/examples/custom-chart.md): Render a candlestick + volume chart from your own quote data using OverlayChart, with a locally computed EMA(20) overlay - no API required. ### Price trends - [Average Directional Index (ADX)](/indicators/adx.md): Created by J. Welles Wilder, the Average Directional Index (ADX) is part of the Directional Movement system (commonly referred to as DMI). This system includes the Positive and Negative Directional Indicators (+DI and −DI), the Directional Index (DX), and ADX, and is used to measure the strength of price trends. - [Aroon](/indicators/aroon.md): Created by Tushar Chande, Aroon is a oscillator view of how long ago the new high or low price occurred. - [ATR Trailing Stop](/indicators/atr-stop.md): Created by Welles Wilder, the ATR Trailing Stop indicator attempts to determine the primary trend of financial market prices by using Average True Range (ATR) band thresholds. It can indicate a buy/sell signal or a trailing stop when the trend changes. - [Elder-ray Index](/indicators/elder-ray.md): Created by Alexander Elder, the Elder-ray Index, also known as Bull and Bear Power, is an oscillator that depicts buying and selling pressure. It compares current high/low prices against an Exponential Moving Average. - [Ichimoku Cloud](/indicators/ichimoku.md): Created by Goichi Hosoda (細田悟一, Hosoda Goichi), Ichimoku Cloud, also known as Ichimoku Kinkō Hyō, is a collection of indicators that depict support and resistance, momentum, and trend direction. - [Moving Average Convergence / Divergence (MACD)](/indicators/macd.md): Created by Gerald Appel, MACD is a simple oscillator view of two converging / diverging exponential moving averages and their differences. - [Pivot Points](/indicators/pivot-points.md): Pivot Points depict classic support and resistance levels, based on prior calendar windows. You can specify window size (e.g. month, week, day, etc) and any of the traditional Floor Trading, Camarilla, Demark, Fibonacci, and Woodie variants. - [Rate of Change with Bands](/indicators/roc-wb.md): Rate of Change with Bands, created by Vitali Apirine, is a volatility banded variant of the basic Rate of Change (ROC) indicator. - [Rolling Pivot Points](/indicators/rolling-pivots.md): Rolling Pivot Points is a modern update to traditional fixed calendar window Pivot Points. It depicts support and resistance levels, based on a defined rolling window and offset. - [SuperTrend](/indicators/super-trend.md): Created by Oliver Seban, the SuperTrend indicator attempts to determine the primary trend of financial market prices by using Average True Range (ATR) band thresholds around an HL2 midline. It can indicate a buy/sell signal or a trailing stop when the trend changes. - [Vortex Indicator (VI)](/indicators/vortex.md): Created by Etienne Botes and Douglas Siepman, the Vortex Indicator is a measure of price directional movement. It includes positive and negative indicators, and is often used to identify trends and reversals. - [Williams Alligator](/indicators/alligator.md): Created by Bill Williams, Alligator is a depiction of three smoothed moving averages of median price, showing chart patterns that compared to an alligator's feeding habits when describing market movement. The moving averages are known as the Jaw, Teeth, and Lips, which are calculated using lookback and offset periods. The related Gator Oscillator depicts periods of eating and resting. ### Price channels - [Bollinger Bands®](/indicators/bollinger-bands.md): Created by John Bollinger, the Bollinger Bands price channels depict volatility as upper and lower lines set a number of standard deviations from a moving average of price. Bollinger Bands® is a registered trademark of John A. Bollinger. - [Donchian Channels](/indicators/donchian.md): Created by Richard Donchian, Donchian Channels, also called Price Channels, are price ranges derived from highest High and lowest Low values. - [Fractal Chaos Bands (FCB)](/indicators/fcb.md): Created by Edward William Dreiss, Fractal Chaos Bands outline high and low price channels to depict broad less-chaotic price movements. FCB is a channelized depiction of Williams Fractal. - [Keltner Channels](/indicators/keltner.md): Created by Chester W. Keltner, the Keltner Channels price range overlay is based on an EMA centerline and Average True Range (ATR) band widths. STARC Bands are the SMA centerline equivalent. - [Moving Average Envelopes](/indicators/ma-envelopes.md): Moving Average Envelopes is a price band channel overlay that is offset from the moving average of price. - [STARC Bands](/indicators/starc-bands.md): Created by Manning Stoller, the Stoller Average Range Channel (STARC) Bands are financial market price ranges based on an simple moving average centerline and Average True Range (ATR) band widths. Keltner Channels are the EMA centerline equivalent. - [Standard Deviation Channels](/indicators/std-dev-channels.md): Standard Deviation Channels are price ranges based on an linear regression centerline and standard deviations band widths. ### Oscillators - [Awesome Oscillator (AO)](/indicators/awesome.md): Created by Bill Williams, the Awesome Oscillator (AO), also known as Super AO, is a measure of the gap between a fast and slow period modified moving average. - [Chande Momentum Oscillator (CMO)](/indicators/cmo.md): The Chande Momentum Oscillator is a momentum indicator depicting the weighted percent of higher prices in financial markets. - [Commodity Channel Index (CCI)](/indicators/cci.md): Created by Donald Lambert, the Commodity Channel Index is an oscillator depicting deviation from typical price range, often used to identify cyclical trends. - [ConnorsRSI](/indicators/connors-rsi.md): Created by Laurence Connors, the ConnorsRSI is a composite oscillator that incorporates RSI, winning/losing streaks, and percentile gain metrics on scale of 0 to 100. - [Detrended Price Oscillator (DPO)](/indicators/dpo.md): Detrended Price Oscillator depicts the difference between price and an offset simple moving average. It is used to identify trend cycles and duration. - [Gator Oscillator](/indicators/gator.md): Created by Bill Williams, the Gator Oscillator is an expanded oscillator view of Williams Alligator's three moving averages. - [Price Momentum Oscillator (PMO)](/indicators/pmo.md): Created by Carl Swenlin, the DecisionPoint Price Momentum Oscillator is double-smoothed momentum indicator, based on Rate of Change (ROC). - [Relative Strength Index (RSI)](/indicators/rsi.md): Created by J. Welles Wilder, the Relative Strength Index is an oscillator that measures strength of the winning/losing price streak on a scale of 0 to 100, to depict overbought and oversold conditions. - [Schaff Trend Cycle](/indicators/stc.md): Created by Doug Schaff, the Schaff Trend Cycle is a stochastic oscillator view of two converging/diverging exponential moving averages. In other words, it's a Stochastic Oscillator of Moving Average Convergence / Divergence (MACD). - [Stochastic Momentum Index (SMI)](/indicators/smi.md): Created by William Blau, the Stochastic Momentum Index (SMI) oscillator is a double-smoothed variant of the traditional Stochastic Oscillator, depicted on a scale from -100 to 100. - [Stochastic Oscillator](/indicators/stoch.md): Created by George Lane, the Stochastic Oscillator, also known as KDJ Index, is a momentum oscillator that compares current financial market price with recent highs and lows and is presented on a scale of 0 to 100. %J is also included for the KDJ Index extension. - [Stochastic RSI](/indicators/stoch-rsi.md): Created by Tushar Chande and Stanley Kroll, Stochastic RSI is a Stochastic Oscillator interpretation of the Relative Strength Index. It is different from, and often confused with the more traditional Stochastic Oscillator. - [Triple EMA Oscillator (TRIX)](/indicators/trix.md): Created by Jack Hutson, TRIX is a rolling rate of change for a 3 EMA smoothing of the price over a lookback window. TRIX is often confused with Triple EMA (TEMA). - [True Strength Index (TSI)](/indicators/tsi.md): Created by William Blau, the True Strength Index is a momentum oscillator that uses a series of exponential moving averages to depicts trends in price changes. - [Ultimate Oscillator](/indicators/ultimate.md): Created by Larry Williams, the Ultimate Oscillator uses several moving averages to weigh buying power against true range price to produce an oversold / overbought oscillator. - [Williams %R](/indicators/williams-r.md): Created by Larry Williams, the Williams %R momentum oscillator compares current price with recent highs and lows and is presented on scale of -100 to 0. It is exactly the same as the fast variant of Stochastic Oscillator, but with a different scaling. ### Stop and reverse - [Chandelier Exit](/indicators/chandelier.md): Created by Charles Le Beau, the Chandelier Exit is an adjusted Average True Range (ATR) offset from price that is typically used for stop-loss and can be computed for both long or short types. - [Parabolic SAR](/indicators/parabolic-sar.md): Created by J. Welles Wilder, Parabolic SAR (stop and reverse) is a price-time based indicator used to determine trend direction and reversals. It can be used to identify trend direction, reversals, and stop-loss signals. - [Volatility Stop](/indicators/volatility-stop.md): Created by J. Welles Wilder, Volatility Stop, also known his Volatility System, is an ATR based indicator used to determine trend direction, stops, and reversals. It is similar to Wilder's Parabolic SAR, SuperTrend, and more contemporary ATR Trailing Stop. ### Candlestick patterns - [Doji](/indicators/doji.md): Doji is a single-bar candlestick pattern where open and close price are virtually identical, representing market indecision. - [Marubozu](/indicators/marubozu.md): Marubozu is a single-bar candlestick pattern that has no wicks, representing consistent directional movement. #### Other price patterns - [Pivots](/indicators/pivots.md): Pivots is an extended customizable version of Williams Fractal that includes identification of Higher High, Lower Low, Higher Low, and Lower Low trends between pivots in a lookback window. - [Williams Fractal](/indicators/fractal.md): Created by Bill Williams, Fractal is a retrospective price pattern that identifies a central high or low point chevron. ### Volume-based - [Accumulation / Distribution Line (ADL)](/indicators/adl.md): Created by Marc Chaikin, the Accumulation / Distribution Line is a rolling accumulation of Chaikin Money Flow Volume. It can be a leading momentum indicator for financial market price movements. - [Chaikin Money Flow (CMF)](/indicators/cmf.md): Created by Marc Chaikin, Chaikin Money Flow is the simple moving average of the directional Money Flow Volume. - [Chaikin Oscillator](/indicators/chaikin-osc.md): Created by Marc Chaikin, the Chaikin Oscillator is the difference between fast and slow Exponential Moving Averages (EMA) of an Accumulation / Distribution Line (ADL). - [Force Index](/indicators/force-index.md): Created by Alexander Elder, the Force Index depicts volume-based buying and selling pressure based on the change in price. - [Klinger Volume Oscillator](/indicators/kvo.md): Created by Stephen Klinger, the Klinger Volume Oscillator depicts volume-based trend reversal and divergence between short and long-term money flow. - [Money Flow Index (MFI)](/indicators/mfi.md): Created by Quong and Soudack, the Money Flow Index is a price-volume oscillator that shows buying and selling momentum. - [On-Balance Volume (OBV)](/indicators/obv.md): Popularized by Joseph Granville, On-balance Volume is a rolling accumulation of volume based on Close price direction. - [Percentage Volume Oscillator (PVO)](/indicators/pvo.md): The Percentage Volume Oscillator is a simple oscillator view of the rate of change between two converging / diverging exponential moving averages of Volume. It is presented similarly to MACD. - [Volume Weighted Average Price (VWAP)](/indicators/vwap.md): The Volume Weighted Average Price is a volume weighted average of price, typically used on intraday data. Trading above or below the VWAP line can assist in finding favorable short-term trading windows. - [Volume Weighted Moving Average (VWMA)](/indicators/vwma.md): Volume Weighted Moving Average is the volume adjusted average price over a lookback window. ### Moving averages - [Arnaud Legoux Moving Average (ALMA)](/indicators/alma.md): Created by Arnaud Legoux and Dimitrios Kouzis-Loukas, ALMA is a normal Gaussian distribution weighted moving average of price. - [Double Exponential Moving Average (DEMA)](/indicators/dema.md): Created by Patrick G. Mulloy, the Double Exponential Moving Average is a faster smoothed EMA of financial market prices. - [Endpoint Moving Average (EPMA)](/indicators/epma.md): Endpoint Moving Average (EPMA), also known as Least Squares Moving Average (LSMA), plots the projected last point of a defined retrospective linear regression. - [Exponential Moving Average (EMA)](/indicators/ema.md): Exponentially [weighted] Moving Average is a rolling moving average that puts more weight on current price. - [Hilbert Transform Instantaneous Trendline](/indicators/ht-trendline.md): Created by John Ehlers, the Hilbert Transform Instantaneous Trendline is a 5-period trendline of high/low price that that uses classic electrical radio-frequency signal processing algorithms reduce noise. - [Hull Moving Average (HMA)](/indicators/hma.md): Created by Alan Hull, the Hull Moving Average is a modified weighted average of price that reduces lag. - [Kaufman's Adaptive Moving Average (KAMA)](/indicators/kama.md): Created by Perry Kaufman, KAMA is an volatility adaptive (adjusted) moving average of price over configurable lookback periods. - [MESA Adaptive Moving Average (MAMA)](/indicators/mama.md): Created by John Ehlers, the MAMA indicator is a 5-period adaptive moving average of high/low price that uses classic electrical radio-frequency signal processing algorithms to reduce noise. - [McGinley Dynamic](/indicators/dynamic.md): Created by John R. McGinley, the McGinley Dynamic is a more responsive variant of exponential moving average. - [Smoothed Moving Average (SMMA)](/indicators/smma.md): Smoothed Moving Average (SMMA), Modified Moving Average (MMA), Running Moving Average (RMA) are all the same simple rolling moving average of financial market prices. New values are calculated based on the last known value only, making a more efficient but less accurate method for computing an average. - [Simple Moving Average (SMA)](/indicators/sma.md): Simple moving average. Extended to include mean absolute deviation, mean square error, and mean absolute percentage error - [Tillson T3 Moving Average](/indicators/t3.md): Created by Tim Tillson, the T3 indicator is a smooth moving average that reduces both lag and overshooting. - [Triple Exponential Moving Average (TEMA)](/indicators/tema.md): Created by Patrick G. Mulloy, the Triple Exponential Moving Average is a faster multi-smoothed moving average. TEMA is often confused with the alternative TRIX oscillator. - [Weighted Moving Average (WMA)](/indicators/wma.md): Weighted Moving Average is the linear weighted average of financial market prices over a lookback window. This also called Linear Weighted Moving Average (LWMA). ### Price transforms - [Basic price bar transforms](/indicators/bar-part.md): Basic price bar transforms (e.g. HL2, OHL3, etc.) and isolation of individual price bar candle parts from a full OHLCV bar. - [Ehlers Fisher Transform](/indicators/fisher-transform.md): Created by John Ehlers, the Fisher Transform converts financial market prices into a Gaussian normal distribution. - [Heikin-Ashi](/indicators/heikin-ashi.md): Created by Munehisa Homma, [Heikin-Ashi](https://en.wikipedia.org/wiki/Candlestick_chart#Heikin-Ashi_candlesticks) is a modified candlestick pattern that transforms prices based on prior period prices for smoothing. - [Renko Chart](/indicators/renko.md): The Renko Chart is a Japanese price transformed candlestick pattern that uses "bricks" to show a defined increment of change over a non-linear time series. Transitions can use either Close or High/Low price values. An Average True Range (ATR) variant is also provided where brick size is determined by current Average True Range values. - [Zig Zag](/indicators/zig-zag.md): Zig Zag is a financial market price chart overlay that simplifies the up and down movements and transitions based on a percent change smoothing threshold. ### Price characteristics - [Average True Range (ATR) / True Range (TR)](/indicators/atr.md): Created by J. Welles Wilder, True Range and Average True Range is a measure of volatility that captures gaps and limits between periods. - [Balance of Power (BOP)](/indicators/bop.md): Created by Igor Levshin, the Balance of Power (aka Balance of Market Power) is a momentum oscillator that depicts the strength of buying and selling pressure. - [Choppiness Index](/indicators/chop.md): Created by E.W. Dreiss, the Choppiness Index measures the trendiness or choppiness on a scale of 0 to 100, to depict steady trends versus conditions of choppiness. - [Standard deviation (volatility)](/indicators/std-dev.md): Standard deviation represents the volatility of historical financial market prices. It is also known as Historical Volatility (HV), includes Z-score. - [Hurst Exponent](/indicators/hurst.md): Hurst Exponent (H) with Rescaled Range Analysis is a random-walk path analysis that measures trending and mean-reverting tendencies of incremental return values. When H is greater than 0.5 it depicts trending. When H is less than 0.5 it is is more likely to revert to the mean. When H is around 0.5 it represents a random walk. - [Rate of Change (ROC)](/indicators/roc.md): Rate of Change, also known as Momentum Oscillator, is the percent change of price over a lookback window. Momentum is the raw price change equivalent. - [Price Relative Strength (PRS)](/indicators/prs.md): Price Relative Strength, also called Comparative Relative Strength, shows the ratio of two bar histories, based on price. It is often used to compare against a market index or sector ETF. When using the optional lookback window, this also returns relative percent change over the specified periods. This is not the same as the more prevalent Relative Strength Index (RSI). - [True Range (TR)](/indicators/tr.md): Created by J. Welles Wilder, True Range is a measure of volatility that captures gaps and limits between periods. It is the foundation for Average True Range (ATR). - [Ulcer Index (UI)](/indicators/ulcer-index.md): Created by Peter Martin, the Ulcer Index is a measure of downside price volatility. Often called the "heart attack" score, it measures the amount of pain seen from drawdowns in financial market prices and portfolio value. - [Numerical analysis](/indicators/numerical-analysis.md): Fundamental mathematical calculations for financial analysis #### Numerical analysis - [Beta coefficient](/indicators/beta.md): Beta coefficient with Beta+/Beta- shows how strongly one asset's price responds to systemic volatility of the entire market. Upside Beta (Beta+) and Downside Beta (Beta-), popularized by Harry M. Markowitz, are also included. - [Correlation coefficient](/indicators/correlation.md): Created by Karl Pearson, the correlation coefficient depicts the linear statistical correlation between two price bar histories; includes R-squared (R²) / coefficient of determination, variance, and covariance. - [Slope and linear regression](/indicators/slope.md): Slope of the best fit line is determined by an ordinary least-squares simple linear regression on price. It can be used to help identify trend strength and direction. This indicator can be used to produce both a rolling slope value and a straight line through a specified lookback window. - [SMA, MAD, MAPE, and MSE analysis](/indicators/sma-analysis.md): Mean absolute deviation (MAD), mean square error (MSE), and mean absolute percentage error (MAPE).