Skip to content

Releases: pavellunev/trading_chart

TradingChart 0.1.3

Choose a tag to compare

@pavellunev pavellunev released this 07 Oct 12:31

Added

  • Built-in persistence of the chart's settings: set TradingChartConfiguration.persistence to a ChartPersistence and the chart restores its style, the indicators chosen from your catalog and (optionally, per drawings key — e.g. per symbol) its drawings when it is created, and saves them when they change. UserDefaults by default; adopt ChartPreferencesStore for your own storage. Records are versioned JSON.
var configuration = TradingChartConfiguration()
configuration.persistence = ChartPersistence(key: "chart", indicatorCatalog: catalog, drawingsKey: symbol)
let model = TradingChartModel(configuration: configuration)

Full changelog: 0.1.2...0.1.3

TradingChart 0.1.2

Choose a tag to compare

@pavellunev pavellunev released this 07 Oct 11:31

Fixed

  • The package compiles with Xcode 26 (Swift 6.2). 0.1.0 and 0.1.1 needed a newer compiler: a closure in the overlay of the main pane captured a local constant declared after it.

Changed

  • Requirements: Xcode 26 or later (Swift 6.2), the toolchain CI builds with.

Full changelog: 0.1.1...0.1.2

TradingChart 0.1.1

Choose a tag to compare

@pavellunev pavellunev released this 07 Oct 11:18

Fixed

  • A chart inside a vertical scroll view (a SwiftUI ScrollView, a List, a UIScrollView) no longer scrolls the page along with itself. A horizontal drag on the chart scrolls only the chart and a vertical one only the page; while the crosshair, a pinch or the drag of a drawing is in progress the page stays still. A chart with no vertically scrolling container around it behaves as before.
  • CI: the libraries are built for iOS 16 and the tests run for iOS 17, so Xcode versions that build test bundles at the package minimum no longer fail.

Changed

  • A horizontal scroll view above the chart (a paged TabView, a horizontal ScrollView) no longer flips together with the chart: a horizontal drag that starts on the chart scrolls the chart, not the pager.

Full changelog: 0.1.0...0.1.1

TradingChart 0.1.0

Choose a tag to compare

@pavellunev pavellunev released this 07 Oct 09:12

The first release of TradingChart — a native SwiftUI trading chart for iOS built on Swift Charts.

Highlights

  • Styles: line, area and candlesticks, switchable at runtime, with an optional on-chart style picker.
  • Indicators: SMA, EMA, WMA, Bollinger Bands (overlays) and Volume, RSI, MACD (panes that scroll with the price), verified against TA-Lib. Add your own with the ChartIndicator protocol, toggle them with the Binance-style IndicatorBar.
  • Interaction: inertial one-finger scrolling, pinch zoom, long-press crosshair with an OHLC tooltip, a smooth price axis that follows the visible bars on every frame, high/low markers and a current-price badge on the axis.
  • Live data and history: candle or tick updates with an interval gate, a sticky live edge, and history paging (approachedHistoryStart + prependHistory) without jumps.
  • Drawing tools: horizontal line, trend line and ray — create, select, drag, delete; Codable drawings; custom tools through DrawingTool.
  • Customization: themes, price/time formatters, configuration, VoiceOver support and localization into 14 languages (including Arabic).

Requirements

  • Chart UI: iOS 17+. TradingChartCore / TradingChartIndicators: iOS 16+ — the package can be added to apps that target iOS 16 (gate the chart with if #available(iOS 17, *)).
  • Swift 6, Xcode 16 or later.

Installation

.package(url: "https://github.com/pavellunev/trading_chart.git", .upToNextMinor(from: "0.1.0"))

See the README, the DocC catalogs and Docs/Architecture.md for details.