Ta class
Properties
hashCode
→ int
The hash code for this object.
no setter inherited
runtimeType
→ Type
A representation of the runtime type of the object.
no setter inherited
Methods
noSuchMethod (Invocation invocation )
→ dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString ()
→ String
A string representation of this object.
inherited
Static Methods
acceleratorOscillator (List <TaBar > points )
→ List <double ? >
Accelerator oscillator: AO − SMA(AO, 5).
accumulationDistribution (List <TaBar > points )
→ List <double ? >
Accumulation / distribution line: running Σ money-flow volume.
adx (List <TaBar > points , {int period = 14 })
→ AdxResult ?
alligator (List <TaBar > points )
→ ({List <double ? > jaw , List <double ? > lips , List <double ? > teeth } )
Williams alligator: jaw, teeth and lips — RMAs of the midpoint over
13, 8 and 5 bars, shifted 8, 5 and 3 bars ahead (on the bars, so the
last few are null).
alma (List <TaBar > points , int period , {double offset = 0.85 , double sigma = 6 })
→ List <double ? >
Arnaud Legoux moving average: a Gaussian-weighted window centred at
offset (0…1) of it, sigma its width.
aroon (List <TaBar > points , {int period = 25 })
→ AroonResult
atr (List <TaBar > points , {int period = 14 })
→ AtrResult ?
autoTrendlines (List <TaBar > points , {int wing = 3 , int minSpan = 8 , int candidates = 8 , double tolerance = 0.003 , double maxDistance = 0.08 })
→ List <AutoTrendline >
The current support and resistance trend lines: through two recent
swing lows (support) / highs (resistance) that price has respected
ever since — no bar closed through the line (0.3% tolerance) from the
first swing point to the last bar — and that still sit within
maxDistance of the last close (a steep line far from price says
nothing about the next move). Of those, the one nearest the price
wins. At most one of each; none when no candidate qualifies.
awesomeOscillator (List <TaBar > points , {int fast = 5 , int slow = 34 })
→ List <double ? >
Awesome oscillator: SMA(5) − SMA(34) of the bars' midpoints.
balanceOfPower (List <TaBar > points , {int period = 14 })
→ List <double ? >
Balance of power: (close − open) / (high − low), smoothed by period
(1: raw).
bollinger (List <TaBar > points , {int period = 20 , double stdDev = 2.0 })
→ BollingerResult
Bollinger %B (where the close sits in the bands, 0 at the lower, 1 at
the upper) and bandwidth ((upper − lower) / middle).
candlePatterns (List <TaBar > points )
→ List <CandlePatternMatch >
cci (List <TaBar > points , {int period = 20 })
→ List <double ? >
chaikinMoneyFlow (List <TaBar > points , {int period = 20 })
→ List <double ? >
chaikinOscillator (List <TaBar > points , {int fast = 3 , int slow = 10 })
→ List <double ? >
Chaikin oscillator: EMA(3) − EMA(10) of the A/D line.
chandelierExit (List <TaBar > points , {int period = 22 , double mult = 3 })
→ ({List <double ? > long , List <double ? > short } )
Chandelier exit: a trailing stop mult·ATR below the period high
(for longs) and above the low (for shorts).
choppiness (List <TaBar > points , {int period = 14 })
→ List <double ? >
Choppiness index: 100·log10(ΣATR(1) / range) / log10(n) — high when
the market chops sideways, low when it trends.
cmo (List <TaBar > points , {int period = 9 })
→ List <double ? >
Chande momentum oscillator: 100·(Σup − Σdown) / (Σup + Σdown).
connorsRsi (List <TaBar > points , {int rsiPeriod = 3 , int streakPeriod = 2 , int rankPeriod = 100 })
→ List <double ? >
Connors RSI: the average of RSI(3), the RSI(2) of the up/down streak
and the percent rank of the 1-bar change over 100 bars.
coppock (List <TaBar > points , {int wmaPeriod = 10 , int longRoc = 14 , int shortRoc = 11 })
→ List <double ? >
Coppock curve: WMA(10) of ROC(14) + ROC(11).
dema (List <TaBar > points , int period , {List <double ? > ? source })
→ List <double ? >
Double EMA: 2·EMA − EMA(EMA).
detectPatterns (List <TaBar > points , {int wing = 3 })
→ List <ChartPatternMatch >
divergencePivots (List <int > pivots )
→ (int , int )?
The newest pivot and the latest earlier one at least
divergenceMinBars before it, or null.
divergences (List <TaBar > points , List <double ? > oscillator , {int wing = 3 , int minSpan = 5 , int maxSpan = 60 })
→ List <Divergence >
Regular divergences between price and an oscillator over the whole
series, for drawing on that oscillator's panel: each pair of
consecutive price swing lows where price makes a lower low but the
oscillator a higher low (bullish), and swing highs with a higher high
against a lower oscillator high (bearish). Pairs further apart than
maxSpan bars are skipped — too far apart to be one setup.
donchianChannel (List <TaBar > points , {int period = 20 })
→ DonchianChannelResult
dpo (List <TaBar > points , {int period = 21 })
→ List <double ? >
Detrended price oscillator: closen/2 + 1 ago − SMA(n).
easeOfMovement (List <TaBar > points , {int period = 14 , double divisor = 10000 })
→ List <double ? >
Ease of movement: how far the midpoint moved per unit of volume over
range, smoothed by period (volume scaled by divisor).
elderRay (List <TaBar > points , {int period = 13 })
→ ({List <double ? > bear , List <double ? > bull } )
Elder ray: bull power (high − EMA) and bear power (low − EMA).
elliottWaves (List <TaBar > points , {double deviation = 5 })
→ ElliottCount ?
ema (List <TaBar > points , int period )
→ List <double ? >
envelope (List <TaBar > points , int period , {double percent = 2.5 , bool exponential = false })
→ ({List <double ? > lower , List <double ? > mid , List <double ? > upper } )
Envelope: an SMA (or EMA) with bands percent% above and below.
evenBetterSinewave (List <TaBar > points , {int duration = 40 })
→ List <double ? >
fibonacci (List <TaBar > points )
→ FibonacciResult ?
fisherTransform (List <TaBar > points , {int period = 9 })
→ ({List <double ? > fisher , List <double ? > trigger } )
Fisher transform of the bars' midpoints over period, and its
trigger (the value a bar earlier).
forceIndex (List <TaBar > points , {int period = 13 })
→ List <double ? >
Force index: EMA of (close − previous close) × volume.
fractals (List <TaBar > points , {int side = 2 })
→ ({List <int > down , List <int > up } )
Williams fractals: bar indices that are the highest (up) or lowest
(down) of the side bars either side.
historicalVolatility (List <TaBar > points , {int period = 10 , int barsPerYear = 252 })
→ List <double ? >
Historical volatility: the annualised standard deviation of log
returns, in % (barsPerYear 252 for daily bars).
hma (List <TaBar > points , int period , {List <double ? > ? source })
→ List <double ? >
Hull moving average: WMA(2·WMA(n/2) − WMA(n), √n) — fast and smooth.
ichimoku (List <TaBar > points , {int tenkanPeriod = 9 , int kijunPeriod = 26 , int senkouBPeriod = 52 })
→ IchimokuResult
isRsiDivergence (List <double > closes , List <double ? > rsiVals , int i1 , int i2 , {required bool bullish })
→ bool
Whether pivots i1 → i2 diverge from RSI: bullish when the price
made a lower low (by at least divergenceMinPriceMove ) while RSI made
a higher low (by at least divergenceMinRsiGap points) from a weak
reading under 40; bearish the mirror image, from a strong one over 60.
kama (List <TaBar > points , {int period = 10 , int fast = 2 , int slow = 30 })
→ List <double ? >
keltnerChannel (List <TaBar > points , {int emaPeriod = 20 , int atrPeriod = 10 , double multiplier = 2.0 })
→ KeltnerChannelResult
klinger (List <TaBar > points , {int fast = 34 , int slow = 55 , int signal = 13 })
→ ({List <double ? > kvo , List <double ? > signal } )
Klinger volume oscillator: EMA(34) − EMA(55) of signed volume force,
and its 13-bar EMA signal.
kst (List <TaBar > points )
→ ({List <double ? > kst , List <double ? > signal } )
Know Sure Thing: weighted sum of four smoothed rates of change, and
its 9-bar SMA signal.
lsma (List <TaBar > points , int period )
→ List <double ? >
Least squares moving average (linear regression curve).
macd (List <TaBar > points , {int fast = 12 , int slow = 26 , int signal = 9 })
→ MacdResult
massIndex (List <TaBar > points , {int ema = 9 , int period = 25 })
→ List <double ? >
Mass index: the sum of EMA(range) / EMA(EMA(range)) over period —
a bulge above 27 then back below 26.5 hints at a reversal.
mcGinley (List <TaBar > points , int period )
→ List <double ? >
McGinley dynamic: an average that speeds up in fast markets.
mfi (List <TaBar > points , {int period = 14 })
→ List <double ? >
momentum (List <TaBar > points , {int period = 10 })
→ List <double ? >
Momentum: close − closen ago.
obv (List <TaBar > points )
→ ObvResult
opens (List <TaBar > points )
→ List <double ? >
Open of each bar (the close where it has none) — for callers mixing
the new indicators with their own sources.
parabolicSar (List <TaBar > points , {double initialAf = 0.02 , double stepAf = 0.02 , double maxAf = 0.2 })
→ List <ParabolicSarPoint ? >
pivotHighIndices (List <double > closes , {int wing = 3 })
→ List <int >
pivotLowIndices (List <double > closes , {int wing = 3 })
→ List <int >
pivotPoints (List <TaBar > points , {DateTime ? now })
→ PivotPointsResult ?
ppo (List <TaBar > points , {int fast = 12 , int slow = 26 , int signal = 9 })
→ ({List <double ? > histogram , List <double ? > ppo , List <double ? > signal } )
Percentage price oscillator: (EMA fast − EMA slow) / EMA slow in %,
with its signal line and histogram.
priceVolumeTrend (List <TaBar > points )
→ List <double ? >
Price volume trend: running Σ volume × % change.
regressionChannel (List <TaBar > points , {double k = 2.0 })
→ RegressionChannelResult ?
rma (List <TaBar > points , int period , {List <double ? > ? source })
→ List <double ? >
Wilder's smoothed moving average (RMA / SMMA).
roc (List <TaBar > points , {int period = 12 })
→ List <double ? >
rollingMax (List <double > values , int period )
→ List <double ? >
Rolling max/min of values over period — O(n), null until the
first full window. Public for callers outside the indicator set
(e.g. SignalEngine's N-bar breakout conditions).
rollingMin (List <double > values , int period )
→ List <double ? >
rsi (List <TaBar > points , {int period = 14 })
→ List <double ? >
rsiBearishDivergence (List <TaBar > points , {int lookback = 40 , int rsiPeriod = 14 , int wing = 3 })
→ bool
rsiBullishDivergence (List <TaBar > points , {int lookback = 40 , int rsiPeriod = 14 , int wing = 3 })
→ bool
rvi (List <TaBar > points , {int period = 10 })
→ ({List <double ? > rvi , List <double ? > signal } )
Relative vigor index: close − open against high − low, smoothed, and
its signal.
sessionVolumeProfiles (List <TaBar > points , {int buckets = 24 , Object sessionOf (TaBar bar )? })
→ List <SessionVolumeProfile >
A volume profile for each session of points, in order: a session is
a run of consecutive bars with the same sessionOf key — by default
the calendar day (local) of the bar, for intraday bars. Each profile
is over its session's own price range, in buckets rows.
sineWave (List <TaBar > points )
→ SineWaveResult
sma (List <TaBar > points , int period )
→ List <double ? >
smaLast (List <TaBar > points , int period )
→ double ?
Just the latest SMA value — O(period) instead of building the whole
series when only .last is needed (Technical Summary, Market Health
scanning every stock in an index).
smi (List <TaBar > points , {int period = 10 , int smooth = 3 , int signal = 10 })
→ ({List <double ? > signal , List <double ? > smi } )
Stochastic momentum index: where the close sits relative to the
middle of the period range, double-smoothed, and its EMA signal.
standardDeviation (List <TaBar > points , {int period = 20 })
→ List <double ? >
Standard deviation of the closes.
stochastic (List <TaBar > points , {int kPeriod = 14 , int dPeriod = 3 })
→ StochasticResult
stochRsi (List <TaBar > points , {int rsiPeriod = 14 , int stochPeriod = 14 , int k = 3 , int d = 3 })
→ ({List <double ? > d , List <double ? > k } )
Stochastic RSI: the stochastic of RSI, %K smoothed k, %D d.
supertrend (List <TaBar > points , {int period = 10 , double multiplier = 3 })
→ List <SupertrendPoint ? >
supportResistance (List <TaBar > points , {int wing = 3 , int maxLevels = 4 })
→ List <SupportResistanceLevel > ?
t3 (List <TaBar > points , int period , {double vFactor = 0.7 })
→ List <double ? >
Tillson T3: six chained EMAs blended with volume factor vFactor.
tema (List <TaBar > points , int period , {List <double ? > ? source })
→ List <double ? >
Triple EMA: 3·EMA − 3·EMA² + EMA³.
trix (List <TaBar > points , {int period = 18 , int signal = 9 })
→ ({List <double ? > signal , List <double ? > trix } )
TRIX: the 1-bar % rate of change of a triple-smoothed EMA, and its
signal EMA.
trueRange (List <TaBar > points )
→ List <double ? >
True range of each bar (the first is its high − low).
tsi (List <TaBar > points , {int long = 25 , int short = 13 , int signal = 13 })
→ ({List <double ? > signal , List <double ? > tsi } )
True strength index: double-smoothed momentum over its double-smoothed
size, ×100, and its signal EMA.
ulcerIndex (List <TaBar > points , {int period = 14 })
→ List <double ? >
Ulcer index: the root mean square of the % drawdown from the
period-bar high.
ultimateOscillator (List <TaBar > points , {int fast = 7 , int mid = 14 , int slow = 28 })
→ List <double ? >
Ultimate oscillator (Williams): buying pressure over three windows.
valueArea (List <double > volumes , int poc , {double share = valueAreaShare })
→ (int , int )
The value area of a profile's volumes (lowest price first) around
the point of control poc: starting there, it grows one row at a
time toward whichever neighbour traded more, until it holds share
of the total volume. The first and last row in it, as indices.
volumeIndexes (List <TaBar > points )
→ ({List <double ? > nvi , List <double ? > pvi } )
Negative and positive volume index (start 1000): moved only on days
the volume falls (NVI) or rises (PVI).
volumeOscillator (List <TaBar > points , {int fast = 5 , int slow = 10 })
→ List <double ? >
Volume oscillator: % difference between a fast and a slow EMA of
volume.
volumeProfile (List <TaBar > points , {int buckets = 24 })
→ VolumeProfileResult
volumeSma (List <TaBar > points , {int period = 20 })
→ List <double ? >
vortex (List <TaBar > points , {int period = 14 })
→ ({List <double ? > minus , List <double ? > plus } )
Vortex indicator: VI+ and VI−.
vwap (List <TaBar > points , {int period = 20 })
→ List <double ? >
vwma (List <TaBar > points , int period )
→ List <double ? >
Volume-weighted moving average: Σ(close·volume) / Σvolume.
williamsR (List <TaBar > points , {int period = 14 })
→ List <double ? >
wma (List <TaBar > points , int period , {List <double ? > ? source })
→ List <double ? >
Weighted moving average of the closes (or source).
zigzag (List <TaBar > points , {double deviation = 5 })
→ ZigZagResult
zlema (List <TaBar > points , int period )
→ List <double ? >
Zero-lag EMA: the EMA of close + (close − closelag), lag = (n − 1) / 2.