All Projects → iamjinlei → go-tachart

iamjinlei / go-tachart

Licence: MIT license
Candlestick chart generator (with event mark and TA indicator) using go-echarts

Programming Languages

go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to go-tachart

learn-crypto-trading.github.io
valuable sources for TA, FA, Algorithmic \ Quant Trading
Stars: ✭ 133 (+454.17%)
Mutual labels:  technical-analysis
vue-admin-webapp
基于vuejs+element-ui 后台管理系统
Stars: ✭ 62 (+158.33%)
Mutual labels:  echarts
TradeBot
Crypto trading bot using Binance API (Java)
Stars: ✭ 292 (+1116.67%)
Mutual labels:  technical-analysis
Customizable-Crypto-Currency-Dashboard-with-Chart
📺 A Dashboard with the price movements of the selected Cryptocurrencies 💹
Stars: ✭ 79 (+229.17%)
Mutual labels:  candlestick-chart
vscode-markdown-editor
A vscode extension to make your vscode become a full-featured WYSIWYG markdown editor
Stars: ✭ 249 (+937.5%)
Mutual labels:  echarts
echarts-map-xicheng
Echarts实现北京市西城区各街道地图demo
Stars: ✭ 50 (+108.33%)
Mutual labels:  echarts
pics-by-echarts
some pics by echarts.js
Stars: ✭ 32 (+33.33%)
Mutual labels:  echarts
techindicators
Python functions and an associated Jupyter notebook for technical analysis of stock price data. Numpy is used for calculating technical indicators. Matplotlib and mpl_finance are used for plotting data.
Stars: ✭ 31 (+29.17%)
Mutual labels:  technical-analysis
yasa
Yet Another Solr Admin
Stars: ✭ 48 (+100%)
Mutual labels:  echarts
py-investment
Extensible Algo-Trading Python Package.
Stars: ✭ 19 (-20.83%)
Mutual labels:  technical-analysis
echarts-extension-amap
🚩 An AMap (https://lbs.amap.com) extension for Apache ECharts (https://github.com/apache/echarts)
Stars: ✭ 180 (+650%)
Mutual labels:  echarts
datart
Datart is a next generation Data Visualization Open Platform
Stars: ✭ 1,042 (+4241.67%)
Mutual labels:  echarts
ngx-echarts-starter
A starter demo project for ngx-echarts
Stars: ✭ 29 (+20.83%)
Mutual labels:  echarts
jh-weapp-demo
微信小程序项目- 实现一些常用效果、封装通用组件和工具类
Stars: ✭ 60 (+150%)
Mutual labels:  echarts
vue-admin-work
🎉🎉🚀🚀🚀🚀vue-admin-work是一个中后台系统管理方案。使用 vue2.x 及周边全家桶工具开发而来。支持多种功能,不同角色权限🚀🚀🚀🎉🎉
Stars: ✭ 74 (+208.33%)
Mutual labels:  echarts
vue-echarts-v3-demo
Vue.js(v2.x+) component wrap for ECharts.js(v3.x+) demo
Stars: ✭ 52 (+116.67%)
Mutual labels:  echarts
ts-vue-questionnaire
微型问卷调查系统 TypeScript 版本,演示账号:admin / admin
Stars: ✭ 89 (+270.83%)
Mutual labels:  echarts
GithubProfile
Visualizing GitHub profile
Stars: ✭ 45 (+87.5%)
Mutual labels:  echarts
vue-echarts-map
Vue版本Echarts中国地图钻取
Stars: ✭ 113 (+370.83%)
Mutual labels:  echarts
go ehlers indicators
A collection of John Ehlers technical analysis indicators / Filters written in pure go, with links to original papers
Stars: ✭ 29 (+20.83%)
Mutual labels:  technical-analysis

go-tachart

This is a fork and extension to the beautiful go-echarts project. Some of the go-echarts code is modified to tailor to the needs of TA charts. To keep iteration simple, go-echarts code is replicated in this repo. This is still a work-in-progress. More TA chart and event types will be added to support a wide-range of use cases.

How It Looks Like

Candlestick chart with moving average overlay on top

Screen Shot 2021-06-08 at 12 05 22 PM

Candlestick chart with moving average overlay on top + additional indicators

Screen Shot 2021-06-08 at 12 04 45 PM

Usage

In this example, a simple chart is created with a few lines of code. A complete code example can be found in the example folder.

package main

import (
	"github.com/iamjinlei/go-tachart/tachart"
)

func main() {
	cdls := []tachart.Candle{
		{Label: "2018/1/24", O: 2320.26, C: 2320.26, L: 2287.3, H: 2362.94, V: 149092},
		{Label: "2018/1/25", O: 2300, C: 2291.3, L: 2288.26, H: 2308.38, V: 189092},
		{Label: "2018/1/28", O: 2295.35, C: 2346.5, L: 2295.35, H: 2346.92, V: 159034},
		{Label: "2018/1/29", O: 2347.22, C: 2358.98, L: 2337.35, H: 2363.8, V: 249910},
		{Label: "2018/1/30", O: 2360.75, C: 2382.48, L: 2347.89, H: 2383.76, V: 119910},
		{Label: "2018/1/31", O: 2383.43, C: 2385.42, L: 2371.23, H: 2391.82, V: 89940},
                    ... // To fill more data
		{Label: "2018/6/13", O: 2190.1, C: 2148.35, L: 2126.22, H: 2190.1, V: 239510},
	}

	events := []tachart.Event{
		{
			Type:        tachart.Short,
			Label:       cdls[40].Label,
			Description: "This is a demo event description. Randomly pick this candle to go short on " + cdls[40].Label,
		},
	}

	cfg := tachart.NewConfig().
		SetWidth(1080).
		SetHeight(800).
		AddOverlay(
			tachart.NewSMA(5),
			tachart.NewSMA(20),
		).
		AddIndicator(
			tachart.NewMACD(12, 26, 9),
		).
		UseRepoAssets() // serving assets file from current repo, avoid network access

	c := tachart.New(*cfg)
	c.GenStatic(cdls, events, "/Volumes/tmpfs/tmp/kline.html")
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].