github ta4j/ta4j 0.14
Release 0.14

latest release: 0.15
3 years ago

Release 0.14 of the Ta4j library.

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

www.ta4j.org

CHANGELOG:

0.14 (released April 25, 2021)

Breaking

  • Breaking: PrecisionNum renamed to DecimalNum
  • Breaking: AverageProfitableTradesCriterion renamed to WinningTradesRatioCriterion
  • Breaking: AverageProfitCriterion renamed to AverageReturnPerBarCriterion
  • Breaking: BuyAndHoldCriterion renamed to BuyAndHoldReturnCriterion
  • Breaking: RewardRiskRatioCriterion renamed to ReturnOverMaxDrawdownCriterion
  • Breaking: ProfitLossCriterion moved to PnL-Package
  • Breaking: ProfitLossPercentageCriterion moved to PnL-Package
  • Breaking: TotalProfitCriterion renamed to GrossReturnCriterion and moved to PnL-Package.
  • Breaking: TotalProfit2Criterion renamed to GrossProfitCriterion and moved to PnL-Package.
  • Breaking: TotalLossCriterion renamed to NetLossCriterion and moved to PnL-Package.
  • Breaking: package "tradereports" renamed to "reports"
  • Breaking: NumberOfTradesCriterion renamed to NumberOfPositionsCriterion
  • Breaking: NumberOfLosingTradesCriterion renamed to NumberOfLosingPositionsCriterion
  • Breaking: NumberOfWinningTradesCriterion renamed to NumberOfWinningPositionsCriterion
  • Breaking: NumberOfBreakEvenTradesCriterion renamed to NumberOfBreakEvenPositionsCriterion
  • Breaking: WinningTradesRatioCriterion renamed to WinningPositionsRatioCriterion
  • Breaking: TradeStatsReport renamed to PositionStatsReport
  • Breaking: TradeStatsReportGenerator renamed to PositionStatsReportGenerator
  • Breaking: TradeOpenedMinimumBarCountRule renamed to OpenedPositionMinimumBarCountRule
  • Breaking: Trade.class renamed to Position.class
  • Breaking: Order.class renamed to Trade.class
  • Breaking: package "tradereports" renamed to "reports"
  • Breaking: package "trading/rules" renamed to "rules"
  • Breaking: remove Serializable from all indicators
  • Breaking: Bar#trades: changed type from int to long

Fixed

  • Fixed Trade: problem with profit calculations on short trades.
  • Fixed TotalLossCriterion: problem with profit calculations on short trades.
  • Fixed BarSeriesBuilder: removed the Serializable interface
  • Fixed ParabolicSarIndicator: problem with calculating in special cases
  • Fixed BaseTimeSeries: can now be serialized
  • Fixed ProfitLossPercentageCriterion: use entryPrice#getValue() instead of entryPrice#getPricePerAsset()

Changed

  • Trade: Changed the way Nums are created.
  • WinningTradesRatioCriterion (previously AverageProfitableTradesCriterion): Changed to calculate trade profits using Trade's getProfit().
  • BuyAndHoldReturnCriterion (previously BuyAndHoldCriterion): Changed to calculate trade profits using Trade's getProfit().
  • ExpectedShortfallCriterion: Removed unnecessary primitive boxing.
  • NumberOfBreakEvenTradesCriterion: Changed to calculate trade profits using Trade's getProfit().
  • NumberOfLosingTradesCriterion: Changed to calculate trade profits using Trade's getProfit().
  • NumberOfWinningTradesCriterion: Changed to calculate trade profits using Trade's getProfit().
  • ProfitLossPercentageCriterion: Changed to calculate trade profits using Trade's entry and exit prices.
  • TotalLossCriterion: Changed to calculate trade profits using Trade's getProfit().
  • TotalReturnCriterion (previously TotalProfitCriterion): Changed to calculate trade profits using Trade's getProfit().
  • WMAIndicator: reduced complexity of WMAIndicator implementation

Removed/Deprecated

  • MultiplierIndicator: replaced by TransformIndicator.
  • AbsoluteIndicator: replaced by TransformIndicator.

Added

  • Enhancement Improvements on gitignore
  • Enhancement Added TradeOpenedMinimumBarCountRule - rule to specify minimum bar count for opened trade.
  • Enhancement Added DateTimeIndicator a new Indicator for dates.
  • Enhancement Added DayOfWeekRule for specifying days of the week to trade.
  • Enhancement Added TimeRangeRule for trading within time ranges.
  • Enhancement Added floor() and ceil() to Num.class
  • Enhancement Added getters getLow() and getUp() in CrossedDownIndicatorRule
  • Enhancement Added BarSeriesUtils: common helpers and shortcuts for BarSeries methods.
  • Enhancement Improvements for PreviousValueIndicator: more descriptive toString() method, validation of n-th previous bars in
  • Enhancement Added Percentage Volume Oscillator Indicator, PVOIndicator.
  • Enhancement Added Distance From Moving Average Indicator, DistanceFromMAIndicator.
  • Enhancement Added Know Sure Thing Indicator, KSTIndicator.
    constructor of PreviousValueIndicator
  • 🎉 Enhancement added getGrossProfit() and getGrossProfit(BarSeries) on Trade.
  • 🎉 Enhancement added getPricePerAsset(BarSeries) on Order.
  • 🎉 Enhancement added convertBarSeries(BarSeries, conversionFunction) to BarSeriesUtils.
  • 🎉 Enhancement added UnstableIndicator.
  • 🎉 Enhancement added Chainrule.
  • 🎉 Enhancement added BarSeriesUtils#sortBars.
  • 🎉 Enhancement added BarSeriesUtils#addBars.
  • 🎉 Enhancement added Num.negate() to negate a Num value.
  • 🎉 Enhancement added GrossLossCriterion.class.
  • 🎉 Enhancement added NetProfitCriterion.class.
  • 🎉 Enhancement added chooseBest() method with parameter tradeType in AnalysisCriterion.
  • 🎉 Enhancement added AverageLossCriterion.class.
  • 🎉 Enhancement added AverageProfitCriterion.class.
  • 🎉 Enhancement added ProfitLossRatioCriterion.class.
  • 🎉 Enhancement added ExpectancyCriterion.class.
  • 🎉 Enhancement added ConsecutiveWinningPositionsCriterion.class.
  • 🎉 Enhancement added LosingPositionsRatioCriterion.class
  • 🎉 Enhancement added Position#hasProfit.
  • 🎉 Enhancement added Position#hasLoss.
  • 🎉 Enhancement exposed both EMAs in MACD indicator

Don't miss a new ta4j release

NewReleases is sending notifications on new releases.