jfreeChart求均线的方法里跳过了休市/停牌日,复杂且不对,跟同花顺等有明显差别。我要的就是直接把source里的数据求移动平均。直接上代码:
```
public static TimeSeries createMovingAverage(TimeSeries source,
String name, int periodCount, int skip) {
Args.nullNotPermitted(source, "source");
if (periodCount < 1) {
throw new IllegalArgumentException("periodCount must be greater "
+ "than or equal to 1.");
}
TimeSeries result = new TimeSeries(name);
if (source.getItemCount() > skip) {
for (int i = source.getItemCount() - 1; i >= periodCount; i--) {
// get the current data item...
RegularTimePeriod period = source.getTimePeriod(i);
// work out the average for the earlier values...
double sum = 0.0;
int offset = 0;
while (offset < periodCount) {
TimeSeriesDataItem item = source.getDataItem(
i - offset);
RegularTimePeriod p = item.getPeriod();
Number v = item.getValue();
if (v != null) {
sum = sum + v.doubleValue();
}
offset = offset + 1;
}
result.add(period, sum / periodCount);
}
}
return result;
}
}
```