
Welcome to the ta4j Wiki
Your one-stop guide for building technical-analysis-driven trading systems in Java. This refresh focuses on making the content approachable for newcomers while preserving the depth power users expect.
Start Here
- Install ta4j – Grab the coordinates from the Getting Started guide and run the quick sanity check project.
- Learn the building blocks – Understand bar series, Num implementations, and how indicators compose.
- Build your first strategy – Follow the step-by-step tutorial in Getting Started and validate it by backtesting.
- Iterate & deploy – Explore Trading Strategies for composition patterns, Backtesting for performance diagnostics, and Live Trading for operational concerns.
What’s New in 0.21.0
- Unified return representation system – Consistent formatting across all return-based criteria (multiplicative, decimal, percentage, logarithmic) via
ReturnRepresentation and ReturnRepresentationPolicy
- New oscillators –
TrueStrengthIndexIndicator, SchaffTrendCycleIndicator, and ConnorsRSIIndicator expand oscillator coverage
- Helper indicators –
PercentRankIndicator, DifferenceIndicator, and StreakIndicator for advanced indicator composition
- High-precision improvements –
DecimalNumFactory#exp now uses configured MathContext for better precision in exponential calculations
Previous highlights (0.19)
- Fast, observable backtests with
BacktestExecutor, execution-time tracing, and streaming top-K selection for large strategy grids
- Strategy portability thanks to
StrategySerialization, JSON round-trips, and compact NamedStrategy descriptors
- Expanded indicator toolbox: Renko brick detectors, MACDV, Net Momentum, vote-based rules, Amount bars, begin-time builders, and more
- Richer analytics including commission impact, drawdown Monte Carlo simulations, streak metrics, and capital utilization insights
- Trendline and swing point analysis suite – Automated support/resistance detection with fractal and ZigZag swing indicators
- Unified data source interface – Consistent API for loading data from files, Yahoo Finance, Coinbase, and more
Read the curated Release Notes for every addition plus migration guidance.
How the Wiki Is Organized
- Start Here – Getting Started, FAQ, and Release Notes get you productive quickly.
- Core Concepts – Deep dives into Bar Series & Bars, Num, Technical Indicators, and Moving Averages.
- Build Strategies – Compose rules with Trading Strategies, evaluate them through Backtesting, and inspect Usage Examples.
- Deploy & Operate – Run bots via Live Trading, inspect logs, and leverage the ta4j-examples project.
- Project & Community – Learn how to contribute, follow the Branching model, peek at the Roadmap, or report issues.
- Chat with the team on the ta4j Discord.
- Share insights on GitHub Discussions and issues in the main repository.
- If you improve or clarify anything, please send a PR or open an issue—this wiki is maintained by the community for the community.