UNPKG

react-financial-charts

Version:
50 lines 2.17 kB
import * as React from "react"; import { BarSeries } from "./BarSeries"; import { LineSeries } from "./LineSeries"; import { StraightLine } from "./StraightLine"; export class MACDSeries extends React.Component { constructor() { super(...arguments); this.yAccessorForDivergenceBase = (xScale, yScale) => { return yScale(0); }; this.yAccessorForDivergence = (d) => { const { yAccessor } = this.props; return yAccessor(d) && yAccessor(d).divergence; }; this.yAccessorForSignal = (d) => { const { yAccessor } = this.props; return yAccessor(d) && yAccessor(d).signal; }; this.yAccessorForMACD = (d) => { const { yAccessor } = this.props; return yAccessor(d) && yAccessor(d).macd; }; } render() { const { className, clip, fill = MACDSeries.defaultProps.fill, opacity, divergenceStroke, stroke = MACDSeries.defaultProps.stroke, widthRatio, width, zeroLineStroke, zeroLineOpacity, } = this.props; return (React.createElement("g", { className: className }, React.createElement(BarSeries, { baseAt: this.yAccessorForDivergenceBase, className: "macd-divergence", width: width, widthRatio: widthRatio, stroke: divergenceStroke, fill: fill.divergence, opacity: opacity, clip: clip, yAccessor: this.yAccessorForDivergence }), React.createElement(LineSeries, { yAccessor: this.yAccessorForMACD, stroke: stroke.macd }), React.createElement(LineSeries, { yAccessor: this.yAccessorForSignal, stroke: stroke.signal }), React.createElement(StraightLine, { stroke: zeroLineStroke, opacity: zeroLineOpacity, yValue: 0 }))); } } MACDSeries.defaultProps = { className: "react-financial-charts-macd-series", clip: true, divergenceStroke: false, fill: { divergence: "#4682B4", }, opacity: 0.6, stroke: { macd: "#0093FF", signal: "#D84315", }, widthRatio: 0.5, width: BarSeries.defaultProps.width, zeroLineStroke: "#000000", zeroLineOpacity: 0.3, }; //# sourceMappingURL=MACDSeries.js.map