HTMLcopy
1
<div id="container"></div>
CSScopy
6
1
html, body, #container {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
JavaScriptcopy
x
1
anychart.onDocumentReady(function () {
2
// The data used in this sample can be obtained from the CDN
3
// https://cdn.anychart.com/csv-data/csco-daily.csv
4
anychart.data.loadCsvFile('https://cdn.anychart.com/csv-data/csco-daily.csv', function (data) {
5
// create data table on loaded data
6
var dataTable = anychart.data.table();
7
dataTable.addData(data);
8
9
// map loaded data for the ohlc series
10
var mapping = dataTable.mapAs({'open': 1, 'high': 2, 'low': 3, 'close': 4});
11
12
// map loaded data for the scroller
13
var scrollerMapping = dataTable.mapAs();
14
scrollerMapping.addField('value', 5);
15
16
// create stock chart
17
var chart = anychart.stock();
18
// set chart padding
19
chart.padding([75, 50, 57, 50]);
20
21
// create first plot on the chart
22
var plot = chart.plot(0);
23
// grid settings
24
plot.yGrid(true)
25
.xGrid(true)
26
.xMinorGrid(true)
27
.yMinorGrid(true);
28
29
// create EMA indicators with period 50
30
var ema = plot.ema(dataTable.mapAs({'value': 4}));
31
ema.series().stroke('1.5 #455a64');
32
33
// create candlestick series
34
var series = plot.candlestick(mapping).name('CSCO');
35
series.legendItem().iconType('rising-falling');
36
37
// create annotation
38
var annotation = plot.annotations();
39
40
// create first marker annotation and set settings
41
annotation.marker()
42
.xAnchor(954090366593)
43
.valueAnchor(85)
44
.stroke('2 #F44336')
45
.markerType('arrow-down')
46
.allowEdit(false);
47
48
// create second marker annotation and set settings
49
annotation.marker()
50
.xAnchor(959108502857)
51
.valueAnchor(49.1)
52
.fill('green 0.5')
53
.stroke('2 green 0.75')
54
.allowEdit(false);
55
56
// create first label annotation and set settings
57
annotation.label()
58
.xAnchor(954090366593)
59
.valueAnchor(85)
60
.anchor('right-top')
61
.offsetX(20)
62
.offsetY(-4)
63
.padding(6)
64
.text('Time to SELL')
65
.fontColor('#fff')
66
.background({
67
fill: 'red 0.75',
68
stroke: '0.5 #455a64',
69
corners: 7
70
})
71
.allowEdit(false);
72
73
// create second label annotation and set settings
74
annotation.label()
75
.xAnchor(959108502857)
76
.valueAnchor(49.1)
77
.anchor('left-bottom')
78
.offsetX(20)
79
.offsetY(-23)
80
.padding(6)
81
.text('Time to BUY')
82
.fontColor('#fff')
83
.background({
84
fill: 'green 0.75',
85
stroke: '1 #455a64',
86
corners: 7
87
})
88
.allowEdit(false);
89
90
// create scroller series with mapped data
91
chart.scroller().candlestick(mapping);
92
93
// set chart selected date/time range
94
chart.selectRange('1999-10-25', '2000-10-11');
95
96
// set container id for the chart
97
chart.container('container');
98
// initiate chart drawing
99
chart.draw();
100
101
// create range picker
102
rangePicker = anychart.ui.rangePicker();
103
// init range picker
104
rangePicker.render(chart);
105
106
// create range selector
107
rangeSelector = anychart.ui.rangeSelector();
108
// init range selector
109
rangeSelector.render(chart);
110
});
111
});