股票bbi指标的算法用java实现
时间: 2023-11-27 21:49:10 浏览: 59
BBI指标是一种基于多条不同周期的移动平均线组合的技术分析指标,其计算公式如下:
BBI = (MA3 + MA6 + MA12 + MA24) / 4
其中,MA3表示3日移动平均线,MA6表示6日移动平均线,MA12表示12日移动平均线,MA24表示24日移动平均线。
下面是用Java实现BBI指标的算法代码:
```java
public class BBI {
public static double[] calculate(int[] prices) {
int n = prices.length;
double[] ma3 = new double[n];
double[] ma6 = new double[n];
double[] ma12 = new double[n];
double[] ma24 = new double[n];
double[] bbi = new double[n];
// 计算3日、6日、12日、24日移动平均线
for (int i = 0; i < n; i++) {
if (i >= 2) {
ma3[i] = (prices[i] + prices[i-1] + prices[i-2]) / 3.0;
}
if (i >= 5) {
ma6[i] = (prices[i] + prices[i-1] + prices[i-2] + prices[i-3] + prices[i-4] + prices[i-5]) / 6.0;
}
if (i >= 11) {
ma12[i] = (prices[i] + prices[i-1] + prices[i-2] + prices[i-3] + prices[i-4] + prices[i-5] + prices[i-6] + prices[i-7] + prices[i-8] + prices[i-9] + prices[i-10]) / 12.0;
}
if (i >= 23) {
ma24[i] = (prices[i] + prices[i-1] + prices[i-2] + prices[i-3] + prices[i-4] + prices[i-5] + prices[i-6] + prices[i-7] + prices[i-8] + prices[i-9] + prices[i-10] + prices[i-11] + prices[i-12] + prices[i-13] + prices[i-14] + prices[i-15] + prices[i-16] + prices[i-17] + prices[i-18] + prices[i-19] + prices[i-20] + prices[i-21] + prices[i-22]) / 24.0;
}
}
// 计算BBI指标
for (int i = 0; i < n; i++) {
bbi[i] = (ma3[i] + ma6[i] + ma12[i] + ma24[i]) / 4.0;
}
return bbi;
}
}
```
以上代码实现了BBI指标的计算,可以将股票的价格数据传入该算法中,即可得到对应的BBI指标值数组。
阅读全文