Skip to content

v0.14.0

Latest

Choose a tag to compare

@sdcoffey sdcoffey released this 04 Sep 23:12

Go 1.21 remains the minimum supported version. This release fixes indicator composition, cache invalidation, smoothing memory growth, and trading analysis results.

Calculation and compatibility notes

Correctness fixes can change existing indicator values, trading signals, and analysis results. EMA/MMA cached state now uses 256-bit precision (approximately 77 significant decimal digits) to keep memory growth bounded. See the README calculation conventions before comparing results with earlier releases.

Changes

  • Calculate EMA/MMA histories iteratively and propagate cache resets through built-in indicator inputs.
  • Add public WarmupIndicator and FirstValidIndex metadata; seed composed averages from usable observations and account for input warm-up in average gains/losses.
  • Correct crossover events, chronological maximum drawdown, CCI deviation inputs, Aroon evaluation order and tied extremes, Bollinger warm-up, and Wilder RSI initialization.
  • Correct directional profit reporting, fractional-period returns, buy-and-hold candle horizons, and the strategy warm-up boundary.
  • Reject malformed or reversed time ranges, including dangling separators, without panicking.
  • Remove test helpers from production builds, make fixtures deterministic, repair and test examples, pin developer tools, and test Go 1.21 through 1.27 in CI.

Includes #69 and both follow-up review fixes.

Full changelog: v0.13.0...v0.14.0