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
var dataTable = anychart.data.table();
3
dataTable.addData(get_dji_daily_short_data());
4
5
var mapping = dataTable.mapAs({value: 1});
6
7
var chart = anychart.stock();
8
9
var indicator = dataTable.createComputer(mapping);
10
indicator.addOutputField('customField', 'uid');
11
indicator.setContext({period: 2000, queue: 257});
12
13
// Set initial function.
14
indicator.setStartFunction(function(context) {
15
context.period *= 2;
16
});
17
indicator.setCalculationFunction(function(row) {
18
row.set('customField', row.get('value') + this.period);
19
});
20
21
var indicatorMapping = dataTable.mapAs({value: 'uid'});
22
23
var plot = chart.plot();
24
plot.column(mapping);
25
plot.line(indicatorMapping);
26
plot.getSeries(1).name('Custom indicator');
27
28
chart.title('Set initial function');
29
chart.container('container');
30
chart.draw();
31
});