我正在使用TALIB(技术分析库)的包装器node-talib开发财务技术分析算法。
给出一个400个头寸的marketdata数组,我执行一个ADX,我得到一个384个阵列的数组。这是什么意思?该数组代表什么?
我添加了一个代码示例:
const talib = require("node-talib")
// Load market data
var marketContents = fs.readFileSync('examples/marketdata.json','utf8');
var marketData = JSON.parse(marketContents);
// execute ADX indicator function with time period 9
talib.execute({
name: "ADX",
startIdx: 0,
endIdx: marketData.close.length - 1,
high: marketData.high,
low: marketData.low,
close: marketData.close,
optInTimePeriod: 9
}, function (err, result) {
// Show the result array
console.log("ADX Function Results:");
console.log(result);
});
where marketdata is an object of arrays like this:
{
"open": [
448.36,
448.45,
447.49,
(...) ],
"close": [
448.36,
448.45,
447.49,
(...) ],
"min": [
448.36,
448.45,
447.49,
(...) ],
"max": [
448.36,
448.45,
447.49,
(...) ],
"volume": [
448.36,
448.45,
447.49,
(...) ]
}
结果是一系列浮点数(总是小于marketdata.open/close/min/max长度)。
由于
答案 0 :(得分:2)
你最好阅读official c++ docs
简而言之,结果数组总是与输入数组相同或更小。例如,5天平均值较少。如果您将其应用于60天输入数据,您将只获得56个结果。因为5天平均值需要计算5个值,并且前4天它未定义。因此,结果数组包含与n
输入值相对应的数据,其中n <= input array size
取决于您应用的指标。