Release 0.15
Release 0.15 of the Ta4j library.
This is the second release via GitHub Releases. Ta4j is also available on the maven central repository
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 rootcost
-package moved toanalysis/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 inDoubleNum.valueOf(Number i)
withi.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.