Skip to content

ta4j/ta4j-wiki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

206 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ta4j — Technical Analysis for Java

Example chart built with ta4j

Welcome to the ta4j wiki, the working handbook for building indicators, strategies, backtests, and live trading systems on the JVM.

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.
  • Manual loops are still the right tool when orders and fills are decoupled, partial fills matter, or your broker confirms executions asynchronously.
  • LiveTradingRecord and ExecutionFill remain available only as 0.22.x compatibility facades. New code should use BaseTradingRecord and TradeFill.

Start Here

  • Home - Quick navigation and execution-path overview
  • Getting Started - Install ta4j, build a strategy, and pick the right driver
  • Backtesting - BarSeriesManager, BacktestExecutor, supplied records, and manual simulation loops
  • Live Trading - Event-driven live or paper flows with BaseTradingRecord
  • Usage Examples - Runnable examples, including parity and bot loops
  • Release Notes - Version-by-version changelog and migration notes

Core Concepts

  • Bar Series & Bars - OHLCV data, aggregation, moving windows, and streaming updates
  • Data Sources - Loading bars or trades from files and HTTP providers
  • Num - Precision-aware numeric types such as DoubleNum and DecimalNum
  • Technical Indicators - Indicator composition and caching
  • Trading Strategies - Rules, strategies, unstable bars, and serialization
  • Charting - Visual overlays, trading-record rendering, and analysis charts

Pick The Right Execution Path

Need Recommended path Why
One strategy over historical data BarSeriesManager + default BaseTradingRecord Fastest path with minimal wiring
Backtest with a preconfigured record BarSeriesManager.run(strategy, providedRecord, ...) Keep a specific ExecutionMatchPolicy, fee model, or reusable record instance
Large batch runs or tuning BacktestExecutor Runtime telemetry, weighted leaderboards, progress callbacks, and batching
Live or paper trading with confirmed fills Manual loop + BaseTradingRecord Signals and broker fills stay separate; stream TradingRecord.operate(fill) or batch Trade.fromFills(...)
Maintaining older live adapters LiveTradingRecord / ExecutionFill Compatibility only while migrating toward BaseTradingRecord / TradeFill

Project & Community

Need a runnable reference? Browse the ta4j-examples module and the community Discord.

About

Repository for maintaining the ta4j wiki https://ta4j.github.io/ta4j-wiki/

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors