股票macd指标java,股票K线指标算法整理(Java封装工具类)

本文介绍了一个Java工具类库,用于计算股票技术分析指标,包括MACD、KDJ、BOLL等。提供了详细的使用方法和核心源码,适用于MPAndroidChart等图表库。
摘要由CSDN通过智能技术生成

工具类下载地址:

https://download.csdn.net/download/qq_28844947/11088865

可查看应用效果之一:https://www.coinsmt.com/fullScreen/huobipro_btc_usdt

目前是java实现  使用在MPAndroid上面,其他语言和图表工具类比过去,可以然后将X,Y赋值过去

使用需知 chart_base_entity所有的类是你选用图表时候对应的数据 需要去掉目前支持如下指标(多周期,及其他算法参数)

EMA

BOLL

CCI

DMI

KDJ

MACD

OBV

RSI

SAR

VOL

WR

已封装为工具类可按如下调用

使用方法 //注意事项

// 使用需知 chart_base_entity所有的类是你选用图表时候对应的数据 需要去掉

//现在为了和图表隔离 提供单纯的算法工具类 所以才提供了临时的Entry Candle BarEntry等

ChartDataCalculateUtils calculateUtils = new ChartDataCalculateUtils("你的数据List你根据你实际使用的图表进行替换");

//部分指标需要选择周期 如EMA7 EMA10

Listperiods = Arrays.asList(7, 10);

calculateUtils.getEMA()

calculateUtils.getBollData()

calculateUtils.getCCI()

calculateUtils.getDMI()

calculateUtils.getKDJ()

calculateUtils.getMACD()

calculateUtils.getOBV()

calculateUtils.getRSI()

calculateUtils.getSARLineDatas()

calculateUtils.getVol()

calculateUtils.getWR()

核心源码 package com.beidd.lib.chart_data_utils;

import com.beidd.lib.chart_data_utils.chart_base_entity.BarEntry;

import com.beidd.lib.chart_data_utils.entity.BollEntity;

import com.beidd.lib.chart_data_utils.entity.CCIEntity;

import com.beidd.lib.chart_data_utils.chart_base_entity.Candle;

import com.beidd.lib.chart_data_utils.entity.DMIEntity;

import com.beidd.lib.chart_data_utils.entity.EMAEntity;

import com.beidd.lib.chart_data_utils.chart_base_entity.Entry;

import com.beidd.lib.chart_data_utils.entity.EntryType;

import com.beidd.lib.chart_data_utils.entity.ICandle;

import com.beidd.lib.chart_data_utils.entity.KDJEntity;

import com.beidd.lib.chart_data_utils.entity.MACDEntity;

import com.beidd.lib.chart_data_utils.entity.OBVEntity;

import com.beidd.lib.chart_data_utils.entity.RSIEntity;

import com.beidd.lib.chart_data_utils.entity.VolEntity;

import com.beidd.lib.chart_data_utils.entity.WREntity;

import java.util.ArrayList;

import java.util.List;

/**

* Created by Rex on 2018/11/12.

* 只负责计算指标 可选周期

*/

public class ChartDataCalculateUtils {

private ListoriginData;

public ChartDataCalculateUtils(ListoriginData) {

this.originData = originData;

}

public ListgetSARLineDatas(float step, float maxStep, int period, int index) {

ListiCandles = changeCandleToICandle(originData);

NewSarUtils.prepareDataForSARFromIndex(step, maxStep, period, index, iCandles);

Listsars = new ArrayList<>();

for (int i = 0; i < iCandles.size(); i++) {

float sar = iCandles.get(i).sar;

sars.add(new Entry(i, sar, originData.get(i)));

}

return sars;

}

/**

* @param T boll T 一般默认为20

* @param K boll K 一般默认为2

* @return

*/

public BollEntity getBollData(int T, int K) {

if (originData == null || originData.size() == 0) {

return null;

}

if (T < 1 || K < 1) {

return null;

}

if (originData == null || originData.isEmpty()) {

return null;

}

if (T > originData.size()) {

return null;

}

//存储上轨数据

ArrayListzhongList = new ArrayList();

//存储中轨数据

ArrayListshangList = new ArrayList();

//存储下轨数据

ArrayListxiaList = new ArrayList();

//上轨

Entry shangEntity;

//中轨

Entry zhongEntity;</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值