0

我目前正在使用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();
    }

}

可能输入参数设置不正确。请告诉我我做错了什么。

4

1 回答 1

1

根据 的源代码dema()optInTimePeriod不能是0

else if( ((int)optInTimePeriod < 2) || ((int)optInTimePeriod > 100000) )
     return RetCode.BadParam ;

这就是为什么您当前的代码在调用时返回“BadParam”而不是“Success”的原因dema()

(同样的事情也适用tema()

于 2014-12-14T14:01:52.923 回答