Documentation, examples and further information of the ta4j project
This project is maintained by ta4j Organization
This page is the canonical end-to-end path for production-minded Java developers:
data -> strategy -> execution -> record -> analysis -> live operations
If you follow only one path through the ta4j docs, follow this one.
flowchart LR
data[DataIngestion] --> strategy[StrategyDesign]
strategy --> backtest[BacktestExecution]
backtest --> record[TradingRecordAndFills]
record --> analysis[RiskAndPerformanceAnalysis]
analysis --> live[LiveOperations]
Goal: build a deterministic BarSeries that matches your intended market and timeframe semantics.
Start with:
Use examples:
ta4jexamples.Quickstartta4jexamples.backtesting.YahooFinanceBacktestta4jexamples.backtesting.CoinbaseBacktestExit criteria:
Goal: build explicit entry, exit, and risk-gating logic with predictable semantics.
Read:
Use examples:
ta4jexamples.strategies.RSI2Strategyta4jexamples.strategies.ADXStrategyta4jexamples.strategies.NetMomentumStrategyExit criteria:
setUnstableBars) is explicitly configured.Goal: run realistic backtests with explicit execution assumptions and reproducible comparisons.
Read:
Use examples:
ta4jexamples.backtesting.TradingRecordParityBacktestta4jexamples.backtesting.SimpleMovingAverageRangeBacktestta4jexamples.backtesting.BacktestPerformanceTuningHarnessExit criteria:
Goal: treat broker-confirmed fills as the source of truth while keeping strategy evaluation deterministic.
Read:
Use examples:
ta4jexamples.backtesting.TradeFillRecordingExampleta4jexamples.bots.TradingBotOnMovingBarSeriesExit criteria:
FIFO, LIFO, AVG_COST, SPECIFIC_ID).Goal: evaluate outcomes with criteria aligned to business objectives, not one metric in isolation.
Read:
Use examples:
ta4jexamples.analysis.StrategyAnalysista4jexamples.analysis.TradeCostExit criteria:
Num precision/performance tradeoff for your workload.Goal: run safely in production with explicit operational safeguards and recovery practices.
Read:
Use examples:
ta4jexamples.bots.TradingBotOnMovingBarSeriesta4jexamples.backtesting.TradeFillRecordingExampleExit criteria: