Skip to content

AcmeSoftwareLLC/charting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Acme Charting

Acme Charting

A collection of Flutter packages for financial charting and technical analysis.

License: MIT Ask DeepWiki


📦 Packages

Package Description Pub
acme_chart Financial charting library - candlestick/line charts, indicators, drawing tools Pub
acme_indicators Pure Dart technical analysis computations Pub

✨ Features

acme_chart

  • 📊 Chart Types — Candlestick (OHLC) and line series
  • 📈 20+ Technical Indicators — RSI, MACD, Bollinger Bands, Ichimoku Cloud, ADX, Alligator, Aroon, CCI, Donchian Channels, DPO, Fractals, Gator, MA/MA Rainbow/MA Envelope, Parabolic SAR, ROC, SMI, Stochastic Oscillator, Williams %R, ZigZag, and more
  • ✏️ Drawing Tools — Trend lines, horizontal/vertical lines, rays, channels, rectangles, Fibonacci fan, and more
  • 🖱️ Interactive — Pinch-to-zoom, pan, crosshair, tap-to-select
  • 🚧 Barriers & Markers — Entry/exit markers, price barriers, tick indicators
  • 🎨 Theming — Built-in dark/light themes, fully customizable
  • 💾 Persistent Storage — Saves indicator and drawing tool configuration via shared_preferences

acme_indicators

  • 🎯 Standalone Dart package — no Flutter dependency required for computations
  • 🔗 Used internally by acme_chart for all indicator calculations

🚀 Getting Started

Add acme_chart to your pubspec.yaml:

dependencies:
  acme_chart: ^1.0.0

Basic Usage

import 'package:acme_chart/acme_chart.dart';

AcmeChart(
  mainSeries: CandleSeries(
    candles: candles, // List<Candle>
  ),
)

With Indicators and Drawing Tools

Use AcmeChart for the full-featured widget with UI controls for adding/removing indicators and drawing tools:

AcmeChart(
  mainSeries: CandleSeries(candles: candles),
  pipSize: 2,
  granularity: 60, // seconds
)

Use the lower-level Chart widget when you need manual control:

Chart(
  mainSeries: CandleSeries(candles: candles),
  overlaySeries: [
    BollingerBandsSeries(candles: candles),
  ],
  bottomSeries: [
    RSISeries(candles: candles),
    MACDSeries(candles: candles),
  ],
)

🏗️ Architecture

XAxisWrapper          ← zoom/scroll, data management
  └── GestureManager  ← pan, zoom, tap
      └── Chart        ← visualization coordinator
          ├── MainChart    ← candles, overlays, drawings, crosshair
          └── BottomCharts ← RSI, MACD, and other independent-axis indicators

See doc/how_chart_lib_works.md for a detailed technical walkthrough.


🛠️ Development

This repository uses Melos to manage the monorepo.

# Install dependencies across all packages
dart pub get

# Analyze all packages
flutter analyze --no-fatal-infos

# Format code
dart format .

# Run tests
flutter test

# Run code generation (JSON serialization)
dart run build_runner build --delete-conflicting-outputs

Example App

cd packages/acme_chart/example
flutter run

🎨 Theming

The chart ships with ChartDefaultDarkTheme and ChartDefaultLightTheme, which switch automatically based on Theme.of(context).brightness. Override specific tokens by extending either class:

class MyChartTheme extends ChartDefaultDarkTheme {
  @override
  Color get backgroundColor => const Color(0xFF1A1A2E);
}

🤝 Contributing

See CONTRIBUTING for code style, commit format, and review checklist.

  • Follow Conventional Commits for PR titles
  • Run flutter analyze and flutter test before submitting
  • Add dartdoc comments to all public APIs

📄 License

MIT © 2026 Acme Software LLC

About

Flutter monorepo for financial charting - candlestick/line charts, 20+ technical indicators, drawing tools, and interactive gestures.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors