Package-level declarations

Types

Link copied to clipboard
class ADX(period: Int) : Indicator<Candle>

Average Directional Index (Wilder) — a 0, 100 gauge of trend strength (not direction), with its +DI / -DI components giving direction.

Link copied to clipboard
data class ADXLines(val plusDi: BigDecimal, val minusDi: BigDecimal, val adx: BigDecimal)

Directional movement lines: +DI, -DI, and the ADX trend-strength reading.

Link copied to clipboard
class AnchoredReturn(bucketMinutes: Int) : Indicator<Candle>

The realized return since the open of the current fixed-size time bucket — a sub-bar, grid-anchored move that a finer stream can read while a coarser bar is still forming.

Link copied to clipboard
class ATR(period: Int) : Indicator<Candle>

Average "true range" of a candle over the last period candles — a rolling read on how much the price typically moves per bar. Higher ATR = wider swings.

Link copied to clipboard
class Beta(period: Int) : BiIndicator

Rolling beta of a dependent series against an independent ("market") series over the last period aligned pairs: how much the first series moves per unit move of the second.

Link copied to clipboard
class BollingerBands(period: Int, stddevK: Double = 2.0) : Indicator<BigDecimal>

Bollinger Bands: a moving average with two "rails" above and below that widen when prices get jumpy and narrow when prices get quiet.

Link copied to clipboard
data class BollingerBandValues(val upper: BigDecimal, val middle: BigDecimal, val lower: BigDecimal)

Three-band Bollinger reading — middle is the running average, upper/lower are the rails above and below.

Link copied to clipboard
class CCI(period: Int) : Indicator<Candle>

Commodity Channel Index — how far the latest typical price is from its period-bar average, scaled by the average absolute deviation.

Link copied to clipboard
class ConfirmRatio(period: Int, peerCount: Int) : MultiIndicator

Cross-symbol confirmation ratio: the fraction of peer series whose return over the last period bars is the same sign as the signal series' return over the same window, in [0, 1].

Link copied to clipboard
class Correlation(period: Int) : BiIndicator

Rolling Pearson correlation between two series over the last period aligned pairs.

Link copied to clipboard
class DEMA(period: Int) : Indicator<BigDecimal>

Double Exponential Moving Average — a moving average that lags less than a plain EMA by subtracting the EMA-of-the-EMA: DEMA = 2·EMA − EMA(EMA).

Link copied to clipboard

Kaufman Efficiency Ratio over the last period bars — how much of the price's total travel actually went somewhere, in [0, 1].

Link copied to clipboard
class EMA(period: Int) : Indicator<BigDecimal>

A moving average that gives more weight to recent values than older ones — so it reacts to new prices faster than SMA of the same period.

Link copied to clipboard
class FailedBreak(rangeLen: Int, reclaimBars: Int, armBars: Int, high: Boolean) : Indicator<Candle>

A failed-breakout (fakeout) latch: true for a window of bars after a range boundary is pierced and then reclaimed, distinguishing a trapped-breakout snap-back from a genuine break.

Link copied to clipboard
class HMA(period: Int) : Indicator<BigDecimal>

Hull Moving Average — a low-lag, smooth moving average built from weighted MAs: raw = 2·WMA(period/2) − WMA(period), then HMA = WMA(raw) over √period bars.

Link copied to clipboard
class IbDefended(sessionStartHour: Int, ibMinutes: Int, high: Boolean) : Indicator<Candle>

Whether the session's Initial Balance edge has already been tested and held earlier this session — the per-session memory that separates an initiative late break from a naive opening-range breakout.

Link copied to clipboard
data class KeltnerBands(val upper: BigDecimal, val middle: BigDecimal, val lower: BigDecimal)

The three Keltner Channel lines: an EMA midline and ATR-width bands around it.

Link copied to clipboard
class KeltnerChannels(period: Int, atrMult: BigDecimal) : Indicator<Candle>

Keltner Channels — an EMA midline of the close with bands set atrMult × ATR above and below it. Like Bollinger Bands but volatility-scaled by ATR (true range) instead of standard deviation, so the bands widen with trading range rather than dispersion of closes.

Link copied to clipboard
class Lag(n: Int) : Indicator<BigDecimal>

The value of the input series as it stood n bars ago — a pure time offset.

Link copied to clipboard
class MACD(fast: Int = 12, slow: Int = 26, signal: Int = 9) : Indicator<BigDecimal>

MACD — a momentum gauge built from two EMAs, one fast and one slow. When the fast one is above the slow one, recent momentum is up; when below, down.

Link copied to clipboard
data class MACDLines(val macd: BigDecimal, val signal: BigDecimal, val histogram: BigDecimal)

Three values from a MACD reading: the line, its smoothed signal line, and the histogram (line − signal).

Link copied to clipboard
class OBV : Indicator<Candle>

On-Balance Volume — a running total that adds the candle's volume on an up-close and subtracts it on a down-close, leaving it unchanged on a flat close.

Link copied to clipboard
class OlsResidual(period: Int, regressorCount: Int) : MultiIndicator

Rolling ordinary-least-squares residual of a dependent series on one or more regressor series over the last period aligned observations.

Link copied to clipboard

Rolling percentile rank: the fraction of the trailing period-bar window strictly below the current value, in [0, 1).

Link copied to clipboard

Classic floor-trader pivot levels derived from the prior completed UTC day's high/low/close, held constant through the current day until the next day completes.

Link copied to clipboard

Slope of the least-squares regression line through the last period values, fit against their position in the window (x = 0, 1, … period-1, oldest to newest).

Link copied to clipboard
class ReopenGap(minGapHours: Int) : Indicator<Candle>

The price gap opened across a trading break (e.g. the weekend), and how much of it has since filled — the size and non-fill signals a gap-continuation edge needs.

Link copied to clipboard
class RollingHigh(period: Int) : Indicator<BigDecimal>

Rolling-window maximum over the last period input values.

Link copied to clipboard
class RollingLow(period: Int) : Indicator<BigDecimal>

Rolling-window minimum over the last period input values.

Link copied to clipboard
class RSI(period: Int) : Indicator<BigDecimal>

Relative Strength Index — a momentum gauge from 0 to 100. Compares the size of recent up-moves to recent down-moves: 50 is neutral, above 50 means up-moves are dominating, below 50 means down-moves are.

Link copied to clipboard

The signed length of the current run of same-direction changes in a series — a streak counter.

Link copied to clipboard

Consecutive-bar dwell counter for a boolean state.

Link copied to clipboard
class SeasonalRange(window: Int) : Indicator<Candle>

The trailing mean realized range (high - low) of the bars that share the current bar's UTC hour-of-day — a per-hour volatility baseline that detrends the intraday "vol clock".

Link copied to clipboard

The trailing sample standard deviation of realized range (high - low) across the bars that share the current bar's UTC hour-of-day — the dispersion companion to SeasonalRange's mean.

Link copied to clipboard
class SessionMomentum(startHour: Int, endHour: Int, nDays: Int) : Indicator<Candle>

Cumulative momentum measured over ONLY the bars inside a recurring intraday UTC window [startHour, endHour), accumulated across the last nDays completed days.

Link copied to clipboard
class SessionRange(startHour: Int, startMinute: Int, endHour: Int, endMinute: Int) : Indicator<Candle>

Session-anchored range: the high and low of the most recent completed instance of a fixed daily UTC window [startHour:startMinute, endHour:endMinute), held constant as price levels until the next instance completes.

Link copied to clipboard
class SessionVwap(anchorHour: Int) : Indicator<Candle>

Session-anchored Volume-Weighted Average Price and its volume-weighted standard deviation, both reset each day at anchorHour UTC.

Link copied to clipboard
class Skew(period: Int) : Indicator<BigDecimal>

Rolling realized skewness of bar-to-bar returns over the last period returns — the third standardized moment, a measure of how lopsided the recent return distribution is.

Link copied to clipboard
class SMA(period: Int) : Indicator<BigDecimal>

A running average of the last period values you feed it. Every value counts equally; the oldest one drops out each time a new one arrives.

Link copied to clipboard
class Stddev(period: Int) : Indicator<BigDecimal>

Rolling sample standard deviation over the last period input values.

Link copied to clipboard
class Stochastic(kPeriod: Int, dPeriod: Int) : Indicator<Candle>

Fast Stochastic oscillator — where the close sits within the high/low range of the last kPeriod candles (%K), and a dPeriod-bar moving average of that (%D), both in 0, 100.

Link copied to clipboard
data class StochasticLines(val k: BigDecimal, val d: BigDecimal)

The two Stochastic lines: fast %K and its Stochastic.dPeriod-bar SMA, %D.

Link copied to clipboard
class TEMA(period: Int) : Indicator<BigDecimal>

Triple Exponential Moving Average — lags even less than DEMA by combining three nested EMAs: TEMA = 3·EMA − 3·EMA(EMA) + EMA(EMA(EMA)).

Link copied to clipboard
class Variance(period: Int) : Indicator<BigDecimal>

Rolling sample variance over the last period values — the square of Stddev, exposed directly for callers that want the un-rooted dispersion (e.g. variance-ratio tests, or combining variances additively).

Link copied to clipboard
class VarianceRatio(k: Int, lookback: Int) : Indicator<BigDecimal>

Lo-MacKinlay variance ratio over the last lookback bar-to-bar returns — a regime statistic that separates mean-reversion from trending on the series' own path.

Link copied to clipboard
class VWAP(period: Int) : Indicator<Tick>

Volume-Weighted Average Price — like a moving average, except trades on big volume count more than trades on small volume. Answers: "what's the typical price people actually traded at recently?"

Link copied to clipboard
class WilliamsR(period: Int) : Indicator<Candle>

Williams %R — where the latest close sits within the high/low range of the last period candles, scaled to -100, 0.

Link copied to clipboard
class WMA(period: Int) : Indicator<BigDecimal>

A moving average where the newest value counts most and the oldest counts least, on a straight line.

Link copied to clipboard
class ZScore(period: Int) : Indicator<BigDecimal>

Rolling z-score of the latest input over the last period values: how many sample standard deviations the newest value sits from the window mean.