Full stock charts like the Google Finance charts, with scrolling, panning and master-details navigation.
Torstein, what about new charts module and licencing? Will old, already bought licenses will be valid for this new Charts module?
Sam Enspiral commented
Excellent, thanks for the quick response Torstein. I am trying out the stock branch from Github now. So far so good.
Thanks for your comments!
1. Release data
Hopefully by the end of June. All main functionality is in place now, with the possible exception of irregular datetime axis, so what is left now is documentation, testing and issue fixing.
2. Technical indicators
Tony Xiao expresses what we feel here. It's easy enough to preprocess the data and add another series for it, so this will not be implemented in version 1. However we are interested in adding premade indicator series classes in the future.
3. Comparing series by starting at the same point and continuing with percentage changes. I doubt this will make it for the first release, but we will look into it if we feel there's time for it.
4. Irregular time intervals at the x axis. This is also something that initially we didn't plan for version 1.0, but if it is a major request we will try to squeeze it in.
5. Multiple panes is supported, see http://highcharts.com/stock/demo/candlestick-and-volume.
6. Lazy loading data by Ajax should be possible by listening to the xAxis.events.setExtremes event, load data and set series.setData accordingly. Perhaps we'll set up a demo for this.
Nice piece of work.. May i know the exact date of release? and where i can download it?
Sam Enspiral commented
I am looking at using the Stock plugin for a site I am working on and I wanted to just check in to see if it was on track for release in June (and is that the start of June or the end of June?). For development I can use the code on Github but I don't want to commit to using it if the production release is a long way off. Thanks for all your work Torstein looks great so far!
Tony Xiao commented
I don't think high charts need to be overly concerned with technical indicators. Those data manipulation tasks is very domain specific and should be better left to the user to implement. Just preprocess the data and then add a new series for the technical indicator should be the way to go, however there should be support for multiple panes, that's for sure, as it represents a technical capability or limitation of the graphing library.
Torstein Hønsi, I totally agree with Stephan about stocks comparison representation with 0% at the beginning and then percentage change of each stock. We currently have such functionality (but in Flash =(
is there any plans to add technical Drawing tools like Trend Lines & Fibonaaci retracements ?.. And also multiple panes for other values like OpenInterest,Volatility or even some technical indicator values like MACD, RSI, etc.
Looks great! One suggestion: When displaying multiple series, the chart should support indexing the values to 100% (or 0%) at the beginning of the displayed timeframe. I think, this is crucial for comparing stock prices.
Fantastic piece of work. Did some minor testing in IE6 and IE8 based on your link, and while not as fast as Chrome or Firefox, it's still works well enough in these versions of IE. Two minor notes: (1) 'console' is undefined error comes up in IE; (2) the two lines in the drag handlebars are off-center (on purpose?).
Claus Elsborg commented
In our solution we have way to much data to load it all in this way. Will you also include support for ajax loading of data when clicking on the range selectors?
Agree with Tony and Philippe. We currently using old (not stock version) charts for displaying stock prices. Particularly last 3-4 days, and yes market works only 8-10 h a day, so we make 3-4 different series for each working period, that it looks nice. Otherwise there is a huge gap (or long line) between those plots, which is very ugly.
If you make options, that null values are collapsed - it would be so cool.
Tony Xiao commented
Oh wow, this is even better than I thought. Absolutely fantastic work. Cannot wait to use it. I actually had exactly the same question the Philippe has. How does Highcharts plans to deal with the fact that market is only open for a few hours a day and most of the chart will be blank if the date time axis is linear scale?
Muhammad Fikri commented
I have try it, but how custom tooltip format ? I use this.y returned undefined
What you have done so far is excellent.
For there is one issue however, but correct me if I am wrong, For the x axis, you use a date time axis and you assume the same for the range selector.
In your examples (52'000...) you have one point every hour (a gap from 24 to 29 Sept 2006 rendered blank), so far so good. In the stock market however, you have points from 9:00 to 17:30 (SWX for ex) which mean if you are using an hour range you have "gaps" from 17:30 to 09:00 which on a week makes more than 1/2 the charts blank. This is of course no so visible with Forex data that are traded around the clock.
And then what happens if you use one minute data interval?
Of course the xAxis can be set to linear, but then range should be disabled.
(I could not see any sanity check in the code re this: to be added ?)
Do you already have a release date ?
Muhammad Fikri commented
wow.. it's cool..
where I can download it ? from github ?
Rudiger, Sven, this is exactly what we're doing. See http://highcharts.com/stock/demo/data-grouping. As implementer you have an option to choose what granularity is available, for example 1 hour, 1 day, 1 week and 1 month. Then when zooming the chart, the browser decides which granularity to display.
i hope we can see the stock charts soon enough and we would be able to download
I agree with Rudiger. You can only display so many points horizontally on the screen at a time (my screen has way fewer horizontal pixels than 52,000).
Perhaps it would be more sensible to try to find a strategy that is scalable regardless of the number of data points available. Data points could be loaded dynamically upon zoom requests for instance. While waiting for a response, a preliminary interpolated chart could be displayed.
This is only one option, I'm sure there are more.
@Torstein Hønsi - For performance, wouldn't it make sense to have a strategy for automatically aggregating multiple points into a single point before charting? Running a chart with 100,000 data points is trivial when those 100,000 points are coalesced into 1,000 points. Then, zooming and scrolling a specific range can show you the details.