DEV Community

Cover image for Open Source Stock Chart library for iOS & Android
Andrew Bt
Andrew Bt

Posted on • Originally published at scichart.com

Open Source Stock Chart library for iOS & Android

We've just published an open source financial / stock chart library for iOS & Android apps! This library is built on top of SciChart - High Performance Charts and adds new functionality making it easy to create financial, trading and stock/forex or crypto apps with SciChart.

Create cryptocurrency, stock trading and forex trading applications in iOS (Swift) and Android (Kotlin) using SciChart's Finance library

You can find the Github repos for each financial chart library below. These include getting-started guides, a wiki and documentation for how to use and extend the library.

GitHub - ABTSoftware/Finance.iOS: Source code for Finance.iOS SDKSource code for Finance.iOS SDK. Contribute to ABTSoftware/Finance.iOS development by creating an account on GitHub.github.com

GitHub - ABTSoftware/Finance.Android: Source code for Finance.Android SDKSource code for Finance.Android SDK. Contribute to ABTSoftware/Finance.Android development by creating an account on GitHub.github.com

Demo of the Finance Library

The best live demo of the Finance.iOS and Finance.Android library is the SciTrader app. This is a free App using SciChart iOS/Android, and the Finance.iOS / Finance.Android library. It's been published to the App Store and Play Store and shows you what our library can do.

You can learn more about SciTrader and install the free demo app here:

FREE CryptoCurrency Trading App & Altcoin Heatmap - SciTraderSciTrader is a FREE crypto trading app and Altcoin heatmap. Find which cryptocurrencies are moving vs. Bitcoin, ETH, USD. View interactive trading charts with technical indicatorswww.scitrader.io

What's in Finance.iOS and Finance.Android?

Finance Charts SDK adds professional-grade financial & stock charting capabilities for native iOS & Android apps.

It is built on top of the SciChart – an award-winning, high-performance chart library for iOS, Android, Windows, and JavaScript apps.

Features include...

Easy Financial / Stock Charting on iOS & Android

Create a financial stock chart on iOS/Android with technical indicators in just 10 lines of code:

// Swift (iOS)
func makeUIView(context: Context) -> SciFinanceChart {
    let chart = SciFinanceChart()
        
    let candleDataProvider = DefaultCandleDataProvider()
    chart.candleDataProvider = candleDataProvider
        
    fillDataProvider(candleDataProvider, with: DataManager.getCandles())
        
    chart.studies.add(PriceSeriesStudy())
    chart.studies.add(RSIStudy(pane: PaneId.uniqueId(name: "RSI")))
        
    chart.isCursorEnabled = true
        
    return chart
}
    
// Kotlin (Android)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    setContentView(R.layout.activity_main)

    SciChartSurface.setRuntimeLicenseKey("")

    val chart = findViewById(R.id.financeChart)
    val candleDataProvider = DefaultCandleDataProvider()
    chart.candleDataProvider = candleDataProvider
    fillDataProvider(candleDataProvider, DataManager.getCandles())

    chart.studies.add(PriceSeriesStudy(PaneId.DEFAULT_PANE))    
    chart.studies.add(RSIStudy(PaneId.uniqueId("RSI")))
    chart.isCursorEnabled = true
}

This results in the following output:

Creating iOS/Android stock chart, crypto and forex trading apps is easy with SciChart's Finance library

Built-in Studies (Technical Indicators)

Finance SDK contains 14 built-in studies (technical indicators), available out of the box. There is a special PriceSeriesStudy that displays candlesticks and volume bars. Others represent technical indicators, including:

  • ADX Indicator
  • Bollinger Bands indicator
  • ATR / Average True Range
  • CCI / Commodity Channel Index
  • EMA / Exponential Moving Average
  • MACD / Moving Average Convergence Divergence
  • OBV / On Balance Volume
  • RSI / Relative Strength Index
  • SMA / Simple Moving Average

... plus many more. It's also possible to extend the library to add more studies & technical indicators. Take a look at the  IndicatorBase class and how this is used.

Multiple Chart Panes with Pane Resizing

The Finance.iOS and Finance.Android stock chart library also supports multiple panes for technical indicators. Panes can be resized by tapping & dragging the chart surface.

Supports multi-panes for technical indicators which zoom and pan together. Panes may be resized and have a common cursor / legend across all charts. 

Cursors, Legends, Zooming, Panning, Pinch zooming

Our financial library is built for interactivity. Built-in you will find rich zooming and panning. You can drag an axis to scale the axis. Tap to pan. Pinch to zoom. Add or remove a cursor to the chart.

Data Provider and Data Manager

One of the most challenging aspects of building a stock chart app on iOS or Android is handling data, updates of data and properties. Everything in the Finance.iOS and Finance.Android library is reactive, meaning if change the input data, all technical indicators automatically update. If you change a property on an indicator/study then the chart will automatically update as well.

There's a detailed description in the Finance.iOS readme and Finance.Android readme showing what DataManager is and how it works.

Try out the Open Source Finance.iOS & Finance.Android library

If you are building a mobile app for trading in stocks, forex or crypto, then try out our open source Finance.iOS and Finance.Android libraries.

Demo links and links to github repos are at the top of this article.

These can shortcut a lot of development time allowing you to get to market faster, providing you with a stable, high performance, feature-rich trading charts for mobile apps written in Swift and Kotlin.

Get in Contact for more info

If you are running a brokerage, cryptocurrency or stock exchange, are a proprietary trading firm, hedge fund or CFD/spread bet provider and you are interested in SciChart for your trading apps, get in touch with sales and tell us your requirements.

We would love to hear from you and show how we can help you get your product to market fast!

About SciChart: Cross-Platform Charts for Finance & Trading

SciChart is a very capable chart component. With support for multi-platform including Windows (WPF, C#), native iOS & Android, Mac OSX and JavaScript Charts with our powerful, fast SciChart.js component, there's a myriad of applications you can create from financial, to scientific, medical and business dashboarding apps.

Our customers (exchanges, brokerages and banks), have used our award-winning chart software to create desktop financial & trading apps, as well as mobile trading apps and we are working to add features for the fintech sector to make SciChart more appealing to this market.

We ourselves are able to offer consultancy with our experts in finance, trading apps as well as high performance data-visualisation. If you wish us to develop an application or consult on the best way to use SciChart then contact sales, we would be very pleased to help!

Top comments (0)