ct-react-stockcharts
Version:
Highly customizable stock charts with ReactJS and d3
49 lines (33 loc) • 1.65 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
exports.default = function () {
var base = (0, _baseIndicator2.default)().type(ALGORITHM_TYPE).accessor(function (d) {
return d.ha;
});
var underlyingAlgorithm = (0, _calculator.heikinAshi)();
var mergedAlgorithm = (0, _utils.merge)().algorithm(underlyingAlgorithm).merge(function (datum, indicator) {
return _extends({}, datum, indicator);
});
var indicator = function indicator(data) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { merge: true };
if (options.merge) {
if (!base.accessor()) throw new Error("Set an accessor to " + ALGORITHM_TYPE + " before calculating");
return mergedAlgorithm(data);
}
return underlyingAlgorithm(data);
};
(0, _utils.rebind)(indicator, base, "accessor", "stroke", "fill", "echo", "type");
// rebind(indicator, underlyingAlgorithm, "windowSize", "source");
(0, _utils.rebind)(indicator, mergedAlgorithm, "merge");
return indicator;
};
var _calculator = require("../calculator");
var _baseIndicator = require("./baseIndicator");
var _baseIndicator2 = _interopRequireDefault(_baseIndicator);
var _utils = require("../utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ALGORITHM_TYPE = "HeikinAshi";
//# sourceMappingURL=heikinAshi.js.map
;