来自ta-lib的错误数据

时间:2019-03-15 13:58:19

标签: c++ ta-lib

我正在尝试在TA-lib中使用TA_HT_ *系列功能。我一直注意到一个很奇怪的事情:根据我要问的输出数量,我得到了指向相同输入的不同值。让我解释一下:

std::vector<double> results(prices.size());
std::vector<double> leadResults(prices.size());
int outBeg;
int outNbElement;
assert(prices.size() > TA_HT_SINE_Lookback());
TA_HT_SINE(0, prices.size() - 1, prices.data(), &outBeg, &outNbElement, results.data(), leadResults.data());
assert(outNbElement >= 1);
auto lastSine = results[outNbElement - 1];

(结果包含0.00143562,-0.0118441,...,-0.318535,-0.278893)产生的结果(lastSine)与

std::array<double, 2> results;
std::array<double, 2> leadResults;
int outBeg;
int outNbElement;
assert(prices.size() > TA_HT_SINE_Lookback() + 1);
TA_HT_SINE(prices.size() - 2, prices.size() - 1, prices.data(), &outBeg, &outNbElement, results.data(), leadResults.data());
assert(outNbElement == 2);
auto lastSine = results[1];

(数组包含:-0.300364,-0.264885),其产生的结果(lastSine)与

double lastSine;
double lastLeadSine;
int outBeg;
int outNbElement;
assert(prices.size() > TA_TH_SINE_Lookback());
TA_HT_SINE(prices.size() - 1, prices.size() - 1, prices.data(), &outBeg, &outNbElement, &lastSine, &lastLeadSine);
assert(outNbElement == 1);

(这里lastSine是-0.238856)为什么呢?是我的代码还是TA库中的错误?我期望的是,我一直在计算与最后价格有关的价值。我相信我正在按照the docs中所述驾驶图书馆。

0 个答案:

没有答案