我目前正在使用Ta-lib Java实现。我可以正常运行MA和SUM。但是在尝试运行DEMA,TEMA时遇到问题。输出为全零。
我正在调用Ta-lib的DEMA和TEMA方法,如下所示
import com.tictactec.ta.lib.Core;
import com.tictactec.ta.lib.MInteger;
public class TALibJava {
double[] array = {207.650, 205.160, 210.870, 209.350, 207.250, 209.960, 207.650, 205.160, 188.170, 186.020};
double[] output = new double[array.length];
int period = 5;
Core core = new Core();
int lookback = 0;
MInteger begin = new MInteger();
MInteger length = new MInteger();
public void callDEMA() {
lookback = core.demaLookback(period);
core.dema(0, array.length - 1, array, 0, begin, length, output);
System.out.println("DEMA Output: ");
print();
}
public void callTEMA() {
lookback = core.temaLookback(period);
core.tema(0, array.length - 1, array, 0, begin, length, output);
System.out.println("TEMA Output: ");
print();
}
public void print() {
for(int i=0;i<array.length;i++) {
System.out.print(output[i] + "\t ");
}
System.out.println("");
}
public static void main(String args[]) {
TALibJava obj = new TALibJava();
obj.callDEMA();
obj.callTEMA();
}
}
输入参数可能未正确设置。请告诉我我在做什么错。
最佳答案
根据source code of dema()
,optInTimePeriod
不能为0
:
else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) )
return RetCode.BadParam ;
这就是为什么当您调用
dema()
时,当前代码返回“ BadParam”而不是“成功”的原因。(
tema()
也是如此)关于java - DEMA和TEMA Ta-lib Java实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27467667/