Documentation, examples and further information of the ta4j project
This project is maintained by ta4j Organization

ta4j gives you the building blocks for technical-analysis-driven systems in Java: bar series, indicators, rules, strategies, reports, and a unified trading-record model that now spans backtests, paper trading, and live execution.
The current wiki reflects ta4j’s newer unified trading stack:
BaseTradingRecord is the default trading-record implementation for both backtests and live or paper-trading flows.BarSeriesManager is the default single-strategy backtest driver and now accepts either its own default record factory or a record you provide.BacktestExecutor builds on BarSeriesManager when you want to rank or tune many strategies at once, including weighted normalized leaderboards.LiveTradingRecord and ExecutionFill remain available only as 0.22.x compatibility facades. New code should use BaseTradingRecord and TradeFill.architecture/ and completed-features/README.md, which are not part of the primary user onboarding path.BarSeriesManager and BacktestExecutor can now stay on the default next-open model or switch to current-close, slippage, or stop-limit execution.BacktestExecutionResult#getTopStrategiesWeighted(...) and WeightedCriterion let you rank strategies by a normalized composite score instead of a single raw metric.TradeFill values directly with TradingRecord.operate(fill) or group an order with Trade.fromFills(...), then inspect getCurrentPosition() and getOpenPositions() on the same record.SharpeRatioCriterion, SortinoRatioCriterion, CalmarRatioCriterion, OmegaRatioCriterion, and volume pressure indicators such as ForceIndexIndicator, EaseOfMovementIndicator, and KlingerVolumeOscillatorIndicator.ReturnMoments, and feature vectors publish representation-bound schemas.MonteCarloPriceForecastIndicator summarizes transformed terminal-price paths exactly; LognormalApproximationPriceForecastIndicator is the clearly named analytic alternative when paths are unavailable.AnalogReturnProjectionIndicator builds deterministic empirical neighbor forecasts, and RollingConformalForecastProjectionIndicator widens tails from matured residuals without changing base provenance.RoughVolatilityForecastStateIndicator keeps canonical return moments while adding bounded roughness, vol-of-vol, cumulative horizon variance, and an explicit analog feature schema.OnlineChangePointForecastStateIndicator adds canonical constant-hazard run-length inference, window-qualified recent-change posterior mass, typed component summaries, and direct analog composition.SMA(7,21), SmaCrossUp(7,21), RSI(14), and SharpeRatio while keeping canonical descriptor JSON as the durable storage format.BarSeriesManager, BacktestExecutor, supplied records, and manual simulation loopsBaseTradingRecordDoubleNum and DecimalNumUse the canonical matrix for execution choices:
ta4j-examples module