Changelog - Overview of changes Version 0.5.1: Rules: * Implemented rules for the RSI indicator * Implemented an abstract indicator rule class * Implemented user interface for modifing rules * Added loadRules and saveRules to JStockDB * A rule table added to the database Bug fixes: * Fixed a bug opening weekly charts * Fixed a bug saving empty indicatorlist to database causing the shared indicators to disappear. Version 0.5.0: Changes in the user interface The key for selecting lines is moved to 'l' ('L' for selecting next end of a selected line. If a line is selected the arrowkeys will move the line, otherwise they will move the selected stick. After a "save notes" the cursor will be at the top (and not on bottom as before). Support user drawn lines for indicators with separate panels (e.g. rsi) Internal redesign with a lot of major and minor changes. Hopefully most major are listed here. Moved a lot of classes into new packages. Notes class moved and split in two (and more is coming). The CandleStickPanel is split in two new classes. CandleStick in the indicators package and the MainIndicatorPanel in the panels package. MainIndicatorPanel is a subclass of AbstractIndicatorPanel. This makes it more in line with the other indicators and allows sharing of code for mouse and keyboard input. Database updated with new tables and fields. Not compatible with previous tables. The ChartData class now has control over every series, indicator etc. that applies for a stock represented by a TickerID object and a panelType to keep daily charts from weekly etc. This implies that it is easier for other part of the application to get a series for additional calculations. In addition an indicatorCode is used to select an indicator within the panel. This code is the hashcode of a given set of parameters for the indicator. Indicatorinterfaces has been updated. Sizing of panels is improved. Version 0.4: Added an option to download files from a URL. Added support for datafiles from Yahoo. Updated user documentation. Update of developer documentation, added a chapter about the options menu. Version 0.3.7: Minor documentation updates. (Another) minor fix to alignment of histogram in MACD. Fixed a bug that caused tickers not already in database to be incorrectly handled by the database layer. Removed ticker and exchange input from file input menu and user preferences as it is no longer needed. Now sets the ticker and exchange attributes based on user input and not from the data files. Close now exits the application if there are zero or one open tabs Added tooltip text to quit and close button in main control panel Fixed bug saving the DateFormat parameter in the File Input tab of Options menu. Added hash() to MacdParameters A lot more cleanup Version 0.3.6: Fixed bugs that prevented MACD and RSI paramameters to be written to the properties file. Fixed bug with redrawing the database and fileinput tab in the options menu when the checkbox was toggled. Updated tooltip text in Options menu. Updated some javadoc. Fixed a bug that caused the application to always try to create a new properties file. Some code clean up after running jlint Fixed a couple of null pointer exception for very short series. Updated loadLines & saveLines methodes in the Jstockdb class, no longer use the Lines class. Minor fix to alignment of histogram in MACD. Lines are saved to database when they are moved so the db always have the latest state, hence no save on exit is required. Version 0.3.5: Bugfix: Indicators in CandleStickPanel is now correctly updated after a change in panel size. Fixed a bug causing null pointers when chart was resized with indicators in CandleStickPanel active. Focus follows mouse more consistent as tickerInut now requests focus if mouse enters the ControlPanel. Mouse dependant focus for keyboard input may be new experience for Windows user. Moved MouseListener & MouseMotion listener from CandlestickPanel to ChartPanel so that mouse events also is registered in the separate indicator panels. displayNumberToArrayIndex not used anymore. Version 0.3.4: Added MACD indicator RSI algorithm now puts null values in the indicator arraylist while calculating initial value. Some changes in the RSI indicator class to cope with that. Fixed a bug in the methode displayNumberToArrayIndex in the Indicator class if the indicatorseries is shorther than the display. (Still got bugs, will probably be dropped) Minor fix to alignment of RSI graph. Fixed bug and updated getDailyPrintout methode for all of the indicators. Fixed bug in printAll methode for all of the indicators. RSI indicators marks selected day RSI indicator now prints out values for a selected day iso only for the last day. Moved some mouse and key event code from candlestick panel to chartpanel in order to update other panels easier. Added panelRequestFocus to CandleStickPanel in order to gain focus. Fixed bug in calculating height of panels with more than one indicator panel Version 0.3.3: A lot of changes, but mostly as a result of a redesign of the way indicators are handled. Now it is pretty close to a plugin thing, that is new indicators can be added without touching the rest of the code (that's the theory any way). All indicator specific classes are moved to a new package, and a couple of very generic classes are added to the main package. They are largly responsible for displaying the user interface part of the indicator (both changing parameters and displaying the indicator.) All the information they need are defined in interfaces. The graphics of an inidicator are written to a buffered image, and only needs to be redrawn when it is parameters are changed or the window is resized. Other changes (I probably forgot some) jStock: Quick fix to problems with height of the JTabbedPane if more tabs is opened than would fit a single line. Now tabs are scrolled. This conserve screen space at the expense of navigatibility. ChartPanel: Joined methods makePanel() & makeWeeklyPanel() as it contained a lot of duplicate code. Split the com/exponto/jstock/Constants.java file in one Constants.java per package (where applicable). Improved build.xml Added EMA (Exponential Moving Average) indicator. Added a field for indicator names, parameters and line color at the bottom of the candlestick panel. Made a genric way to access the properties file without having to update the UserPreferences class all the time (get/setproperty). It's up to the calling class to update the properties file for (default) parameters used this way. Moved a few classes (all the options menu stuff) to a new package com.exponto.jstock.popupwindows. Version 0.3.2: Some documentation is updated. Improved the layout of the "Options" menu. Fixed a couple of exceptions in the Lines class (when the length of the arraylist was 0). Removed the about button and put the license text in a tab options. Fixed some problems with saving lines to database. After save, the lines are now reloaded from the database. Use the DecimalFormatter() to format the values on the y-axis. Better handling of fractions etc. Added additional support lines to the candlestick panel. This gives more lines at the bottom of the panel without making a mess at the top for stocks where high >> low. Fixed a couple of old issues, height of the candlestick area is now taken into consideration when the number of support lines is calculated. Also improved the quick fix for series with very large difference between highest and lowest value. The fix doesn't completly remove the problem, but that is handled when the axis is drawn. (This one has been bugging me for ages, just didn't want to think about it.) Removed the effect of a nullpointer exception in the drawing of moving average. (Bug not removed). Version 0.3.1: Rearranged the "options" menu a bit, but bigger changes is ahead. Added a possibility to draw moving average in the candlestick panel. Some documentation is updated, but there still is a way to go. Made a build.xml file for ant, which should make new builds a lot easier (and better). Added a more generic file input class that is able to parse data files based on column number for each file. The column numbers may be edited in the Options/file input menu. More logging to log4j. Location of jstock.properties now defaults to "/jstock/jstock.properties". However if none is found there the application will also check in the application directory. Version 0.3: Changed Notes to use TickerID iso. ticker & exchange Fixed bug in loading of notes that caused the notes for next ticker to be overwritten by current - a rather nasty one. Added a ComponentEvent listener to jStock.java. Changed the way reseizing of windows and panels are handled. Added RSI panel, a lot of other changes as a consequence. Fixed a bug that prevented loading of stocks where one of the digits started with the characters ',' or '.' Implemented a log4j logger (requieres log4j.jar in classpath). Replaced a lot of system.out.println with log statements. Windows size is saved from jStock.java iso. CandleStickPanel.java. Version 0.2.2: Initial release (freshmeat.net)