Open Source Stock Chart library for iOS & Android
Tags: ios, android, javascript, chart
Published: 2024-03-13 15:20:43

<!-- wp:paragraph -->
<p>We've just published an open source financial / stock chart library for iOS &amp; Android apps! This library is built on top of&nbsp;<a href="https://www.scichart.com/">SciChart - High Performance Charts</a>&nbsp;and adds new functionality making it easy to create financial, trading and stock/forex or crypto apps with SciChart.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":33194,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.scichart.com/wp-content/uploads/2022/05/finance-library-scichart.png" alt="" class="wp-image-33194"/><figcaption>Create cryptocurrency, stock trading and forex trading applications in iOS (Swift) and Android (Kotlin) using SciChart's Finance library</figcaption></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button /--></div>
<!-- /wp:buttons -->

<!-- wp:mamaduka/bookmark-card {"url":"https://github.com/ABTSoftware/Finance.iOS","className":"is-style-horizontal"} -->
<figure class="wp-block-mamaduka-bookmark-card is-style-horizontal"><a class="bookmark-card" href="https://github.com/ABTSoftware/Finance.iOS"><div class="bookmark-card__image"><img src="https://www.scichart.com/wp-content/uploads/2022/05/1653402493628ceb7d5336c.png"/></div><div class="bookmark-card__content"><div class="bookmark-card__title">GitHub - ABTSoftware/Finance.iOS: Source code for Finance.iOS SDK</div><div class="bookmark-card__description">Source code for Finance.iOS SDK. Contribute to ABTSoftware/Finance.iOS development by creating an account on GitHub.</div><div class="bookmark_card__meta"><img class="bookmark_card__meta-icon" src="https://www.scichart.com/wp-content/uploads/2022/09/favicon.svg"/><span class="bookmark_card__meta-publisher">github.com</span></div></div></a></figure>
<!-- /wp:mamaduka/bookmark-card -->

<!-- wp:spacer {"height":"20px"} -->
<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:mamaduka/bookmark-card {"url":"https://github.com/ABTSoftware/Finance.Android","className":"is-style-horizontal"} -->
<figure class="wp-block-mamaduka-bookmark-card is-style-horizontal"><a class="bookmark-card" href="https://github.com/ABTSoftware/Finance.Android"><div class="bookmark-card__image"><img src="https://www.scichart.com/wp-content/uploads/2022/05/1653402494628ceb7ee3c58.png"/></div><div class="bookmark-card__content"><div class="bookmark-card__title">GitHub - ABTSoftware/Finance.Android: Source code for Finance.Android SDK</div><div class="bookmark-card__description">Source code for Finance.Android SDK. Contribute to ABTSoftware/Finance.Android development by creating an account on GitHub.</div><div class="bookmark_card__meta"><img class="bookmark_card__meta-icon" src="https://www.scichart.com/wp-content/uploads/2022/09/favicon.svg"/><span class="bookmark_card__meta-publisher">github.com</span></div></div></a></figure>
<!-- /wp:mamaduka/bookmark-card -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button /--></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 id="demo-of-the-finance-library">Demo of the Finance Library</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The best live demo of the Finance.iOS and Finance.Android library is the&nbsp;<a href="https://scitrader.io/">SciTrader app</a>. This is a free App using&nbsp;<a href="https://scichart.com/">SciChart</a>&nbsp;iOS/Android, and the&nbsp;<a href="https://github.com/ABTSoftware/Finance.iOS/">Finance.iOS</a>&nbsp;/&nbsp;<a href="https://github.com/abtsoftware/finance.android">Finance.Android</a>&nbsp;library. It's been published to the App Store and Play Store and shows you what our library can do.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can learn more about SciTrader and install the free demo app here:</p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button /--></div>
<!-- /wp:buttons -->

<!-- wp:mamaduka/bookmark-card {"url":"https://www.scitrader.io/","className":"is-style-horizontal"} -->
<figure class="wp-block-mamaduka-bookmark-card is-style-horizontal"><a class="bookmark-card" href="https://www.scitrader.io/"><div class="bookmark-card__image"><img src="https://www.scichart.com/wp-content/uploads/2021/10/scitrader-crypto-trading-app-social-header-hires.jpeg"/></div><div class="bookmark-card__content"><div class="bookmark-card__title">FREE CryptoCurrency Trading App &amp; Altcoin Heatmap - SciTrader</div><div class="bookmark-card__description">SciTrader is a FREE crypto trading app and Altcoin heatmap. Find which cryptocurrencies are moving vs. Bitcoin, ETH, USD. View interactive trading charts with technical indicators</div><div class="bookmark_card__meta"><span class="bookmark_card__meta-publisher">www.scitrader.io</span></div></div></a></figure>
<!-- /wp:mamaduka/bookmark-card -->

<!-- wp:heading -->
<h2 id="what-s-in-finance-ios-and-finance-android">What's in Finance.iOS and Finance.Android?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>Finance Charts SDK</strong>&nbsp;adds professional-grade financial &amp; stock charting capabilities for native iOS &amp; Android apps.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>It is built on top of the&nbsp;<a href="https://www.scichart.com/">SciChart</a>&nbsp;– an award-winning, high-performance chart library for iOS, Android, Windows, and JavaScript apps.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Features include...</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 id="easy-financial-stock-charting-on-ios-android">Easy Financial / Stock Charting on iOS &amp; Android</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Create a financial stock chart on iOS/Android with technical indicators in just 10 lines of code:</p>
<!-- /wp:paragraph -->

<!-- wp:scichart/code-snippet {"code":"// Swift (iOS)nfunc makeUIView(context: Context) -u003e SciFinanceChart {n    let chart = SciFinanceChart()n        n    let candleDataProvider = DefaultCandleDataProvider()n    chart.candleDataProvider = candleDataProvidern        n    fillDataProvider(candleDataProvider, with: DataManager.getCandles())n        n    chart.studies.add(PriceSeriesStudy())n    chart.studies.add(RSIStudy(pane: PaneId.uniqueId(name: u0022RSIu0022)))n        n    chart.isCursorEnabled = truen        n    return chartn}n    n// Kotlin (Android)noverride fun onCreate(savedInstanceState: Bundle?) {n    super.onCreate(savedInstanceState)nn    setContentView(R.layout.activity_main)nn    SciChartSurface.setRuntimeLicenseKey(u0022u0022)nn    val chart = findViewById(R.id.financeChart)n    val candleDataProvider = DefaultCandleDataProvider()n    chart.candleDataProvider = candleDataProvidern    fillDataProvider(candleDataProvider, DataManager.getCandles())nn    chart.studies.add(PriceSeriesStudy(PaneId.DEFAULT_PANE))    n    chart.studies.add(RSIStudy(PaneId.uniqueId(u0022RSIu0022)))n    chart.isCursorEnabled = truen}","proglang":"language-swift"} -->
<div class="wp-block-scichart-code-snippet"><pre class="line-numbers code-toolbar language-swift">// 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
}</pre></div>
<!-- /wp:scichart/code-snippet -->

<!-- wp:paragraph -->
<p>This results in the following output:</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":33196,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.scichart.com/wp-content/uploads/2022/05/FinanceLibraryOssStockCharts.jpg" alt="" class="wp-image-33196"/><figcaption>Creating iOS/Android stock chart, crypto and forex trading apps is easy with SciChart's Finance library</figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3 id="built-in-studies-technical-indicators-">Built-in Studies (Technical Indicators)</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Finance SDK contains 14 built-in studies (technical indicators), available out of the box. There is a special&nbsp;<code>PriceSeriesStudy</code>&nbsp;that displays candlesticks and volume bars. Others represent technical indicators, including:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>ADX Indicator</li><li>Bollinger Bands indicator</li><li>ATR / Average True Range</li><li>CCI / Commodity Channel Index</li><li>EMA / Exponential Moving Average</li><li>MACD / Moving Average Convergence Divergence</li><li>OBV / On Balance Volume</li><li>RSI / Relative Strength Index</li><li>SMA / Simple Moving Average</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>... plus many more. It's also possible to extend the library to add more studies &amp; technical indicators. Take a look at the &nbsp;<code>IndicatorBase</code>&nbsp;class and how this is used.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 id="multiple-chart-panes-with-pane-resizing">Multiple Chart Panes with Pane Resizing</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The Finance.iOS and Finance.Android stock chart library also supports multiple panes for technical indicators. Panes can be resized by tapping &amp; dragging the chart surface.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":33198,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://www.scichart.com/wp-content/uploads/2022/05/FinanceLibraryMultiPaneStockCharts.jpg" alt="" class="wp-image-33198"/><figcaption>Supports multi-panes for technical indicators which zoom and pan together. Panes may be resized and have a common cursor / legend across all charts.&nbsp;</figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3 id="cursors-legends-zooming-panning-pinch-zooming">Cursors, Legends, Zooming, Panning, Pinch zooming</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->


<!-- wp:video {"className":"w-max"} -->
<figure class="wp-block-video w-max"><video autoplay controls loop muted src="https://www.scichart.com/wp-content/uploads/2022/04/Interactivity-Finance-ios-android-OSS-library.mp4" playsinline></video></figure>
<!-- /wp:video -->

<!-- wp:heading {"level":3} -->
<h3 id="data-provider-and-data-manager">Data Provider and Data Manager</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>There's a detailed description in the&nbsp;<a href="https://github.com/ABTSoftware/Finance.iOS">Finance.iOS readme</a>&nbsp;and&nbsp;<a href="https://github.com/ABTSoftware/Finance.Android">Finance.Android</a>&nbsp;readme showing what DataManager is and how it works.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="try-out-the-open-source-finance-ios-finance-android-library">Try out the Open Source Finance.iOS &amp; Finance.Android library</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you are building a mobile app for trading in stocks, forex or crypto, then try out our open source&nbsp;<a href="https://github.com/ABTSoftware/Finance.iOS">Finance.iOS</a>&nbsp;and&nbsp;<a href="https://github.com/ABTSoftware/Finance.Android">Finance.Android</a>&nbsp;libraries.</p>
<!-- /wp:paragraph -->

<!-- wp:quote -->
<blockquote class="wp-block-quote"><p><strong>Demo links and links to github repos are at the top of this article.</strong></p></blockquote>
<!-- /wp:quote -->

<!-- wp:paragraph -->
<p>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.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="get-in-contact-for-more-info"><strong>Get in Contact for more info</strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>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,&nbsp;<a href="https://www.scichart.com/contact-us/">get in touch with sales</a>&nbsp;and tell us your requirements.</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>We would love to hear from you and show how we can help you get your product to market fast!</strong></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 id="about-scichart-cross-platform-charts-for-finance-trading"><strong><em>About SciChart: Cross-Platform Charts for Finance &amp; Trading</em></strong></h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><em>SciChart is a very capable <a href="https://www.scichart.com/">chart component</a>. With support for multi-platform including Windows (<a href="https://www.scichart.com/wpf-chart-features/" data-type="URL" data-id="https://www.scichart.com/wpf-chart-features/">WPF</a>, C#), native iOS &amp; Android, Mac OSX and <a href="https://www.scichart.com/javascript-chart-features/">JavaScript Charts</a> with our powerful, <a href="https://www.scichart.com/scichart-js-update-fast-realtime-javascript-charts/">fast SciChart.js component</a>, there's a myriad of applications you can create from financial, to scientific, medical and business dashboarding apps.</em></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><em>Our customers (exchanges, brokerages and banks), have used our award-winning chart software to create desktop financial &amp; 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.</em></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><em><strong>We ourselves are able to offer&nbsp;<a href="https://blog.scichart.com/expert-consultants-in-high-performance-data-visualisation/">consultancy with our experts in finance, trading apps as well as high performance data-visualisation</a></strong>. If you wish us to develop an application or consult on the best way to use SciChart then&nbsp;<a href="https://www.scichart.com/contact-us/">contact sales</a>, we would be very pleased to help!</em></p>
<!-- /wp:paragraph -->