我正在开发一个金融技术分析算法与node talib,一个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,
(...) ]
}
结果是一个float数组(总是小于marketdata.open/close/min/max长度)。在
谢谢
你最好读official c++ docs 简而言之,结果数组的大小总是相同或小于输入数组。比如说,5天平均值就更少了。如果你把它应用到60天的输入数据中,你只得到56个结果。因为5天平均值需要计算5个值,而前4天是未定义的。所以结果数组包含与最后一个
n
输入值相对应的数据,其中n <= input array size
取决于所应用的指示符。在相关问题 更多 >
编程相关推荐