Skip to content

Release 0.15

Compare
Choose a tag to compare
@team172011 team172011 released this 11 Sep 14:54
· 258 commits to master since this release

Release 0.15 of the Ta4j library.

This is the second release via GitHub Releases. Ta4j is also available on the maven central repository

www.ta4j.org

Changelog for ta4j, roughly following keepachangelog.com from version 0.9 onwards.

0.15 (released September 11, 2022)

Breaking

  • NumberOfConsecutiveWinningPositions renamed to NumberOfConsecutivePositions
  • DifferencePercentage renamed to DifferencePercentageIndicator
  • BuyAndHoldCriterion renamed to EnterAndHoldCriterion
  • DXIndicator moved to adx-package
  • PlusDMIndicator moved to adx-package
  • MinusDMIndicator moved to adx-package
  • analysis/criterion-package moved to root
  • cost-package moved to analysis/cost-package
  • AroonXXX indicators moved to aroon package

Fixed

  • LosingPositionsRatioCriterion correct betterThan
  • VersusBuyAndHoldCriterionTest NaN-Error.
  • Fixed ChaikinOscillatorIndicatorTest
  • DecimalNum#remainder() adds NaN-check
  • Fixed ParabolicSarIndicatorTest fixed openPrice always 0 and highPrice lower than lowPrice
  • UlcerIndexIndicator using the max price of current period instead of the highest value of last n bars
  • DurationBarAggregator fixed aggregation of bars with gaps

Changed

  • KeltnerChannelMiddleIndicator changed superclass to AbstractIndicator; add GetBarCount() and toString()
  • KeltnerChannelUpperIndicator add constructor to accept pre-constructed ATR; add GetBarCount() and toString()
  • KeltnerChannelLowerIndicator add constructor to accept pre-constructed ATR; add GetBarCount() and toString()
  • BarSeriesManager removed empty args constructor
  • Open|High|Low|Close do not cache price values anymore
  • DifferenceIndicator(i1,i2) replaced by the more flexible CombineIndicator.minus(i1,i2)
  • DoubleNum replace redundant toString() call in DoubleNum.valueOf(Number i) with i.doubleValue()
  • ZeroCostModel now extends from FixedTransactionCostModel

Removed/Deprecated

  • Num removed Serializable
  • PriceIndicator removed

Added

  • NumericIndicator new class providing a fluent and lightweight api for indicator creation
  • AroonFacade, BollingerBandFacade, KeltnerChannelFacade new classes providing a facade for indicator groups by using lightweight NumericIndicators
  • AbstractEMAIndicator added getBarCount() to support future enhancements
  • ATRIndicator "uncached" by changing superclass to AbstractIndicator; added constructor to accept TRIndicator and getter for same; added toString(); added getBarCount() to support future enhancements
  • πŸŽ‰ Enhancement added possibility to use CostModels when backtesting with the BacktestExecutor
  • πŸŽ‰ Enhancement added Num#zero, Num#one, Num#hundred
  • πŸŽ‰ Enhancement added possibility to use CostModels when backtesting with the BacktestExecutor
  • πŸŽ‰ Enhancement added Indicator#stream() method
  • πŸŽ‰ Enhancement added a new CombineIndicator, which can combine the values of two Num Indicators with a given combine-function
  • Example added a json serialization and deserialization example of BarSeries using google-gson library
  • EnterAndHoldCriterion added constructor with TradeType to begin with buy or sell
  • πŸŽ‰ Enhancement added Position#getStartingType() method
  • πŸŽ‰ Enhancement added SqnCriterion
  • πŸŽ‰ Enhancement added StandardDeviationCriterion
  • πŸŽ‰ Enhancement added RelativeStandardDeviationCriterion
  • πŸŽ‰ Enhancement added StandardErrorCriterion
  • πŸŽ‰ Enhancement added VarianceCriterion
  • πŸŽ‰ Enhancement added AverageCriterion
  • πŸŽ‰ Enhancement added javadoc for all rules to make clear which rule makes use of a TradingRecord
  • Enhancement prevent Object[] allocation for varargs log.trace and log.debug calls by wrapping them in if blocks
  • πŸŽ‰ Enhancement added FixedTransactionCostModel
  • πŸŽ‰ Enhancement added AnalysisCriterion.PositionFilter to handle both sides within one Criterion.