Skip to content

Latest commit

 

History

History
296 lines (247 loc) · 56.2 KB

README.md

File metadata and controls

296 lines (247 loc) · 56.2 KB

TaLibStandard Indicator Reference

Complete, machine-generated catalog of every public entry point in TaLibStandard. Do not edit this file by hand - regenerate it with:

python3 tools/generate-indicator-catalog.py

The generator parses src/TechnicalAnalysis.Functions/*/TAMath.cs and src/TechnicalAnalysis.Candles/*/TACandle.cs directly, so this page cannot drift from the source. It fails loudly if a newly added indicator is not classified in its mapping table.

What is counted here

Surface Entry points Public static overloads
TAMath (technical indicators, TechnicalAnalysis.Functions) 98 208
TACandle (candlestick patterns, TechnicalAnalysis.Candles) 61 68
Total 159 276

An entry point is a distinct public method name. There are 98 indicator entry points and 61 candlestick pattern entry points, i.e. 159 distinct methods. Counting every callable public static overload (the double[] and float[] pairs, plus the default-argument convenience overloads) gives 276 methods, of which 104 are float[] overloads. When you see "200+ indicators" advertised for TA-Lib ports, that figure is the overload count, not the entry-point count - the honest numbers for TaLibStandard are 98 / 61 / 276.

Per category

Category Entry points
Overlap Studies 18
Momentum Indicators 30
Volume Indicators 3
Volatility Indicators 3
Price Transform 4
Cycle Indicators 5
Pattern Recognition 61
Statistic Functions 9
Math Transform 15
Math Operators 11
Total 159

Overloads, precision and generic math

  • double[] and float[] overloads. Almost every TAMath method is declared twice: once taking double[] inputs and once taking float[]. The float[] overload widens its inputs to double[] and calls the double[] implementation, so it costs one extra allocation and copy per input array and returns exactly the same *Result type. All computation is performed in double, and every output array is double[] (or int[]) regardless of the input type.
  • Convenience overloads. A handful of entry points expose a shorter overload that hard-codes the TA-Lib default instead of declaring an optional parameter. Both shapes are listed in the Signature column below.
  • Generic-math candlesticks. TACandle methods are generic: TACandle.CdlDoji<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) where T : IFloatingPoint<T>. That constraint is satisfied by double, float, decimal, Half and System.Runtime.InteropServices.NFloat, so candlestick detection runs directly on decimal[] price arrays with no conversion. All candlestick entry points return CandleIndicatorResult, whose int[] Integers array holds 0 (no pattern), +100 (bullish) or -100 (bearish).

Reading the result objects

Every result record derives from TechnicalAnalysis.Common.IndicatorResult and carries three metadata members: RetCode RetCode, int BegIdx and int NBElement (note the capital B). Output element k corresponds to input bar BegIdx + k, for k in [0, NBElement). Elements at index >= NBElement are meaningless zeros. See the getting-started guide for a fully worked alignment example.

The Outputs column names the properties that expose the result arrays. Real comes from SingleOutputResult; multi-output records expose named properties (RealUpperBand, SlowK, MacdSignal, ...) that project the protected Real0/Real1/Real2 slots in output order.

Known defects

Three entry points below currently return wrong numbers. They fail quietly - RetCode.Success, a plausible NBElement, and a value you would chart - so they are called out here and marked in the tables that follow. Everything not listed here was checked against the same inputs and behaves.

Defect Affected entry points Detail
Atr never divides its running average Atr The main output loop divides the emitted value by period but never the accumulator, so the running average is multiplied by period - 1 on every bar. Measured on a series whose true range is exactly 2.0 every bar, Atr(..., 14) returns 2, 2, 26.142857, 340, 4420.142857, 57462, 747006.142857, 9711080, ...; on a 1500-bar series it reaches +inf by bar 300. Only the first two outputs are usable. Natr is not affected. Workaround: Wilder-smooth TrueRange yourself. Source: src/TechnicalAnalysis.Functions/Atr/TAFunc.cs
TA_INT_EMA seeds itself low Ema, Macd, MacdExt, MacdFix, Dema, Tema, T3, Apo, Ppo, Trix The seed loop sums period - 1 inputs and divides by period (upstream TA-Lib sums period of them), and the loop that follows applies one extra smoothing step. Ema over a constant series of 100 with timePeriod: 20 returns 95.476190 instead of 100. The error decays with the smoothing factor, so it distorts the bars just after warm-up rather than the steady state; raising TACore.Globals.UnstablePeriod[FuncUnstId.Ema] discards them. Source: src/TechnicalAnalysis.Functions/TAFunc.cs, TA_INT_EMA
Rsi returns NaN on a perfectly flat series Rsi There is no zero guard on prevGain + prevLoss, so a window with no price change divides by zero. The call still reports RetCode.Success with a non-zero NBElement, and every element is NaN. Trigger: a halted instrument, or a synthetic constant series. Guard consumers with double.IsFinite. Source: src/TechnicalAnalysis.Functions/Rsi/TAFunc.cs

See Getting started for the two habits that make these survivable, Backtesting and Real-time streaming for what they do to a running system, and TradingView integration for what they mean when you are reconciling against a chart.

Overlap Studies

Trend-following overlays plotted on the same scale as price. 18 entry points.

Indicator Signature Parameters (with defaults) Outputs Description Docs
BollingerBands BollingerBandsResult TAMath.BollingerBands(int startIdx, int endIdx, double[] real, int timePeriod = 5, double nbDevUp = 2.0, double nbDevDn = 2.0, MAType maType = MAType.Sma) int timePeriod = 5
double nbDevUp = 2.0
double nbDevDn = 2.0
MAType maType = MAType.Sma
RealUpperBand, RealMiddleBand, RealLowerBand Calculates Bollinger Bands for a price series. TAMath.BollingerBands
Dema DemaResult TAMath.Dema(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real KNOWN DEFECT - Calculates the Double Exponential Moving Average (DEMA) for the specified range of data. TAMath.Dema
Ema EmaResult TAMath.Ema(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real KNOWN DEFECT - Calculates the Exponential Moving Average (EMA) for the specified range of data. TAMath.Ema
HtTrendline HtTrendlineResult TAMath.HtTrendline(int startIdx, int endIdx, double[] real) none Real Calculates the Hilbert Transform - Instantaneous Trendline for the input price data. TAMath.HtTrendline
Kama KamaResult TAMath.Kama(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real Calculates the Kaufman Adaptive Moving Average (KAMA) for the specified range of data. TAMath.Kama
Mama MamaResult TAMath.Mama(int startIdx, int endIdx, double[] real, double fastLimit, double slowLimit)
MamaResult TAMath.Mama(int startIdx, int endIdx, double[] real)
double fastLimit
double slowLimit
MAMA, FAMA Calculates the MESA Adaptive Moving Average (MAMA) for the input price data. TAMath.Mama
MidPoint MidPointResult TAMath.MidPoint(int startIdx, int endIdx, double[] real, int timePeriod = 14) int timePeriod = 14 Real Calculates the midpoint value over a specified time period (MIDPOINT). TAMath.MidPoint
MidPrice MidPriceResult TAMath.MidPrice(int startIdx, int endIdx, double[] high, double[] low, int timePeriod = 14) int timePeriod = 14 Real Calculates the midpoint price over a specified time period (MIDPRICE). TAMath.MidPrice
MovingAverage MovingAverageResult TAMath.MovingAverage(int startIdx, int endIdx, double[] real, int timePeriod = 30, MAType maType = MAType.Sma) int timePeriod = 30
MAType maType = MAType.Sma
Real Calculates a Moving Average of the specified type for the input price data. TAMath.MovingAverage
MovingAverageVariablePeriod MovingAverageVariablePeriodResult TAMath.MovingAverageVariablePeriod(int startIdx, int endIdx, double[] real, double[] periods, int minPeriod, int maxPeriod, MAType maType)
MovingAverageVariablePeriodResult TAMath.MovingAverageVariablePeriod(int startIdx, int endIdx, double[] real, double[] periods)
int minPeriod
int maxPeriod
MAType maType
Real Calculates a moving average with variable period lengths (MAVP). TAMath.MovingAverageVariablePeriod
Sar SarResult TAMath.Sar(int startIdx, int endIdx, double[] high, double[] low, double acceleration = 0.02, double maximum = 0.2) double acceleration = 0.02
double maximum = 0.2
Real Calculates the Parabolic SAR (Stop And Reverse) indicator. TAMath.Sar
SarExt SarExtResult TAMath.SarExt(int startIdx, int endIdx, double[] high, double[] low, double startValue = 0.0, double offsetOnReverse = 0.0, double accelerationInitLong = 0.02, double accelerationLong = 0.02, double accelerationMaxLong = 0.2, double accelerationInitShort = 0.02, double accelerationShort = 0.02, double accelerationMaxShort = 0.2) double startValue = 0.0
double offsetOnReverse = 0.0
double accelerationInitLong = 0.02
double accelerationLong = 0.02
double accelerationMaxLong = 0.2
double accelerationInitShort = 0.02
double accelerationShort = 0.02
double accelerationMaxShort = 0.2
Real Calculates the Parabolic SAR Extended (SAREXT) indicator. TAMath.SarExt
Sma SmaResult TAMath.Sma(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real Calculates the Simple Moving Average (SMA) for the input price data. TAMath.Sma
T3 T3Result TAMath.T3(int startIdx, int endIdx, double[] real, int timePeriod = 5, double vFactor = 0.7) int timePeriod = 5
double vFactor = 0.7
Real KNOWN DEFECT - Calculates the T3 Triple Exponential Moving Average for the specified range of data. TAMath.T3
Tema TemaResult TAMath.Tema(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real KNOWN DEFECT - Calculates the Triple Exponential Moving Average (TEMA) for the specified range of data. TAMath.Tema
Trima TrimaResult TAMath.Trima(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real Calculates the Triangular Moving Average (TRIMA) for the specified range of data. TAMath.Trima
Wma WmaResult TAMath.Wma(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real Calculates the Weighted Moving Average (WMA) for the specified range of data. TAMath.Wma
ZigZag ZigZagResult TAMath.ZigZag(int startIdx, int endIdx, double[] high, double[] low, double deviation = 5.0) double deviation = 5.0 Real Calculates the ZigZag indicator which filters out minor price movements to identify significant trends. TAMath.ZigZag

Momentum Indicators

Oscillators and directional-movement measures derived from rate of change. 30 entry points.

Indicator Signature Parameters (with defaults) Outputs Description Docs
Adx AdxResult TAMath.Adx(int startIdx, int endIdx, double[] high, double[] low, double[] close, int timePeriod = 14) int timePeriod = 14 Real Calculates the Average Directional Index (ADX) indicator. TAMath.Adx
Adxr AdxrResult TAMath.Adxr(int startIdx, int endIdx, double[] high, double[] low, double[] close, int timePeriod = 14) int timePeriod = 14 Real Calculates the Average Directional Movement Index Rating (ADXR) indicator. TAMath.Adxr
Apo ApoResult TAMath.Apo(int startIdx, int endIdx, double[] real, int fastPeriod = 12, int slowPeriod = 26, MAType maType = MAType.Sma) int fastPeriod = 12
int slowPeriod = 26
MAType maType = MAType.Sma
Real KNOWN DEFECT - Calculates the Absolute Price Oscillator (APO) which shows the difference between two moving averages. TAMath.Apo
Aroon AroonResult TAMath.Aroon(int startIdx, int endIdx, double[] high, double[] low, int timePeriod = 14) int timePeriod = 14 AroonDown, AroonUp Calculates the Aroon indicator (Aroon Up and Aroon Down). TAMath.Aroon
AroonOsc AroonOscResult TAMath.AroonOsc(int startIdx, int endIdx, double[] high, double[] low, int timePeriod = 14) int timePeriod = 14 Real Calculates the Aroon Oscillator (AROONOSC) which measures the strength of a trend and likelihood of continuation. TAMath.AroonOsc
Bop BopResult TAMath.Bop(int startIdx, int endIdx, double[] open, double[] high, double[] low, double[] close) none Real Calculates the Balance of Power (BOP) indicator. TAMath.Bop
Cci CciResult TAMath.Cci(int startIdx, int endIdx, double[] high, double[] low, double[] close, int timePeriod = 14) int timePeriod = 14 Real Calculates the Commodity Channel Index (CCI) indicator. TAMath.Cci
Cmo CmoResult TAMath.Cmo(int startIdx, int endIdx, double[] real, int timePeriod = 14) int timePeriod = 14 Real Calculates the Chande Momentum Oscillator (CMO) which measures momentum on both up and down days. TAMath.Cmo
Dx DxResult TAMath.Dx(int startIdx, int endIdx, double[] high, double[] low, double[] close, int timePeriod)
DxResult TAMath.Dx(int startIdx, int endIdx, double[] high, double[] low, double[] close)
int timePeriod Real Calculates the Directional Movement Index (DX) indicator. TAMath.Dx
Macd MacdResult TAMath.Macd(int startIdx, int endIdx, double[] real, int optInFastPeriod = 12, int optInSlowPeriod = 26, int optInSignalPeriod = 9) int optInFastPeriod = 12
int optInSlowPeriod = 26
int optInSignalPeriod = 9
MacdValue, MacdSignal, MacdHist KNOWN DEFECT - Calculates the Moving Average Convergence Divergence (MACD) indicator. TAMath.Macd
MacdExt MacdExtResult TAMath.MacdExt(int startIdx, int endIdx, double[] real, int fastPeriod = 12, MAType fastMAType = MAType.Sma, int slowPeriod = 26, MAType slowMAType = MAType.Sma, int signalPeriod = 9, MAType signalMAType = MAType.Sma) int fastPeriod = 12
MAType fastMAType = MAType.Sma
int slowPeriod = 26
MAType slowMAType = MAType.Sma
int signalPeriod = 9
MAType signalMAType = MAType.Sma
MACD, MACDSignal, MACDHist KNOWN DEFECT - Calculates the Extended MACD (MACD with controllable MA type) indicator. TAMath.MacdExt
MacdFix MacdFixResult TAMath.MacdFix(int startIdx, int endIdx, double[] real, int signalPeriod = 9) int signalPeriod = 9 MACD, MACDSignal, MACDHist KNOWN DEFECT - Calculates the Fixed MACD indicator using the standard 12/26 period configuration. TAMath.MacdFix
Mfi MfiResult TAMath.Mfi(int startIdx, int endIdx, double[] high, double[] low, double[] close, double[] volume, int timePeriod = 14) int timePeriod = 14 Real Calculates the Money Flow Index (MFI) indicator. TAMath.Mfi
MinusDI MinusDIResult TAMath.MinusDI(int startIdx, int endIdx, double[] high, double[] low, double[] close, int timePeriod)
MinusDIResult TAMath.MinusDI(int startIdx, int endIdx, double[] high, double[] low, double[] close)
int timePeriod Real Calculates the Minus Directional Indicator (-DI) which measures the strength of negative price movement. TAMath.MinusDI
MinusDM MinusDMResult TAMath.MinusDM(int startIdx, int endIdx, double[] high, double[] low, int timePeriod = 14) int timePeriod = 14 Real Calculates the Minus Directional Movement (-DM) which measures negative price movement between periods. TAMath.MinusDM
Mom MomResult TAMath.Mom(int startIdx, int endIdx, double[] real, int timePeriod = 10) int timePeriod = 10 Real Calculates the Momentum indicator for the specified range of data. TAMath.Mom
PlusDI PlusDIResult TAMath.PlusDI(int startIdx, int endIdx, double[] high, double[] low, double[] close, int timePeriod)
PlusDIResult TAMath.PlusDI(int startIdx, int endIdx, double[] high, double[] low, double[] close)
int timePeriod Real Calculates the Plus Directional Indicator (+DI) which measures the strength of positive price movement. TAMath.PlusDI
PlusDM PlusDMResult TAMath.PlusDM(int startIdx, int endIdx, double[] high, double[] low, int timePeriod = 14) int timePeriod = 14 Real Calculates the Plus Directional Movement (+DM) which measures positive price movement between periods. TAMath.PlusDM
Ppo PpoResult TAMath.Ppo(int startIdx, int endIdx, double[] real, int fastPeriod = 12, int slowPeriod = 26, MAType maType = MAType.Sma) int fastPeriod = 12
int slowPeriod = 26
MAType maType = MAType.Sma
Real KNOWN DEFECT - Calculates the Percentage Price Oscillator (PPO) which shows the percentage difference between two moving averages. TAMath.Ppo
Roc RocResult TAMath.Roc(int startIdx, int endIdx, double[] real, int timePeriod = 10) int timePeriod = 10 Real Calculates the Rate of Change (ROC) indicator for the specified range of data. TAMath.Roc
RocP RocPResult TAMath.RocP(int startIdx, int endIdx, double[] real, int timePeriod = 10) int timePeriod = 10 Real Calculates the Rate of Change Percentage (ROCP) indicator for the specified range of data. TAMath.RocP
RocR RocRResult TAMath.RocR(int startIdx, int endIdx, double[] real, int timePeriod = 10) int timePeriod = 10 Real Calculates the Rate of Change Ratio (ROCR) which measures price momentum as a ratio. TAMath.RocR
RocR100 RocR100Result TAMath.RocR100(int startIdx, int endIdx, double[] real, int timePeriod = 10) int timePeriod = 10 Real Calculates the Rate of Change Ratio 100 scale (ROCR100) which measures price momentum as a percentage. TAMath.RocR100
Rsi RsiResult TAMath.Rsi(int startIdx, int endIdx, double[] real, int timePeriod = 14) int timePeriod = 14 Real KNOWN DEFECT - Calculates the Relative Strength Index (RSI) for the input price data. TAMath.Rsi
Stoch StochResult TAMath.Stoch(int startIdx, int endIdx, double[] high, double[] low, double[] close, int fastKPeriod = 5, int slowKPeriod = 3, MAType slowKMAType = MAType.Sma, int slowDPeriod = 3, MAType slowDMAType = MAType.Sma) int fastKPeriod = 5
int slowKPeriod = 3
MAType slowKMAType = MAType.Sma
int slowDPeriod = 3
MAType slowDMAType = MAType.Sma
SlowK, SlowD Calculates the Stochastic Oscillator (STOCH) which measures momentum by comparing closing price to price range. TAMath.Stoch
StochF StochFResult TAMath.StochF(int startIdx, int endIdx, double[] high, double[] low, double[] close, int fastKPeriod = 5, int fastDPeriod = 3, MAType fastDMAType = MAType.Sma) int fastKPeriod = 5
int fastDPeriod = 3
MAType fastDMAType = MAType.Sma
FastK, FastD Calculates the Fast Stochastic (STOCHF) which provides a more responsive version of the stochastic oscillator. TAMath.StochF
StochRsi StochRsiResult TAMath.StochRsi(int startIdx, int endIdx, double[] real, int timePeriod = 14, int fastKPeriod = 5, int fastDPeriod = 3, MAType fastDMAType = MAType.Sma) int timePeriod = 14
int fastKPeriod = 5
int fastDPeriod = 3
MAType fastDMAType = MAType.Sma
FastK, FastD Calculates the Stochastic RSI (STOCHRSI) which applies stochastic calculations to RSI values. TAMath.StochRsi
Trix TrixResult TAMath.Trix(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real KNOWN DEFECT - Calculates the 1-day Rate-Of-Change (TRIX) indicator. TAMath.Trix
UltOsc UltOscResult TAMath.UltOsc(int startIdx, int endIdx, double[] high, double[] low, double[] close, int timePeriod1 = 7, int timePeriod2 = 14, int timePeriod3 = 28) int timePeriod1 = 7
int timePeriod2 = 14
int timePeriod3 = 28
Real Calculates the Ultimate Oscillator (ULTOSC) indicator. TAMath.UltOsc
WillR WillRResult TAMath.WillR(int startIdx, int endIdx, double[] high, double[] low, double[] close, int timePeriod = 14) int timePeriod = 14 Real Calculates the Williams' %R (WILLR) indicator. TAMath.WillR

Volume Indicators

Indicators that combine price with traded volume. 3 entry points.

Indicator Signature Parameters (with defaults) Outputs Description Docs
Ad AdResult TAMath.Ad(int startIdx, int endIdx, double[] high, double[] low, double[] close, double[] volume) none Real Calculates the Accumulation/Distribution (A/D) indicator. TAMath.Ad
AdOsc AdOscResult TAMath.AdOsc(int startIdx, int endIdx, double[] high, double[] low, double[] close, double[] volume, int fastPeriod = 3, int slowPeriod = 10) int fastPeriod = 3
int slowPeriod = 10
Real Calculates the Chaikin Accumulation/Distribution Oscillator (ADOSC). TAMath.AdOsc
Obv ObvResult TAMath.Obv(int startIdx, int endIdx, double[] real, double[] volume) none Real Calculates the On Balance Volume (OBV) indicator. TAMath.Obv

Volatility Indicators

True-range based measures of dispersion. 3 entry points.

Indicator Signature Parameters (with defaults) Outputs Description Docs
Atr AtrResult TAMath.Atr(int startIdx, int endIdx, double[] high, double[] low, double[] close, int timePeriod = 14) int timePeriod = 14 Real KNOWN DEFECT - Calculates the Average True Range (ATR) indicator. TAMath.Atr
Natr NatrResult TAMath.Natr(int startIdx, int endIdx, double[] high, double[] low, double[] close, int timePeriod = 14) int timePeriod = 14 Real Calculates the Normalized Average True Range (NATR) indicator. TAMath.Natr
TrueRange TrueRangeResult TAMath.TrueRange(int startIdx, int endIdx, double[] high, double[] low, double[] close) none Real Calculates the True Range (TRANGE) indicator. TAMath.TrueRange

Price Transform

Single-bar arithmetic combinations of open/high/low/close. 4 entry points.

Indicator Signature Parameters (with defaults) Outputs Description Docs
AvgPrice AvgPriceResult TAMath.AvgPrice(int startIdx, int endIdx, double[] open, double[] high, double[] low, double[] close) none Real Calculates the average price of a security for each period. TAMath.AvgPrice
MedPrice MedPriceResult TAMath.MedPrice(int startIdx, int endIdx, double[] high, double[] low) none Real Calculates the median price of a security for each period. TAMath.MedPrice
TypPrice TypPriceResult TAMath.TypPrice(int startIdx, int endIdx, double[] high, double[] low, double[] close) none Real Calculates the typical price of a security for each period. TAMath.TypPrice
WclPrice WclPriceResult TAMath.WclPrice(int startIdx, int endIdx, double[] high, double[] low, double[] close) none Real Calculates the weighted close price of a security for each period. TAMath.WclPrice

Cycle Indicators

Hilbert Transform cycle analysis (Ehlers). 5 entry points.

Indicator Signature Parameters (with defaults) Outputs Description Docs
HtDcPeriod HtDcPeriodResult TAMath.HtDcPeriod(int startIdx, int endIdx, double[] real) none Real Calculates the Hilbert Transform - Dominant Cycle Period for the input price data. TAMath.HtDcPeriod
HtDcPhase HtDcPhaseResult TAMath.HtDcPhase(int startIdx, int endIdx, double[] real) none Real Calculates the Hilbert Transform - Dominant Cycle Phase for the input price data. TAMath.HtDcPhase
HtPhasor HtPhasorResult TAMath.HtPhasor(int startIdx, int endIdx, double[] real) none InPhase, Quadrature Calculates the Hilbert Transform - Phasor Components for the input price data. TAMath.HtPhasor
HtSine HtSineResult TAMath.HtSine(int startIdx, int endIdx, double[] real) none Sine, LeadSine Calculates the Hilbert Transform - SineWave indicator for the input price data. TAMath.HtSine
HtTrendMode HtTrendModeResult TAMath.HtTrendMode(int startIdx, int endIdx, double[] real) none Integers Calculates the Hilbert Transform - Trend vs Cycle Mode for the input price data. TAMath.HtTrendMode

Pattern Recognition

Candlestick pattern detection. Every entry point is generic over T : IFloatingPoint<T>. 61 entry points.

Indicator Signature Parameters (with defaults) Outputs Description Docs
Cdl2Crows CandleIndicatorResult TACandle.Cdl2Crows<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Two Crows (Pattern Recognition) TACandle.Cdl2Crows
Cdl3BlackCrows CandleIndicatorResult TACandle.Cdl3BlackCrows<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Three Black Crows (Pattern Recognition) TACandle.Cdl3BlackCrows
Cdl3Inside CandleIndicatorResult TACandle.Cdl3Inside<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Three Inside Up/Down (Pattern Recognition) TACandle.Cdl3Inside
Cdl3LineStrike CandleIndicatorResult TACandle.Cdl3LineStrike<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Three-Line Strike (Pattern Recognition) TACandle.Cdl3LineStrike
Cdl3Outside CandleIndicatorResult TACandle.Cdl3Outside<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Three Outside Up/Down (Pattern Recognition) TACandle.Cdl3Outside
Cdl3StarsInSouth CandleIndicatorResult TACandle.Cdl3StarsInSouth<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Three Stars In The South (Pattern Recognition) TACandle.Cdl3StarsInSouth
Cdl3WhiteSoldiers CandleIndicatorResult TACandle.Cdl3WhiteSoldiers<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Three Advancing White Soldiers (Pattern Recognition) TACandle.Cdl3WhiteSoldiers
CdlAbandonedBaby CandleIndicatorResult TACandle.CdlAbandonedBaby<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close, T penetration)
CandleIndicatorResult TACandle.CdlAbandonedBaby<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close)
T penetration Integers Abandoned Baby (Pattern Recognition) TACandle.CdlAbandonedBaby
CdlAdvanceBlock CandleIndicatorResult TACandle.CdlAdvanceBlock<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Advance Block (Pattern Recognition) TACandle.CdlAdvanceBlock
CdlBeltHold CandleIndicatorResult TACandle.CdlBeltHold<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Belt-hold (Pattern Recognition) TACandle.CdlBeltHold
CdlBreakaway CandleIndicatorResult TACandle.CdlBreakaway<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Breakaway (Pattern Recognition) TACandle.CdlBreakaway
CdlClosingMarubozu CandleIndicatorResult TACandle.CdlClosingMarubozu<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Closing Marubozu (Pattern Recognition) TACandle.CdlClosingMarubozu
CdlConcealBabySwallow CandleIndicatorResult TACandle.CdlConcealBabySwallow<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Concealing Baby Swallow (Pattern Recognition) TACandle.CdlConcealBabySwallow
CdlCounterAttack CandleIndicatorResult TACandle.CdlCounterAttack<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Counterattack (Pattern Recognition) TACandle.CdlCounterAttack
CdlDarkCloudCover CandleIndicatorResult TACandle.CdlDarkCloudCover<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close, T penetration)
CandleIndicatorResult TACandle.CdlDarkCloudCover<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close)
T penetration Integers Dark Cloud Cover (Pattern Recognition) TACandle.CdlDarkCloudCover
CdlDoji CandleIndicatorResult TACandle.CdlDoji<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Doji (Pattern Recognition) TACandle.CdlDoji
CdlDojiStar CandleIndicatorResult TACandle.CdlDojiStar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Doji Star (Pattern Recognition) TACandle.CdlDojiStar
CdlDragonflyDoji CandleIndicatorResult TACandle.CdlDragonflyDoji<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Dragonfly Doji (Pattern Recognition) TACandle.CdlDragonflyDoji
CdlEngulfing CandleIndicatorResult TACandle.CdlEngulfing<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Engulfing Pattern (Pattern Recognition) TACandle.CdlEngulfing
CdlEveningDojiStar CandleIndicatorResult TACandle.CdlEveningDojiStar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close, T penetration)
CandleIndicatorResult TACandle.CdlEveningDojiStar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close)
T penetration Integers Evening Doji Star (Pattern Recognition) TACandle.CdlEveningDojiStar
CdlEveningStar CandleIndicatorResult TACandle.CdlEveningStar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close, T penetration)
CandleIndicatorResult TACandle.CdlEveningStar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close)
T penetration Integers Evening Star (Pattern Recognition) TACandle.CdlEveningStar
CdlGapSideSideWhite CandleIndicatorResult TACandle.CdlGapSideSideWhite<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Up/Down-gap side-by-side white lines (Pattern Recognition) TACandle.CdlGapSideSideWhite
CdlGravestoneDoji CandleIndicatorResult TACandle.CdlGravestoneDoji<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Gravestone Doji (Pattern Recognition) TACandle.CdlGravestoneDoji
CdlHammer CandleIndicatorResult TACandle.CdlHammer<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Hammer (Pattern Recognition) TACandle.CdlHammer
CdlHangingMan CandleIndicatorResult TACandle.CdlHangingMan<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Hanging Man (Pattern Recognition) TACandle.CdlHangingMan
CdlHarami CandleIndicatorResult TACandle.CdlHarami<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Harami Pattern (Pattern Recognition) TACandle.CdlHarami
CdlHaramiCross CandleIndicatorResult TACandle.CdlHaramiCross<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Harami Cross Pattern (Pattern Recognition) TACandle.CdlHaramiCross
CdlHighWave CandleIndicatorResult TACandle.CdlHighWave<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers High-Wave Candle (Pattern Recognition) TACandle.CdlHighWave
CdlHikkake CandleIndicatorResult TACandle.CdlHikkake<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Hikkake Pattern (Pattern Recognition) TACandle.CdlHikkake
CdlHikkakeMod CandleIndicatorResult TACandle.CdlHikkakeMod<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Modified Hikkake Pattern (Pattern Recognition) TACandle.CdlHikkakeMod
CdlHomingPigeon CandleIndicatorResult TACandle.CdlHomingPigeon<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Homing Pigeon (Pattern Recognition) TACandle.CdlHomingPigeon
CdlIdentical3Crows CandleIndicatorResult TACandle.CdlIdentical3Crows<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Identical Three Crows (Pattern Recognition) TACandle.CdlIdentical3Crows
CdlInNeck CandleIndicatorResult TACandle.CdlInNeck<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers In-Neck Pattern (Pattern Recognition) TACandle.CdlInNeck
CdlInvertedHammer CandleIndicatorResult TACandle.CdlInvertedHammer<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Inverted Hammer (Pattern Recognition) TACandle.CdlInvertedHammer
CdlKicking CandleIndicatorResult TACandle.CdlKicking<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Kicking (Pattern Recognition) TACandle.CdlKicking
CdlKickingByLength CandleIndicatorResult TACandle.CdlKickingByLength<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Kicking - bull/bear determined by the longer marubozu (Pattern Recognition) TACandle.CdlKickingByLength
CdlLadderBottom CandleIndicatorResult TACandle.CdlLadderBottom<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Ladder Bottom (Pattern Recognition) TACandle.CdlLadderBottom
CdlLongLeggedDoji CandleIndicatorResult TACandle.CdlLongLeggedDoji<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Long Legged Doji (Pattern Recognition) TACandle.CdlLongLeggedDoji
CdlLongLine CandleIndicatorResult TACandle.CdlLongLine<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Long Line Candle (Pattern Recognition) TACandle.CdlLongLine
CdlMarubozu CandleIndicatorResult TACandle.CdlMarubozu<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Marubozu (Pattern Recognition) TACandle.CdlMarubozu
CdlMatHold CandleIndicatorResult TACandle.CdlMatHold<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close, T penetration)
CandleIndicatorResult TACandle.CdlMatHold<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close)
T penetration Integers Mat Hold (Pattern Recognition) TACandle.CdlMatHold
CdlMatchingLow CandleIndicatorResult TACandle.CdlMatchingLow<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Matching Low (Pattern Recognition) TACandle.CdlMatchingLow
CdlMorningDojiStar CandleIndicatorResult TACandle.CdlMorningDojiStar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close, T penetration)
CandleIndicatorResult TACandle.CdlMorningDojiStar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close)
T penetration Integers Morning Doji Star (Pattern Recognition) TACandle.CdlMorningDojiStar
CdlMorningStar CandleIndicatorResult TACandle.CdlMorningStar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close, T penetration)
CandleIndicatorResult TACandle.CdlMorningStar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close)
T penetration Integers Morning Star (Pattern Recognition) TACandle.CdlMorningStar
CdlOnNeck CandleIndicatorResult TACandle.CdlOnNeck<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers On-Neck Pattern (Pattern Recognition) TACandle.CdlOnNeck
CdlPiercing CandleIndicatorResult TACandle.CdlPiercing<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Piercing Pattern (Pattern Recognition) TACandle.CdlPiercing
CdlRickshawMan CandleIndicatorResult TACandle.CdlRickshawMan<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Rickshaw Man (Pattern Recognition) TACandle.CdlRickshawMan
CdlRiseFall3Methods CandleIndicatorResult TACandle.CdlRiseFall3Methods<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Rising/Falling Three Methods (Pattern Recognition) TACandle.CdlRiseFall3Methods
CdlSeparatingLines CandleIndicatorResult TACandle.CdlSeparatingLines<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Separating Lines (Pattern Recognition) TACandle.CdlSeparatingLines
CdlShootingStar CandleIndicatorResult TACandle.CdlShootingStar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Shooting Star (Pattern Recognition) TACandle.CdlShootingStar
CdlShortLine CandleIndicatorResult TACandle.CdlShortLine<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Short Line Candle (Pattern Recognition) TACandle.CdlShortLine
CdlSpinningTop CandleIndicatorResult TACandle.CdlSpinningTop<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Spinning Top (Pattern Recognition) TACandle.CdlSpinningTop
CdlStalledPattern CandleIndicatorResult TACandle.CdlStalledPattern<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Stalled Pattern (Pattern Recognition) TACandle.CdlStalledPattern
CdlStickSandwich CandleIndicatorResult TACandle.CdlStickSandwich<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Stick Sandwich (Pattern Recognition) TACandle.CdlStickSandwich
CdlTakuri CandleIndicatorResult TACandle.CdlTakuri<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Takuri (Dragonfly Doji with very long lower shadow) (Pattern Recognition) TACandle.CdlTakuri
CdlTasukiGap CandleIndicatorResult TACandle.CdlTasukiGap<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Tasuki Gap (Pattern Recognition) TACandle.CdlTasukiGap
CdlThrusting CandleIndicatorResult TACandle.CdlThrusting<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Thrusting Pattern (Pattern Recognition) TACandle.CdlThrusting
CdlTristar CandleIndicatorResult TACandle.CdlTristar<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Tristar Pattern (Pattern Recognition) TACandle.CdlTristar
CdlUnique3River CandleIndicatorResult TACandle.CdlUnique3River<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Unique 3 River (Pattern Recognition) TACandle.CdlUnique3River
CdlUpsideGap2Crows CandleIndicatorResult TACandle.CdlUpsideGap2Crows<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Upside Gap Two Crows (Pattern Recognition) TACandle.CdlUpsideGap2Crows
CdlXSideGap3Methods CandleIndicatorResult TACandle.CdlXSideGap3Methods<T>(int startIdx, int endIdx, T[] open, T[] high, T[] low, T[] close) none Integers Upside/Downside Gap Three Methods (Pattern Recognition) TACandle.CdlXSideGap3Methods

Statistic Functions

Regression and dispersion statistics over a rolling window. 9 entry points.

Indicator Signature Parameters (with defaults) Outputs Description Docs
Beta BetaResult TAMath.Beta(int startIdx, int endIdx, double[] real0, double[] real1, int timePeriod = 5) int timePeriod = 5 Real Calculates the Beta coefficient between two price series. TAMath.Beta
Correl CorrelResult TAMath.Correl(int startIdx, int endIdx, double[] real0, double[] real1, int timePeriod = 30) int timePeriod = 30 Real Calculates the Pearson correlation coefficient between two price series. TAMath.Correl
LinearReg LinearRegResult TAMath.LinearReg(int startIdx, int endIdx, double[] real, int timePeriod = 14) int timePeriod = 14 Real Calculates the Linear Regression (LINEARREG) indicator. TAMath.LinearReg
LinearRegAngle LinearRegAngleResult TAMath.LinearRegAngle(int startIdx, int endIdx, double[] real, int timePeriod = 14) int timePeriod = 14 Real Calculates the Linear Regression Angle (LINEARREG_ANGLE) indicator. TAMath.LinearRegAngle
LinearRegIntercept LinearRegInterceptResult TAMath.LinearRegIntercept(int startIdx, int endIdx, double[] real, int timePeriod = 14) int timePeriod = 14 Real Calculates the Linear Regression Intercept for the input price data. TAMath.LinearRegIntercept
LinearRegSlope LinearRegSlopeResult TAMath.LinearRegSlope(int startIdx, int endIdx, double[] real, int timePeriod = 14) int timePeriod = 14 Real Calculates the Linear Regression Slope for the input price data. TAMath.LinearRegSlope
StdDev StdDevResult TAMath.StdDev(int startIdx, int endIdx, double[] real, int timePeriod = 5, double nbDev = 1.0) int timePeriod = 5
double nbDev = 1.0
Real Calculates the standard deviation of a price series. TAMath.StdDev
Tsf TsfResult TAMath.Tsf(int startIdx, int endIdx, double[] real, int timePeriod = 14) int timePeriod = 14 Real Calculates the Time Series Forecast (TSF) indicator. TAMath.Tsf
Variance VarianceResult TAMath.Variance(int startIdx, int endIdx, double[] real, int timePeriod = 5, double nbDev = 1.0) int timePeriod = 5
double nbDev = 1.0
Real Calculates the variance of a price series. TAMath.Variance

Math Transform

Element-wise transcendental and rounding functions. 15 entry points.

Indicator Signature Parameters (with defaults) Outputs Description Docs
Acos AcosResult TAMath.Acos(int startIdx, int endIdx, double[] real) none Real Calculates the arc cosine (inverse cosine) of input values. TAMath.Acos
Asin AsinResult TAMath.Asin(int startIdx, int endIdx, double[] real) none Real Calculates the arcsine (inverse sine) of each element in the input array. TAMath.Asin
Atan AtanResult TAMath.Atan(int startIdx, int endIdx, double[] real) none Real Calculates the arctangent (inverse tangent) of each element in the input array. TAMath.Atan
Ceil CeilResult TAMath.Ceil(int startIdx, int endIdx, double[] real) none Real Calculates the ceiling (smallest integer greater than or equal to) of each element in the input array. TAMath.Ceil
Cos CosResult TAMath.Cos(int startIdx, int endIdx, double[] real) none Real Calculates the trigonometric cosine of each element in the input array. TAMath.Cos
Cosh CoshResult TAMath.Cosh(int startIdx, int endIdx, double[] real) none Real Calculates the hyperbolic cosine of each element in the input array. TAMath.Cosh
Exp ExpResult TAMath.Exp(int startIdx, int endIdx, double[] real) none Real Calculates the exponential (e raised to the power) of each element in the input array. TAMath.Exp
Floor FloorResult TAMath.Floor(int startIdx, int endIdx, double[] real) none Real Calculates the vector floor function for each element in the input array. TAMath.Floor
Ln LnResult TAMath.Ln(int startIdx, int endIdx, double[] real) none Real Calculates the natural logarithm (base e) for each element in the input array. TAMath.Ln
Log10 Log10Result TAMath.Log10(int startIdx, int endIdx, double[] real) none Real Calculates the base-10 logarithm for each element in the input array. TAMath.Log10
Sin SinResult TAMath.Sin(int startIdx, int endIdx, double[] real) none Real Calculates the trigonometric sine for each element in the input array. TAMath.Sin
Sinh SinhResult TAMath.Sinh(int startIdx, int endIdx, double[] real) none Real Calculates the hyperbolic sine for each element in the input array. TAMath.Sinh
Sqrt SqrtResult TAMath.Sqrt(int startIdx, int endIdx, double[] real) none Real Calculates the square root for each element in the input array. TAMath.Sqrt
Tan TanResult TAMath.Tan(int startIdx, int endIdx, double[] real) none Real Calculates the trigonometric tangent for each element in the input array. TAMath.Tan
Tanh TanhResult TAMath.Tanh(int startIdx, int endIdx, double[] real) none Real Calculates the hyperbolic tangent for each element in the input array. TAMath.Tanh

Math Operators

Element-wise arithmetic and rolling min/max helpers. 11 entry points.

Indicator Signature Parameters (with defaults) Outputs Description Docs
Add AddResult TAMath.Add(int startIdx, int endIdx, double[] real0, double[] real1) none Real Performs element-wise addition of two input arrays. TAMath.Add
Div DivResult TAMath.Div(int startIdx, int endIdx, double[] real0, double[] real1) none Real Performs element-wise division of two input arrays. TAMath.Div
Max MaxResult TAMath.Max(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real Calculates the highest value over a specified time period (MAX). TAMath.Max
MaxIndex MaxIndexResult TAMath.MaxIndex(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Integers Calculates the index of the highest value over a specified time period (MAXINDEX). TAMath.MaxIndex
Min MinResult TAMath.Min(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real Calculates the lowest value over a specified time period (MIN). TAMath.Min
MinIndex MinIndexResult TAMath.MinIndex(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Integers Calculates the index of the lowest value over a specified time period (MININDEX). TAMath.MinIndex
MinMax MinMaxResult TAMath.MinMax(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Min, Max Calculates both the lowest and highest values over a specified time period (MINMAX). TAMath.MinMax
MinMaxIndex MinMaxIndexResult TAMath.MinMaxIndex(int startIdx, int endIdx, double[] real, int timePeriod)
MinMaxIndexResult TAMath.MinMaxIndex(int startIdx, int endIdx, double[] real)
int timePeriod MaxIdx, MinIdx Calculates the indices of both the lowest and highest values over a specified time period (MINMAXINDEX). TAMath.MinMaxIndex
Mult MultResult TAMath.Mult(int startIdx, int endIdx, double[] real0, double[] real1) none Real Performs element-wise multiplication of two input arrays. TAMath.Mult
Sub SubResult TAMath.Sub(int startIdx, int endIdx, double[] real0, double[] real1) none Real Performs element-wise subtraction of two input arrays. TAMath.Sub
Sum SumResult TAMath.Sum(int startIdx, int endIdx, double[] real, int timePeriod = 30) int timePeriod = 30 Real Calculates the summation of values over a specified time period (SUM). TAMath.Sum

See also