com.exponto.jstock.indicators
Class Indicator

java.lang.Object
  extended bycom.exponto.jstock.indicators.Indicator
All Implemented Interfaces:
IndicatorInterface
Direct Known Subclasses:
EMA, MA, Macd, Rsi

public abstract class Indicator
extends java.lang.Object
implements IndicatorInterface

The base class for all indicators. A few static methods of the indicator interface are implemented here, the erst are found in the subclasses that implements the actual indicators.

Author:
kaare

Field Summary
protected  java.awt.Color indicatorColor
           
 
Constructor Summary
Indicator()
           
 
Method Summary
protected  int displayNumberToArrayIndex(int n, GraphicsParameters graphicsParameters, java.util.ArrayList indicatorSeries)
          Avoid using this as it is not correct in all cases - will be removed Finds the place in the indicatorSeries for a particular posistion on the display
abstract  boolean drawWithCandleSticks()
          Information for the class that allocates screenspace wheter a particular indicator requires a separate screen space or if it shall be painted with the candlesticks.
 java.awt.Color getColor()
           
abstract  java.lang.String getDailyPrintOut(int n)
          Makes a String with name, parameters and value (e.g.
abstract  IndicatorParameters getIndicatorParameters()
           
abstract  boolean hasChanged()
          Check if the calling class can use data obtained from a previous call to paintIndicator or not.
abstract  void initiateIndicator(LogDataSeries lDS)
          Initiates an indicator with the provided LogDataSeries combined with indicator spesific parameters either provied from a properties file or the user.
abstract  void initiateIndicator(LogDataSeries lDS, IndicatorParameters indParam)
          As above but with Indicatorparameters provided directly
abstract  void paintIndicator(java.awt.Graphics2D g2d, GraphicsParameters gP)
          Sends the Indicator a Graphics2D and asks it to paint itself on that Graphics.
abstract  java.lang.String[] printAll(int number)
          Generates an Array of strings that is suitable for printing to file or debugging purposes with all data within the range.
 void setColor(java.awt.Color color)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

indicatorColor

protected java.awt.Color indicatorColor
Constructor Detail

Indicator

public Indicator()
Method Detail

getIndicatorParameters

public abstract IndicatorParameters getIndicatorParameters()
Specified by:
getIndicatorParameters in interface IndicatorInterface
Returns:
the IndicatorParameter associated with the specific indicator.

initiateIndicator

public abstract void initiateIndicator(LogDataSeries lDS)
Description copied from interface: IndicatorInterface
Initiates an indicator with the provided LogDataSeries combined with indicator spesific parameters either provied from a properties file or the user.

Specified by:
initiateIndicator in interface IndicatorInterface
Parameters:
lDS - The LogDataSeries containg values to computes the indicator

initiateIndicator

public abstract void initiateIndicator(LogDataSeries lDS,
                                       IndicatorParameters indParam)
Description copied from interface: IndicatorInterface
As above but with Indicatorparameters provided directly

Specified by:
initiateIndicator in interface IndicatorInterface
Parameters:
lDS -
indParam -

drawWithCandleSticks

public abstract boolean drawWithCandleSticks()
Description copied from interface: IndicatorInterface
Information for the class that allocates screenspace wheter a particular indicator requires a separate screen space or if it shall be painted with the candlesticks.

Specified by:
drawWithCandleSticks in interface IndicatorInterface
Returns:
true if this indicator shall be drawn in the same panel as the candlesticks, false if it shall be drawn in a separate panel

hasChanged

public abstract boolean hasChanged()
Description copied from interface: IndicatorInterface
Check if the calling class can use data obtained from a previous call to paintIndicator or not. The intention is that the calling class may store the graphs in an image in order to speed up the drawing time (at the cost of memory)

Specified by:
hasChanged in interface IndicatorInterface
Returns:
true if the parameters for this indicator has changed, false otherwise

paintIndicator

public abstract void paintIndicator(java.awt.Graphics2D g2d,
                                    GraphicsParameters gP)
Description copied from interface: IndicatorInterface
Sends the Indicator a Graphics2D and asks it to paint itself on that Graphics.

Specified by:
paintIndicator in interface IndicatorInterface
Parameters:
g2d - the Graphics to paint on

getDailyPrintOut

public abstract java.lang.String getDailyPrintOut(int n)
Description copied from interface: IndicatorInterface
Makes a String with name, parameters and value (e.g. "RSI(14): 74") that can be used to print information about a particular day on screen. The Indicators them self has only indirect knowledge about dates other than start and stop date for the indicator, so the indicator number displayed on screen are used. 0 is the leftmost visible indicator.

Specified by:
getDailyPrintOut in interface IndicatorInterface
Parameters:
n - the number of day (0 is the first visible day on screen
Returns:
a String with Indicator name and value(s) that may be displayed on screen

printAll

public abstract java.lang.String[] printAll(int number)
Description copied from interface: IndicatorInterface
Generates an Array of strings that is suitable for printing to file or debugging purposes with all data within the range. There shall be one String per timeperiode (e.g. one per day for daily charts). A header String may also be generated. Note that the start and stop values shall be based on the original LogDataSeries and not the indicator series. If the indicatorSeries has no valid data for parts of the series "not valid" may be printed.

Specified by:
printAll in interface IndicatorInterface
Parameters:
number - of values to print, starting from the latest
Returns:
a String array with all values within the range

getColor

public java.awt.Color getColor()

setColor

public void setColor(java.awt.Color color)

displayNumberToArrayIndex

protected int displayNumberToArrayIndex(int n,
                                        GraphicsParameters graphicsParameters,
                                        java.util.ArrayList indicatorSeries)
Avoid using this as it is not correct in all cases - will be removed Finds the place in the indicatorSeries for a particular posistion on the display

Parameters:
n - the posistion on display
Returns:
the position in the indicatorSeries


Copyright © 2004 Kaare Ranum