UNPKG

igniteui-react-charts

Version:

Ignite UI React charting components for building rich data visualizations using TypeScript APIs.

195 lines (194 loc) 5.31 kB
import { IgrStrategyBasedIndicator } from "./igr-strategy-based-indicator"; import { BollingerBandWidthIndicator } from "./BollingerBandWidthIndicator"; /** * Represents a IgxDataChartComponent Bollinger Bandwidth indicator series. * Represents the normalized width of the Bollinger bands for each provided value. * For more info see: * BollingerBandsOverlay * Default required members: High, Low, Close * * You can use the `BollingerBandWidthIndicator` to represents a IgxDataChartComponent Bollinger Bandwidth indicator series. * * ```ts * <IgrDataChart * dataSource={this.state.dataSource} * width="700px" * height="500px"> * * * <IgrCategoryXAxis name="xAxis" label="Date" /> * <IgrNumericYAxis name="yAxis" /> * * * <IgrFinancialPriceSeries * name="series2" * xAxisName="xAxis" * yAxisName="yAxis" * displayType="Candlestick" * lowMemberPath="Low" * highMemberPath="High" * openMemberPath="Open" * closeMemberPath="Close" * volumeMemberPath="Volume" /> * * <IgrBollingerBandsOverlay * name="series1" * xAxisName="xAxis" * yAxisName="yAxis" * lowMemberPath="Low" * highMemberPath="High" * openMemberPath="Open" * closeMemberPath="Close" * volumeMemberPath="Volume" /> * * <IgrBollingerBandWidthIndicator * name="series3" * xAxisName="xAxis" * yAxisName="yAxis" * displayType="Line" * lowMemberPath="Low" * highMemberPath="High" * openMemberPath="Open" * closeMemberPath="Close" * volumeMemberPath="Volume" /> * </IgrDataChart> * ``` */ export class IgrBollingerBandWidthIndicator extends IgrStrategyBasedIndicator { createImplementation() { return new BollingerBandWidthIndicator(); } /** * @hidden */ get i() { return this._implementation; } constructor(props) { super(props); } /** * Gets or sets the moving average period for the Bollinger Band Width Indicator. * The typical, and initial, value for CCI periods is 20. * * You can use the `Period` to set the moving average. * * ```ts * <IgrDataChart * dataSource={this.state.dataSource} * width="700px" * height="500px"> * * * <IgrCategoryXAxis name="xAxis" label="Date" /> * <IgrNumericYAxis name="yAxis" /> * * * <IgrFinancialPriceSeries * name="series2" * xAxisName="xAxis" * yAxisName="yAxis" * displayType="Candlestick" * lowMemberPath="Low" * highMemberPath="High" * openMemberPath="Open" * closeMemberPath="Close" * volumeMemberPath="Volume" /> * * <IgrBollingerBandsOverlay * name="series1" * xAxisName="xAxis" * yAxisName="yAxis" * lowMemberPath="Low" * highMemberPath="High" * openMemberPath="Open" * closeMemberPath="Close" * volumeMemberPath="Volume" /> * * <IgrBollingerBandWidthIndicator * name="series3" * xAxisName="xAxis" * yAxisName="yAxis" * displayType="Line" * lowMemberPath="Low" * highMemberPath="High" * openMemberPath="Open" * closeMemberPath="Close" * volumeMemberPath="Volume" * period= {14} /> * </IgrDataChart> * ``` * * ```ts * this.series.period = 14; * ``` */ get period() { return this.i.acm; } set period(v) { this.i.acm = +v; } /** * Gets or sets the multiplier for the Bollinger Band width. * The typical, and initial, value for Bollinger Band width multiplier is 2. * * Use the `Multiplier` property for the Bollinger Band width. The typical, and initial, value for Bollinger Band width multiplier is 2. * * ```ts * <IgrDataChart * dataSource={this.state.dataSource} * width="700px" * height="500px"> * * * <IgrCategoryXAxis name="xAxis" label="Date" /> * <IgrNumericYAxis name="yAxis" /> * * * <IgrFinancialPriceSeries * name="series2" * xAxisName="xAxis" * yAxisName="yAxis" * displayType="Candlestick" * lowMemberPath="Low" * highMemberPath="High" * openMemberPath="Open" * closeMemberPath="Close" * volumeMemberPath="Volume" /> * * <IgrBollingerBandsOverlay * name="series1" * xAxisName="xAxis" * yAxisName="yAxis" * lowMemberPath="Low" * highMemberPath="High" * openMemberPath="Open" * closeMemberPath="Close" * volumeMemberPath="Volume" /> * * <IgrBollingerBandWidthIndicator * name="series3" * xAxisName="xAxis" * yAxisName="yAxis" * displayType="Line" * lowMemberPath="Low" * highMemberPath="High" * openMemberPath="Open" * closeMemberPath="Close" * volumeMemberPath="Volume" * Multiplier= {2} /> * </IgrDataChart> * ``` * * ```ts * this.series.multiplier = 14; * ``` */ get multiplier() { return this.i.acl; } set multiplier(v) { this.i.acl = +v; } }