java 使用 talib 计算移动平均线 , SMA计算
1.网上大部分教程基本都是基于python对talib函数的使用 , 因为pandas在python编程是比java更直观,但是也免不了有人用Java实现.
SMA 是 Single Moving Average缩写, 也就是移动平均线 , 当然 , ta-lib也有几百个其它函数, 诸如macd , 基本上都是传入 数组 .很相似 .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import com.tictactec.ta.lib.Core; import com.tictactec.ta.lib.MInteger; import com.tictactec.ta.lib.RetCode; public class SimpleMovingAverageExample { /** * The total number of periods to generate data for. */ public static final int TOTAL_PERIODS = 100 ; //1 .数组长度100 /** * The number of periods to average together. */ public static final int PERIODS_AVERAGE = 30 ; //2. MA移动周期窗口,这里30代表30日均线 public static void main(String[] args) { double [] closePrice = new double [TOTAL_PERIODS]; double [] out = new double [TOTAL_PERIODS]; MInteger begin = new MInteger(); MInteger length = new MInteger(); for ( int i = 0 ; i < closePrice.length; i++) { //3. 这里是将0-99共100个自然数赋予到测试数组中,实际情况可外部传入数据 , closePrice[i] = ( double ) i; //closePrice[100] 就是用作存放测试数组 } Core c = new Core(); //下面这个是获取Core实例执行sma(移动平均线)函数 , 一共7个参数 , 这里可以不用管, 因为前面已经定义了 RetCode retCode = c.sma( 0 , closePrice.length - 1 , closePrice, PERIODS_AVERAGE, begin, length, out); //说明,第一个是开始下标,结束的下标, 外界输入的数组样本 , 然后是移动平均周期 , 接着是有效数据开始于 , 有效数据长度 ,输出的样本数组 //注意, 结果存放在out数组中, 但是有效数字是从begin.value开始的, 也就是前几个数字, 是无效, 所以循环并不是从index 0开始 if (retCode == RetCode.Success) { System.out.println( "Output Start Period: " + begin.value); System.out.println( "Output End Period: " + (begin.value + length.value - 1 )); for ( int i = begin.value; i < begin.value + length.value; i++) { StringBuilder line = new StringBuilder(); line.append( "Period #" ); line.append(i); line.append( " close=" ); line.append(closePrice[i]); line.append( " mov_avg=" ); line.append(out[i - begin.value]); System.out.println(line.toString()); } } else { System.out.println( "Error" ); } } } |
参考 https://github.com/ishanthilina/TA-Lib-Java-Examples
ta-lib的jar包下载地址: https://alpha7.lanzouu.com/iPuxH04etg8h
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2020-05-07 TDengine 基本操作