I'm trying to get a code to work to calcualte average true range. So in the spreadsheet side I have =getATR(GoogleFinance("stock", ʺallʺ, today()-60,today()))
And the code for the app is below. However I keep getting this TypeError: cannot set property "0.0" of undefined to "7.1". The line with the problem is the first instance where trurange[i][0] is called.
Appreciate your help with this, seems something silly on the syntax side.
function getATR(arr) {
var atr = 0;
var truerange = [];
var i=39;
for (var row = arr.length-1; row >= arr.length-40; row--) {
truerange[i][0] = arr[row][3] - arr[row][4];
truerange[i][1] = Math.abs( arr[row][3] - arr[row-1][2] );
truerange[i][2] = Math.abs( arr[row][4] - arr[row-1][2] );
truerange[i][3]= Math.max(truerange[i][0],truerange[i][1],truerange[i][2]);
i=i-1;
}
for(var row2 = 1; row2<40; row2++){
truerange[row2][4] = (truerange[row2-1][4]*13+truerange[row2][3])/14;
if(row2=39) {atr = truerange[row2][4]}
}
return atr;
}
Browser: ie9 Operating System: win7 Drive on the Web / Drive for desktop: Web