Documentation, examples and further information of the ta4j project
This project is maintained by ta4j Organization
Use this page when you want the shortest path to running Elliott Wave analysis in ta4j.
For full theory, component internals, scenario scoring, and advanced usage, see Elliott Wave Indicators.
BarSeries series = ...;
int index = series.getEndIndex();
// Optional: loosen/tighten Fibonacci validation for both phase() and scenarios()
Num fibTolerance = series.numFactory().numOf(0.25);
ElliottWaveFacade facade = ElliottWaveFacade.fractal(
series, 5, ElliottDegree.INTERMEDIATE, Optional.of(fibTolerance), Optional.empty());
ElliottPhase phase = facade.phase().getValue(index);
ElliottScenarioSet scenarios = facade.scenarios().getValue(index);
Num invalidation = facade.invalidationLevel().getValue(index);
Use this path when you need indicator-style access inside rules or chart overlays.
For strategy entries/exits, prefer the public rules in org.ta4j.core.rules.elliott (for example ElliottScenarioConfidenceRule, ElliottImpulsePhaseRule, ElliottScenarioInvalidationRule) wired to facade.scenarios() — see Elliott Wave Indicators — Built-in scenario rules.
ElliottWaveAnalysisRunner runner = ElliottWaveAnalysisRunner.builder()
.degree(ElliottDegree.INTERMEDIATE)
.logicProfile(ElliottLogicProfile.ORTHODOX_CLASSICAL) // optional 0.22.7 preset
.build();
ElliottWaveAnalysisResult result = runner.analyze(series);
Use this path when you want report generation or standalone analysis steps.
ta4jexamples.analysis.elliottwave.ElliottWaveIndicatorSuiteDemota4jexamples.analysis.elliottwave.ElliottWavePresetDemota4jexamples.analysis.elliottwave.backtest.HighRewardElliottWaveBacktest