从outputed Object获取ADX值

时间:2018-06-11 02:09:06

标签: javascript reactjs

我在这里遇到了问题。 所以,我正在制作这个机器人巫婆我需要得到一个ADX指标我使用这个库:https://github.com/anandanand84/technicalindicators/blob/master/test/directionalmovement/ADX.js

代码看起来像这样:

sess.run

变量对的定义如下:

function updateIndicators(pair, price){
  var output = {};
  pairs[pair]['maValue'] = pairs[pair]['ma'].nextValue(price[2]);
  pairs[pair]['adxValue'] = pairs[pair]['adx'].nextValue({close: price[2] , high: price[3],
    low: price[4]});

  output = pairs[pair]['adxValue'];
  console.log(output);

  findTradeOpportunity(pair, price[2]);
  pairs[pair]['prevMaValue'] = pairs[pair]['maValue']
  pairs[pair]['prevClose'] = price[2];
}

问题是,当我记录该输出时,nextValue对象根据我正在使用的库给出了我得到的结果:

  for(pair of pairsArray){
    pairs[pair]={
      ma: new SMA({period : maPeriods, values :[]}),
      maValue: 0,
      prevMaValue: 0,
      prevClose: 0,
      adx: new ADX({period: adxPeriods, close:[], high:[], low:[]}),
      adxValue: {},
      long: false,
      short: false,
      stopLossPrice: 0,
      entryAmount: 0,
      entryPrice: 0
    }
  }

这是完美的。但我想只获得adx值,我不知道如何。 我试过了:

{ adx: 34.906756996039285,
  pdi: 19.8213833578075,
  mdi: 36.373822501854036 }

但是它并不理解它,它在终端给了我这个:

console.log(output.adx)

需要一些帮助来访问此adx值。谢谢。 PS:还尝试了JSON.parse()而没有运气。

1 个答案:

答案 0 :(得分:0)

答案确实是使用

获得ADX结果
console.log(output.adx)

但首先检查它是否未定义,所以函数现在看起来像这样:

function updateIndicators(pair, price){
  var output = {};
  pairs[pair]['maValue'] = pairs[pair]['ma'].nextValue(price[2]);
  pairs[pair]['adxValue'] = pairs[pair]['adx'].nextValue({close: price[2] , high: price[3],
    low: price[4]});

  output = pairs[pair]['adxValue'];
  if(output){
    console.log(output.adx)
    findTradeOpportunity(pair, price[2]);
  }


  pairs[pair]['prevMaValue'] = pairs[pair]['maValue']
  pairs[pair]['prevClose'] = price[2];
}