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.BarSeriesManager, BacktestExecutor, supplied records, and manual simulation loopsBaseTradingRecordDoubleNum and DecimalNumUse the canonical matrix for execution choices:
ta4j-examples module