igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
126 lines (125 loc) • 3.65 kB
JavaScript
import { IgrStrategyBasedIndicator } from "./igr-strategy-based-indicator";
import { PercentagePriceOscillatorIndicator } from "./PercentagePriceOscillatorIndicator";
/**
* Represents a IgxDataChartComponent percentage price oscillator series.
* Default required members: High, Low, Volume
*
* You can use the `PercentagePriceOscillatorIndicator` to show the difference between two moving averages.
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource}
* width="700px"
* height="500px">
*
* <IgrCategoryXAxis name="xAxis" label="Date" />
* <IgrNumericYAxis name="yAxis" />
* <IgrPercentagePriceOscillatorIndicator
* name="series"
* xAxisName="xAxis"
* yAxisName="yAxis"
* lowMemberPath="Low"
* highMemberPath="High"
* openMemberPath="Open"
* closeMemberPath="Close"/>
* </IgrDataChart>
* ```
*
* ```ts
* let series = new IgrPercentagePriceOscillatorIndicator({name:"series1"});
* series.xAxisName = this.xAxis;
* series.yAxisName = this.yAxis;
* series.xAxis = this.categoryXAxis;
* series.yAxis = this.numericYAxis;
* series.openMemberPath = "open";
* series.highMemberPath = "high";
* series.lowMemberPath = "low";
* series.closeMemberPath = "close";
* ```
*/
export class IgrPercentagePriceOscillatorIndicator extends IgrStrategyBasedIndicator {
createImplementation() {
return new PercentagePriceOscillatorIndicator();
}
/**
* @hidden
*/
get i() {
return this._implementation;
}
constructor(props) {
super(props);
}
/**
* Gets or sets the short moving average period for the current PercentagePriceOscillatorIndicator object.
* The typical, and initial, value for short PPO periods is 10.
*
* You can use the `ShortPeriod` to set the short moving average period.
*
* ```ts
* this.series.shortPeriod = 10;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource}
* width="700px"
* height="500px">
*
* <IgrCategoryXAxis name="xAxis" label="Date" />
* <IgrNumericYAxis name="yAxis" />
* <IgrPercentagePriceOscillatorIndicator
* name="series"
* xAxisName="xAxis"
* yAxisName="yAxis"
* lowMemberPath="Low"
* highMemberPath="High"
* openMemberPath="Open"
* closeMemberPath="Close"
* shortPeriod = {10}/>
* </IgrDataChart>
* ```
*/
get shortPeriod() {
return this.i.shortPeriod;
}
set shortPeriod(v) {
this.i.shortPeriod = +v;
}
/**
* Gets or sets the long moving average period for the current PercentagePriceOscillatorIndicator object.
* The typical, and initial, value for long PVO periods is 30.
*
* You can use the `LongPeriod` to set the long moving average period.
*
* ```ts
* this.series.longPeriod = 30;
* ```
*
* ```ts
* <IgrDataChart
* dataSource={this.state.dataSource}
* width="700px"
* height="500px">
*
* <IgrCategoryXAxis name="xAxis" label="Date" />
* <IgrNumericYAxis name="yAxis" />
* <IgrPercentagePriceOscillatorIndicator
* name="series"
* xAxisName="xAxis"
* yAxisName="yAxis"
* lowMemberPath="Low"
* highMemberPath="High"
* openMemberPath="Open"
* closeMemberPath="Close"
* longPeriod = {30} />
* </IgrDataChart>
* ```
*/
get longPeriod() {
return this.i.longPeriod;
}
set longPeriod(v) {
this.i.longPeriod = +v;
}
}