背景

侵删
炒股和不炒股的对上边的图都不会感到陌生吧,kdj,macd等对炒股具有一定帮助。未来很难判断,但可以基于历史数据,通过相关算法来描绘趋势,帮助炒股者进行判断。kdj,macd等算法原理作用大家已经熟知,那么代码怎么实现呢?
最笨的方法自己写,但也可以使用第三方工具,这篇文章来说说talib。
官网:https://ta-lib.org/

侵删
使用
Maven引入talib
<dependency>
<groupId>com.tictactec</groupId>
<artifactId>ta-lib</artifactId>
<version>0.4.0</version>
</dependency>
编写工具类
/**
* 计算rsi
* create by ly on 2024/1/31
* @param [list, period]
* @return
*/
public static double[] getRSI(double[] list,int period){
//double[] output = new double[list.length - period];
double[] output = new double[0];
if(list.length>period){
output = new double[list.length-period];
Core core = new Core();
RetCode code = core.rsi(0, list.length-1, list, period, new MInteger(), new MInteger(),output);
if (code == RetCode.Success) {
output = Arrays.stream(output)
.map(e -> new BigDecimal(e)
.setScale(3, BigDecimal.ROUND_DOWN).doubleValue())
.toArray();
}
}
return output;
}
测试:
@Test
public void test33(){
double[] doubles = new double[10];
doubles[0] = 12.9;
doubles[1] = 32.9;
doubles[2] = 12.92;
doubles[3] = 76.98;
doubles[4] = 6.4;
double[] rsi = IndexDataServiceImpl.getRSI(doubles, 3);
for (double v : rsi) {
System.out.println(v);
}
}

还有很多其他算法,大家可以自行使用。希望大家多多点赞支持,每一个点赞评论转发都是我创作的动力。