All Projects → xiesuichao → Klineview

xiesuichao / Klineview

Android股票走势图K线控件

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Klineview

QT StockFigure
QT显示股票分时线
Stars: ✭ 16 (-92.86%)
Mutual labels:  kline
Klinechart
Android仿火币K线图实现(包含MA,BOLL,MACD,KDJ,RSI,WR指标)
Stars: ✭ 620 (+176.79%)
Mutual labels:  kline
Hqchart
HQChart - H5, 微信小程序 沪深/港股/数字货币/期货/美股 K线图(kline),走势图,缩放,拖拽,十字光标,画图工具,截图,筹码图. 分析家语法,通达信语法,(麦语法),第3方数据替换接口
Stars: ✭ 1,126 (+402.68%)
Mutual labels:  kline
DepthChart
深度图
Stars: ✭ 28 (-87.5%)
Mutual labels:  kline
Chklinechart
纯Swift4.0代码编写的K线图表组件,支持:MA,EMA,BOLL,SAR,KDJ,MACD等技术指标显示。集成使用简单,二次开发扩展强大
Stars: ✭ 409 (+82.59%)
Mutual labels:  kline
Ggcharts
可以高度自定义的图表框架。柱状图、折线图、雷达图、饼图、K线图、分时图。
Stars: ✭ 713 (+218.3%)
Mutual labels:  kline
StockView
股票相关控件(分时图、五日分时图、自选股迷你分时图、资金趋势图、盈亏额/盈亏率)- (曲线图、折线图)
Stars: ✭ 87 (-61.16%)
Mutual labels:  kline
Yykline
iOS YYKline:Kline、Chart、Volume、Scroll、Scale、MACD、KDJ、K线图、分时图...
Stars: ✭ 2,318 (+934.82%)
Mutual labels:  kline
Android Kline
Android版K线图和分时图
Stars: ✭ 597 (+166.52%)
Mutual labels:  kline
Kschart
k线图/kline/kchart,已经集成MA/EMA/MACD/KDJ/BOLL/RSI/WR/AVG等指标,新增指标及其方便。适用于股票/区块链交易所等种类App。Swift5编写,CPU/内存占用率极低,60FPS稳定运行。示例集成websocket,并接入币安数据(需VPN)。
Stars: ✭ 909 (+305.8%)
Mutual labels:  kline
Klinechart
📈Lightweight k-line chart that can be highly customized. Zero dependencies. Support mobile.(可高度自定义的轻量级k线图,无第三方依赖,支持移动端)
Stars: ✭ 303 (+35.27%)
Mutual labels:  kline
Okklineswift
Draw the K-Line by Swift, support iOS & macOS
Stars: ✭ 406 (+81.25%)
Mutual labels:  kline
Kline
区块链交易所K线
Stars: ✭ 24 (-89.29%)
Mutual labels:  kline
StockChart
StockChart是一款适用于Android的高扩展性、高性能股票图开发库,轻松完成各种子图的组合,还能灵活的定制自己的子图满足复杂的业务需求。
Stars: ✭ 62 (-72.32%)
Mutual labels:  kline
Flutter Candlesticks
Flutter candlesticks package
Stars: ✭ 88 (-60.71%)
Mutual labels:  kline
k-line
股票、虚拟币交易k线图
Stars: ✭ 32 (-85.71%)
Mutual labels:  kline
Kline
一个 javascript K线插件. A K line library written in javascript.
Stars: ✭ 702 (+213.39%)
Mutual labels:  kline
Klinechart
An Easy-to-Use and Perfect K-Line Library,简单易用K线,CandleStick,Kchart,CandleLine,Kline(虚拟币,股票,基金,外汇),指标线(MACD,WR,KDJ,RSI,EMA),ChartView
Stars: ✭ 200 (-10.71%)
Mutual labels:  kline
Vue Kline
基于Vue的K线图组件. A K line library written in vue.js.
Stars: ✭ 111 (-50.45%)
Mutual labels:  kline
Kchartview
KChart for Android ;股票k线图
Stars: ✭ 864 (+285.71%)
Mutual labels:  kline

KLineView

股票走势图K线控件

主图指标:MA, EMA, BOLL
副图指标:MACD, KDJ, RSI
根目录下有个apk文件夹,内有最新的测试包,可以先安装看效果
新增深度图控件,如下图所示,详情见demo

支持实时刷新最后一条数据。
支持添加最新的单条数据。
支持滑动时的分页加载更多数据。
支持惯性滑动。
支持多指触控缩放。
支持长按拖动。
支持横屏显示
支持xml布局自定义颜色,字体大小属性

已对性能做优化,总数据量十万条以上对用户体验没有影响。
首次加载5000条数据,页面初始化到加载完成,总共耗时400+ms,不超过0.5秒。
分页加载5000条数据时,如果正在滑动过程中,添加数据的那一瞬间会稍微有一下卡顿,影响不大。
经测试,800块的华为荣耀6A 每次添加4000条以下数据不会有卡顿,很流畅。
建议每次添加数据在2000条左右。
已对滑动事件冲突做处理,可上下滑动的父类(ScrollView、NestedScrollView等)无需再考虑滑动冲突

image image image image

1.K线控件:

//初始化控件加载数据(仅作初始化用,数据重置请调用resetDataList)
mKLineView.initKDataList(getKDataList(5));

//设置十字线移动模式,默认为0:固定指向收盘价
mKLineView.setCrossHairMoveMode(KLineView.CROSS_HAIR_MOVE_FREE);
            
//分页加载时添加多条数据
mKLineView.addDataList(getKDataList(5));
            
//实时刷新时添加单条数据
mKLineView.addData(getKDataList(0.1).get(0));

@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.btn_kline_reset:
            //重置数据,可用于分时加载,是否需要定位到重置前的时间点请看方法注释
            //在做分时功能重新加载数据的时候,请务必调用该方法
            mKLineView.resetDataList(getKDataList(0.1));
            break;

        case R.id.btn_deputy:
            //是否显示副图
            mKLineView.setDeputyPicShow(!mKLineView.getVicePicShow());
            break;

        case R.id.btn_ma:
            //主图展示MA
            mKLineView.setMainImgType(KLineView.MAIN_IMG_MA);
            break;

        case R.id.btn_ema:
            //主图展示EMA
            mKLineView.setMainImgType(KLineView.MAIN_IMG_EMA);
            break;

        case R.id.btn_boll:
            //主图展示BOLL
            mKLineView.setMainImgType(KLineView.MAIN_IMG_BOLL);
            break;

        case R.id.btn_macd:
            //副图展示MACD
            mKLineView.setDeputyImgType(KLineView.DEPUTY_IMG_MACD);
            break;

        case R.id.btn_kdj:
            //副图展示KDJ
            mKLineView.setDeputyImgType(KLineView.DEPUTY_IMG_KDJ);
            break;

        case R.id.btn_rsi:
            //副图展示RSI
            mKLineView.setDeputyImgType(KLineView.DEPUTY_IMG_RSI);
            break;

        case R.id.btn_depth_activity:
            //跳转到深度图页面
            startActivity(new Intent(getApplicationContext(), DepthActivity.class));
            break;
    }
}

/**
 * 当控件显示数据属于总数据量的前三分之一时,会自动调用该接口,用于预加载数据,保证控件操作过程中的流畅性,
 * 虽然做了预加载,当总数据量较小时,也会出现用户滑到左边界了,但数据还未获取到,依然会有停顿。
 * 所以数据量越大,越不会出现停顿,也就越流畅
 */
mKLineView.setOnRequestDataListListener(new KLineView.OnRequestDataListListener() {
    @Override
    public void requestData() {
        //请求数据
    }
});

2.深度图控件:

//添加购买数据
depthView.setBuyDataList(getBuyDepthList());

//添加出售数据
depthView.setSellDataList(getSellDepthList());

//重置深度数据
depthView.resetAllData(getBuyDepthList(), getSellDepthList());

//设置横坐标中间值
depthView.setAbscissaCenterPrice(10.265);

//设置数据详情的价钱说明
depthView.setDetailPriceTitle("价格(BTC):");

//设置数据详情的数量说明
depthView.setDetailVolumeTitle("累积交易量:");

//设置横坐标价钱小数位精度
depthView.setPricePrecision(4);

//是否显示竖线
depthView.setShowDetailLine(true);

//手指单击松开后,数据是否继续显示
depthView.setShowDetailSingleClick(true);

//手指长按松开后,数据是否继续显示
depthView.setShowDetailLongPress(true);
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].