Ta class

Constructors

Ta()

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
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
bollingerExtras(List<TaBar> points, {int period = 20, double mult = 2}) → ({List<double?> percentB, List<double?> width})
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.

Constants

divergenceMinBars → const int
divergenceMinPriceMove → const double
divergenceMinRsiGap → const double
valueAreaShare → const double
The share of volume the value area holds, by convention.