node.js - nodejs talib MACD

标签 node.js finance google-finance ta-lib

我正在使用 talib用于计算 MACD 的技术分析库。
我使用了 AAPL计算 MACD(8, 17, 9) 的数据,但 talib 值与 Google 和 Yahoo finance 完全不同。
这是我的 javascript(我复制了自 2015-08-21 以来的最后一个 AAPL 收盘数据):

var talib = require('./node_modules/talib/build/Release/talib');
var marketData = { open: [], close: [106.2199999999999989,
 112.6500000000000057,
 115.0100000000000051,
 116.5000000000000000,
 117.1599999999999966,
 116,
 115.1500000000000057,
 115.2399999999999949,
 113.5498999999999938,
 119.6901000000000010,
 115.5199999999999960,
 115.1700000000000017,
 115.4000000000000057,
 114.6400000000000006,
 118.4350000000000023,
 121.4599999999999937,
 122.3700000000000045,
 122.9899999999999949,
 123.3199999999999932,
 122.8900000000000006,
 124.4800000000000040,
 125.1599999999999966,
 125.2199999999999989,
 130.7500000000000000,
 132.0699999999999932],high: [], low: [], volume: [] };
 talib.execute({
    name: "MACD",
    startIdx: 0,
    endIdx: marketData.close.length - 1,
    inReal: marketData.close,
    optInFastPeriod: 8,
    optInSlowPeriod: 17,
    optInSignalPeriod: 9
}, function (result) {
   console.log(result);
});

雅虎和谷歌财经2005-08-21的MACD值为-2.73,talib值为3.83,更多数据MACD差异很大。我做错了什么?
我还注意到 talib SMA 和 EMA 给出了相同的结果。
顺便说一句,在谷歌图表中反转 MACD 慢周期和快周期,不会改变图表......雅虎

最佳答案

也许你可以使用 talib-binding为此,我昨天写了它。代码如下:

import * as talib from 'talib-binding'
talib.MACD([106.2199999999999989,
    112.6500000000000057,
    115.0100000000000051,
    116.5000000000000000,
    117.1599999999999966,
    116,
    115.1500000000000057,
    115.2399999999999949,
    113.5498999999999938,
    119.6901000000000010,
    115.5199999999999960,
    115.1700000000000017,
    115.4000000000000057,
    114.6400000000000006,
    118.4350000000000023,
    121.4599999999999937,
    122.3700000000000045,
    122.9899999999999949,
    123.3199999999999932,
    122.8900000000000006,
    124.4800000000000040,
    125.1599999999999966,
    125.2199999999999989,
    130.7500000000000000,
    132.0699999999999932], 8, 17, 9)

结果是:

[ [ 3.8371737131517705 ],
    [ 2.7731844591512465 ],
    [ 1.063989254000524 ] ]

关于node.js - nodejs talib MACD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32169322/

相关文章:

r - 在 quantmod::chart_Series() 中使用 xlim/ylim 或 xrange/yrange 覆盖 y-scale 和 x-scale - 不可能?

r - quantmod::chart_Series() 错误?

algorithm - 如果你知道一只股票的 future 价格,什么时候买卖最好?

php - 有没有简单的方法来检索 Google 财经数据?

google-finance - 使用谷歌URL获取期权链数据的指南?

node.js - 使用 NPM 安装包时,你能告诉它使用其依赖项之一的不同版本吗?

javascript - 为什么 HTTPs Node 库中的回调被调用两次?如何预防呢?

node.js - 如何通过 NodeJS 在文件中一位一位地写入和读取?

node.js - Mongoose 使用 presave 中间件推送到数组

java - 如何使用 Google Finance API 获取股票报价?