This repository was archived by the owner on Jul 30, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathexponential-moving-average-indicator.js
More file actions
84 lines (84 loc) · 5.56 KB
/
exponential-moving-average-indicator.js
File metadata and controls
84 lines (84 loc) · 5.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
"use strict";
var __extends = (this && this.__extends) || (function () {
var 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 function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Sample for EMA Indicator
*/
var React = require("react");
var ej2_react_charts_1 = require("@syncfusion/ej2-react-charts");
var financial_data_1 = require("./financial-data");
var ej2_base_1 = require("@syncfusion/ej2-base");
var sample_base_1 = require("../common/sample-base");
var SAMPLE_CSS = "\n .control-fluid {\n\t\tpadding: 0px !important;\n\t}";
var EMA = (function (_super) {
__extends(EMA, _super);
function EMA() {
return _super !== null && _super.apply(this, arguments) || this;
}
EMA.prototype.render = function () {
return (React.createElement("div", { className: 'control-pane' },
React.createElement("style", null, SAMPLE_CSS),
React.createElement("div", { className: 'control-section' },
React.createElement(ej2_react_charts_1.ChartComponent, { id: 'charts', load: this.load.bind(this), style: { textAlign: "center" }, primaryXAxis: {
valueType: 'DateTime',
majorGridLines: { width: 0 },
zoomFactor: 0.2, zoomPosition: 0.6,
crosshairTooltip: { enable: true },
}, primaryYAxis: {
title: 'Price',
labelFormat: '${value}M',
minimum: 50, maximum: 170, interval: 30,
majorGridLines: { width: 1 },
lineStyle: { width: 0 }
}, chartArea: { border: { width: 0 } }, tooltip: {
enable: true, shared: true
}, crosshair: { enable: true, lineType: 'Vertical' }, width: ej2_base_1.Browser.isDevice ? '100%' : '80%', legendSettings: { visible: false }, zoomSettings: { enableSelectionZooming: true, mode: 'X', enablePan: true }, title: 'AAPL 2012-2017', loaded: this.onChartLoad.bind(this) },
React.createElement(ej2_react_charts_1.Inject, { services: [ej2_react_charts_1.CandleSeries, ej2_react_charts_1.Category, ej2_react_charts_1.Tooltip, ej2_react_charts_1.DateTime, ej2_react_charts_1.Zoom, ej2_react_charts_1.Logarithmic, ej2_react_charts_1.Crosshair, ej2_react_charts_1.LineSeries,
ej2_react_charts_1.EmaIndicator] }),
React.createElement(ej2_react_charts_1.SeriesCollectionDirective, null,
React.createElement(ej2_react_charts_1.SeriesDirective, { dataSource: financial_data_1.chartData, width: 2, xName: 'x', yName: 'y', low: 'low', high: 'high', close: 'close', volume: 'volume', open: 'open', name: 'Apple Inc', bearFillColor: '#2ecd71', bullFillColor: '#e74c3d', type: 'Candle', animation: { enable: false } })),
React.createElement(ej2_react_charts_1.IndicatorsDirective, null,
React.createElement(ej2_react_charts_1.IndicatorDirective, { type: 'Ema', field: 'Close', seriesName: 'Apple Inc', fill: '#606eff', period: 14, animation: { enable: true } })))),
React.createElement("div", { id: "action-description" },
React.createElement("p", null, "This sample illustrates a stock chart with candle series and an Exponential Moving Average indicator. Trackball shows the information about the stock and signal value of a day.")),
React.createElement("div", { id: "description" },
React.createElement("p", null, "In this example, you can see how to render and configure the EMA Indicator."),
React.createElement("p", null, "Tooltip is enabled in this example, to see the tooltip in action, hover a point or tap on a point in touch enabled devices."),
React.createElement("br", null),
React.createElement("p", null,
React.createElement("b", null, "Injecting Module")),
React.createElement("p", null,
"Chart component features are segregated into individual feature-wise modules. To use EMA Indicator, we need to inject",
React.createElement("code", null, "EmaIndicator"),
" module into ",
React.createElement("code", null, "services"),
"."),
React.createElement("p", null,
"More information on the EMA Indicator can be found in this \u00A0",
React.createElement("a", { target: "_blank", href: "http://ej2.syncfusion.com/react/documentation/chart/api-series.html#type-chartseriestype" }, "documentation section"),
"."))));
};
EMA.prototype.onChartLoad = function (args) {
var chart = document.getElementById('charts');
chart.setAttribute('title', '');
chart.setAttribute('align', 'center');
};
;
EMA.prototype.load = function (args) {
var selectedTheme = location.hash.split('/')[1];
selectedTheme = selectedTheme ? selectedTheme : 'Material';
args.chart.theme = (selectedTheme.charAt(0).toUpperCase() + selectedTheme.slice(1));
};
;
return EMA;
}(sample_base_1.SampleBase));
exports.EMA = EMA;