如何解释TALIB结果数组?(技术分析库)

2024-04-25 01:20:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个金融技术分析算法与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长度)。在

谢谢


Tags: nodecloseexecutevarfunction数组result技术
1条回答
网友
1楼 · 发布于 2024-04-25 01:20:17

你最好读official c++ docs 简而言之,结果数组的大小总是相同或小于输入数组。比如说,5天平均值就更少了。如果你把它应用到60天的输入数据中,你只得到56个结果。因为5天平均值需要计算5个值,而前4天是未定义的。所以结果数组包含与最后一个n输入值相对应的数据,其中n <= input array size取决于所应用的指示符。在

相关问题 更多 >