Aroon calculation and rendering demo.
-
-
Save andredumas/f18938b1adeb27e0b6fd to your computer and use it in GitHub Desktop.
TechanJS Aroon
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Date | Open | High | Low | Close | Volume | |
---|---|---|---|---|---|---|
19-Sep-14 | 77.40 | 78.30 | 76.44 | 77.91 | 76671330 | |
18-Sep-14 | 76.77 | 77.33 | 76.52 | 77.00 | 23030936 | |
17-Sep-14 | 75.96 | 77.25 | 75.57 | 76.43 | 28693348 | |
16-Sep-14 | 73.52 | 76.23 | 73.07 | 76.08 | 37742482 | |
15-Sep-14 | 77.15 | 77.25 | 73.43 | 74.58 | 49679130 | |
12-Sep-14 | 78.02 | 78.30 | 77.10 | 77.48 | 26744356 | |
11-Sep-14 | 77.13 | 78.36 | 77.05 | 77.92 | 32247724 | |
10-Sep-14 | 76.52 | 77.95 | 76.51 | 77.43 | 29908606 | |
9-Sep-14 | 77.59 | 78.17 | 76.20 | 76.67 | 28881803 | |
8-Sep-14 | 77.26 | 78.17 | 77.01 | 77.89 | 28183156 | |
5-Sep-14 | 76.10 | 77.38 | 75.60 | 77.26 | 29475854 | |
4-Sep-14 | 75.89 | 76.93 | 75.53 | 75.95 | 26676444 | |
3-Sep-14 | 77.14 | 77.48 | 75.60 | 75.83 | 32389102 | |
2-Sep-14 | 75.01 | 76.70 | 74.82 | 76.68 | 34979438 | |
29-Aug-14 | 74.30 | 74.82 | 74.01 | 74.82 | 26241162 | |
28-Aug-14 | 74.00 | 74.43 | 73.73 | 73.86 | 21946738 | |
27-Aug-14 | 75.27 | 75.49 | 74.46 | 74.63 | 36323060 | |
26-Aug-14 | 75.00 | 75.99 | 74.73 | 75.96 | 23992668 | |
25-Aug-14 | 74.94 | 75.28 | 74.79 | 75.02 | 19734103 | |
22-Aug-14 | 74.34 | 74.73 | 73.57 | 74.57 | 20897393 | |
21-Aug-14 | 74.92 | 75.19 | 74.41 | 74.57 | 20101979 | |
20-Aug-14 | 74.97 | 75.18 | 74.62 | 74.81 | 22916678 | |
19-Aug-14 | 74.81 | 75.58 | 74.77 | 75.29 | 26678640 | |
18-Aug-14 | 74.00 | 74.72 | 73.96 | 74.59 | 23973658 | |
15-Aug-14 | 74.32 | 74.65 | 73.00 | 73.63 | 38909161 | |
14-Aug-14 | 73.97 | 74.38 | 73.69 | 74.30 | 22207019 | |
13-Aug-14 | 73.12 | 74.25 | 73.05 | 73.77 | 29265662 | |
12-Aug-14 | 73.09 | 73.33 | 72.22 | 72.83 | 27418983 | |
11-Aug-14 | 73.46 | 73.91 | 73.06 | 73.44 | 24591177 | |
8-Aug-14 | 73.40 | 73.43 | 72.56 | 73.06 | 27202325 | |
7-Aug-14 | 73.00 | 74.00 | 72.70 | 73.17 | 38140550 | |
6-Aug-14 | 72.02 | 73.72 | 71.79 | 72.47 | 30985533 | |
5-Aug-14 | 73.51 | 73.59 | 72.18 | 72.69 | 34986147 | |
4-Aug-14 | 72.36 | 73.88 | 72.36 | 73.51 | 30776819 | |
1-Aug-14 | 72.22 | 73.22 | 71.55 | 72.36 | 43535314 | |
31-Jul-14 | 74.00 | 74.16 | 72.44 | 72.65 | 43991772 | |
30-Jul-14 | 74.21 | 75.19 | 74.13 | 74.68 | 36853018 | |
29-Jul-14 | 74.72 | 74.92 | 73.42 | 73.71 | 41324470 | |
28-Jul-14 | 75.17 | 75.50 | 73.85 | 74.92 | 41725249 | |
25-Jul-14 | 74.99 | 75.67 | 74.66 | 75.19 | 45917435 | |
24-Jul-14 | 75.96 | 76.74 | 74.51 | 74.98 | 124167936 | |
23-Jul-14 | 69.74 | 71.33 | 69.61 | 71.29 | 78434716 | |
22-Jul-14 | 69.76 | 69.77 | 68.61 | 69.27 | 40397693 | |
21-Jul-14 | 68.81 | 69.96 | 68.50 | 69.40 | 49539121 | |
18-Jul-14 | 66.80 | 68.46 | 66.16 | 68.42 | 42455649 | |
17-Jul-14 | 67.03 | 67.85 | 66.04 | 66.41 | 38188432 | |
16-Jul-14 | 67.54 | 67.94 | 67.07 | 67.66 | 29593589 | |
15-Jul-14 | 67.96 | 68.09 | 66.26 | 67.16 | 44292944 | |
14-Jul-14 | 67.13 | 68.17 | 66.90 | 67.90 | 38536924 | |
11-Jul-14 | 65.28 | 66.59 | 64.79 | 66.34 | 39212022 | |
10-Jul-14 | 63.31 | 65.34 | 63.05 | 64.87 | 44421915 | |
9-Jul-14 | 63.41 | 65.12 | 63.15 | 64.97 | 51431582 | |
8-Jul-14 | 65.06 | 65.56 | 62.21 | 62.76 | 68926036 | |
7-Jul-14 | 66.30 | 66.57 | 65.12 | 65.29 | 28745099 | |
3-Jul-14 | 66.86 | 67.00 | 65.76 | 66.29 | 25203215 | |
2-Jul-14 | 68.04 | 68.30 | 65.79 | 66.45 | 41895220 | |
1-Jul-14 | 67.58 | 68.44 | 67.39 | 68.06 | 33243166 | |
30-Jun-14 | 67.46 | 67.92 | 67.13 | 67.29 | 27201749 | |
27-Jun-14 | 67.31 | 67.70 | 66.84 | 67.60 | 46460627 | |
26-Jun-14 | 68.00 | 68.00 | 66.90 | 67.13 | 47713944 | |
25-Jun-14 | 65.58 | 67.48 | 65.57 | 67.44 | 44308249 | |
24-Jun-14 | 65.36 | 67.17 | 65.27 | 65.72 | 57334867 | |
23-Jun-14 | 64.32 | 65.66 | 64.22 | 65.37 | 34560121 | |
20-Jun-14 | 64.46 | 64.81 | 63.35 | 64.50 | 46466073 | |
19-Jun-14 | 65.46 | 65.58 | 64.21 | 64.34 | 34245182 | |
18-Jun-14 | 64.49 | 65.75 | 64.05 | 65.60 | 35570154 | |
17-Jun-14 | 64.10 | 64.88 | 63.93 | 64.40 | 27714816 | |
16-Jun-14 | 64.16 | 64.88 | 63.75 | 64.19 | 31045811 | |
13-Jun-14 | 64.70 | 64.97 | 63.83 | 64.50 | 29418910 | |
12-Jun-14 | 65.85 | 66.47 | 64.06 | 64.29 | 55729828 | |
11-Jun-14 | 65.32 | 65.80 | 64.90 | 65.78 | 44241926 | |
10-Jun-14 | 63.53 | 65.82 | 63.50 | 65.77 | 69338140 | |
9-Jun-14 | 62.40 | 63.34 | 61.79 | 62.88 | 37617413 | |
6-Jun-14 | 63.37 | 63.48 | 62.15 | 62.50 | 42442096 | |
5-Jun-14 | 63.66 | 64.36 | 62.82 | 63.19 | 47352368 | |
4-Jun-14 | 62.45 | 63.59 | 62.07 | 63.34 | 36513991 | |
3-Jun-14 | 62.62 | 63.42 | 62.32 | 62.87 | 32216707 | |
2-Jun-14 | 63.23 | 63.59 | 62.05 | 63.08 | 35995537 | |
30-May-14 | 63.95 | 64.17 | 62.56 | 63.30 | 45283577 | |
29-May-14 | 63.84 | 64.30 | 63.51 | 63.83 | 42699670 | |
28-May-14 | 63.39 | 64.14 | 62.62 | 63.51 | 47795088 | |
27-May-14 | 61.62 | 63.51 | 61.57 | 63.48 | 55681663 | |
23-May-14 | 60.41 | 61.45 | 60.15 | 61.35 | 38293993 | |
22-May-14 | 60.94 | 61.48 | 60.40 | 60.52 | 54200116 | |
21-May-14 | 58.56 | 60.50 | 58.25 | 60.49 | 58991505 | |
20-May-14 | 59.50 | 60.19 | 58.18 | 58.56 | 53931469 | |
19-May-14 | 57.89 | 59.56 | 57.57 | 59.21 | 43033925 | |
16-May-14 | 58.31 | 58.45 | 57.31 | 58.02 | 47933075 | |
15-May-14 | 59.26 | 59.38 | 57.52 | 57.92 | 56813940 | |
14-May-14 | 59.53 | 60.45 | 58.95 | 59.23 | 47428583 | |
13-May-14 | 59.66 | 60.89 | 59.51 | 59.83 | 48525476 | |
12-May-14 | 57.98 | 59.90 | 57.98 | 59.83 | 48575487 | |
9-May-14 | 56.85 | 57.65 | 56.38 | 57.24 | 52583858 | |
8-May-14 | 57.23 | 58.82 | 56.50 | 56.76 | 61251053 | |
7-May-14 | 58.77 | 59.30 | 56.26 | 57.39 | 78587247 | |
6-May-14 | 60.98 | 61.15 | 58.49 | 58.53 | 55900809 | |
5-May-14 | 59.67 | 61.35 | 59.18 | 61.22 | 46057411 | |
2-May-14 | 61.30 | 61.89 | 60.18 | 60.46 | 54189197 | |
1-May-14 | 60.43 | 62.28 | 60.21 | 61.15 | 82428606 | |
30-Apr-14 | 57.58 | 59.85 | 57.16 | 59.78 | 76093004 | |
29-Apr-14 | 56.09 | 58.28 | 55.84 | 58.15 | 75557202 | |
28-Apr-14 | 58.05 | 58.31 | 54.66 | 56.14 | 107757756 | |
25-Apr-14 | 59.97 | 60.01 | 57.57 | 57.71 | 92501529 | |
24-Apr-14 | 63.60 | 63.65 | 59.77 | 60.87 | 138769345 | |
23-Apr-14 | 63.45 | 63.48 | 61.26 | 61.36 | 96564750 | |
22-Apr-14 | 62.65 | 63.44 | 62.22 | 63.03 | 60631312 | |
21-Apr-14 | 59.46 | 61.24 | 59.15 | 61.24 | 60363619 | |
17-Apr-14 | 59.30 | 60.58 | 58.72 | 58.94 | 88040346 | |
16-Apr-14 | 59.79 | 60.19 | 57.74 | 59.72 | 78773521 | |
15-Apr-14 | 59.29 | 59.68 | 55.88 | 59.09 | 108622706 | |
14-Apr-14 | 60.09 | 60.45 | 57.78 | 58.89 | 72324603 | |
11-Apr-14 | 57.60 | 60.31 | 57.31 | 58.53 | 91451960 | |
10-Apr-14 | 63.08 | 63.18 | 58.68 | 59.16 | 114987616 | |
9-Apr-14 | 59.63 | 62.46 | 59.19 | 62.41 | 100215307 | |
8-Apr-14 | 57.68 | 58.71 | 57.17 | 58.19 | 78835935 | |
7-Apr-14 | 55.90 | 58.00 | 55.44 | 56.95 | 108487569 | |
4-Apr-14 | 59.94 | 60.20 | 56.32 | 56.75 | 125465774 | |
3-Apr-14 | 62.55 | 63.17 | 59.13 | 59.49 | 83859330 | |
2-Apr-14 | 63.21 | 63.91 | 62.21 | 62.72 | 66276613 | |
1-Apr-14 | 60.46 | 62.66 | 60.24 | 62.62 | 59291210 | |
31-Mar-14 | 60.78 | 61.52 | 59.87 | 60.24 | 53011205 | |
28-Mar-14 | 61.34 | 61.95 | 59.34 | 60.01 | 67051528 | |
27-Mar-14 | 60.51 | 61.90 | 57.98 | 60.97 | 112649694 | |
26-Mar-14 | 64.74 | 64.95 | 60.37 | 60.38 | 97689774 | |
25-Mar-14 | 64.89 | 66.19 | 63.78 | 64.89 | 68785500 | |
24-Mar-14 | 67.19 | 67.36 | 63.36 | 64.10 | 85695872 | |
21-Mar-14 | 67.53 | 67.92 | 66.18 | 67.24 | 60041228 | |
20-Mar-14 | 68.01 | 68.23 | 66.82 | 66.97 | 44438500 | |
19-Mar-14 | 69.17 | 69.29 | 67.46 | 68.24 | 43980558 | |
18-Mar-14 | 68.76 | 69.60 | 68.30 | 69.19 | 40827226 | |
17-Mar-14 | 68.18 | 68.95 | 66.62 | 68.74 | 52196699 | |
14-Mar-14 | 68.49 | 69.43 | 67.46 | 67.72 | 48226824 | |
13-Mar-14 | 71.29 | 71.35 | 68.15 | 68.83 | 57091157 | |
12-Mar-14 | 69.86 | 71.35 | 69.00 | 70.88 | 46400431 | |
11-Mar-14 | 72.50 | 72.59 | 69.96 | 70.10 | 59615238 | |
10-Mar-14 | 70.77 | 72.15 | 70.51 | 72.03 | 59949746 | |
7-Mar-14 | 71.08 | 71.18 | 69.47 | 69.80 | 38985763 | |
6-Mar-14 | 71.88 | 71.89 | 70.25 | 70.84 | 46126260 | |
5-Mar-14 | 69.69 | 71.97 | 69.62 | 71.57 | 74649486 | |
4-Mar-14 | 68.66 | 68.90 | 67.62 | 68.80 | 42164222 | |
3-Mar-14 | 66.96 | 68.05 | 66.51 | 67.41 | 56900444 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
body { | |
font: 10px sans-serif; | |
} | |
text { | |
fill: #000; | |
} | |
button { | |
position: absolute; | |
right: 20px; | |
top: 440px; | |
display: none; | |
} | |
.aroon path { | |
fill: none; | |
stroke-width: 1; | |
} | |
.aroon { | |
stroke: #000000; | |
} | |
.aroon.up { | |
stroke: #00AA00; | |
stroke-width: 1.5; | |
} | |
.aroon.down { | |
stroke: #FF0000; | |
stroke-width: 1.5; | |
} | |
.aroon.oscillator { | |
stroke: #0000FF; | |
stroke-width: 0.5; | |
} | |
.aroon.oscillatorArea{ | |
fill: #0000FF; | |
opacity:0.025; | |
} | |
.aroon path.overbought, .aroon path.oversold { | |
stroke: #FF9999; | |
stroke-width: 1; | |
stroke-dasharray: 2, 2; | |
} | |
.aroon path.middle, path.zero { | |
stroke: #BBBBBB; | |
stroke-dasharray: 5, 5; | |
} | |
</style> | |
<body> | |
<button>Update</button> | |
<script src="http://d3js.org/d3.v4.min.js"></script> | |
<script src="http://techanjs.org/techan.min.js"></script> | |
<script> | |
var margin = {top: 20, right: 20, bottom: 30, left: 50}, | |
width = 960 - margin.left - margin.right, | |
height = 500 - margin.top - margin.bottom; | |
var parseDate = d3.timeParse("%d-%b-%y"); | |
var x = techan.scale.financetime() | |
.range([0, width]); | |
var y = d3.scaleLinear() | |
.range([height, 0]); | |
var aroon = techan.plot.aroon() | |
.xScale(x) | |
.yScale(y); | |
var accessor = aroon.accessor(); | |
var xAxis = d3.axisBottom(x); | |
var yAxis = d3.axisLeft(y) | |
.tickFormat(d3.format(",.3s")); | |
var svg = d3.select("body").append("svg") | |
.attr("width", width + margin.left + margin.right) | |
.attr("height", height + margin.top + margin.bottom) | |
.append("g") | |
.attr("transform", "translate(" + margin.left + "," + margin.top + ")"); | |
d3.csv("data.csv", function(error, data) { | |
data = data.map(function(d) { | |
// Open, high, low, close generally not required, is being used here to demonstrate colored volume | |
// bars | |
return { | |
date: parseDate(d.Date), | |
volume: +d.Volume, | |
open: +d.Open, | |
high: +d.High, | |
low: +d.Low, | |
close: +d.Close | |
}; | |
}).sort(function(a, b) { return d3.ascending(accessor.d(a), accessor.d(b)); }); | |
svg.append("g") | |
.attr("class", "aroon"); | |
svg.append("g") | |
.attr("class", "x axis") | |
.attr("transform", "translate(0," + height + ")"); | |
svg.append("g") | |
.attr("class", "y axis") | |
.append("text") | |
.attr("transform", "rotate(-90)") | |
.attr("y", 6) | |
.attr("dy", ".71em") | |
.style("text-anchor", "end") | |
.text("Aroon"); | |
// Data to display initially | |
draw(data.slice(0, data.length-20)); | |
// Only want this button to be active if the data has loaded | |
d3.select("button").on("click", function() { draw(data); }).style("display", "inline"); | |
}); | |
function draw(data) { | |
var aroonData = techan.indicator.aroon()(data); | |
x.domain(aroonData.map(accessor.d)); | |
y.domain(techan.scale.plot.aroon().domain()); | |
svg.selectAll("g.aroon").datum(aroonData).call(aroon); | |
svg.selectAll("g.x.axis").call(xAxis); | |
svg.selectAll("g.y.axis").call(yAxis); | |
} | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment