/* istanbul ignore next */
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
define(["require", "exports", "./indicator-base"], function (require, exports, indicator_base_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var AccumulationDistributionIndicator = (function (_super) {
__extends(AccumulationDistributionIndicator, _super);
function AccumulationDistributionIndicator() {
return _super !== null && _super.apply(this, arguments) || this;
}
AccumulationDistributionIndicator.prototype.initDataSource = function (indicator) {
var adPoints = [];
var validData = indicator.points;
if (validData.length > 0 && validData.length > indicator.period) {
adPoints = this.calculateADPoints(indicator, validData);
}
this.setSeriesRange(adPoints, indicator);
};
AccumulationDistributionIndicator.prototype.calculateADPoints = function (indicator, validData) {
var temp = [];
var sum = 0;
var i = 0;
var value = 0;
var high = 0;
var low = 0;
var close = 0;
var signalSeries = indicator.targetSeries[0];
for (i = 0; i < validData.length; i++) {
high = Number(validData[i].high);
low = Number(validData[i].low);
close = Number(validData[i].close);
value = ((close - low) - (high - close)) / ((high - low) ? (high - low) : 1);
sum = sum + value * Number(validData[i].volume);
temp[i] = this.getDataPoint(validData[i].x, sum, validData[i], signalSeries, temp.length);
}
return temp;
};
AccumulationDistributionIndicator.prototype.destroy = function () {
};
AccumulationDistributionIndicator.prototype.getModuleName = function () {
return 'AccumulationDistributionIndicator';
};
return AccumulationDistributionIndicator;
}(indicator_base_1.TechnicalAnalysis));
exports.AccumulationDistributionIndicator = AccumulationDistributionIndicator;
});
|