|
From: Márcio V. d. S. <mv...@us...> - 2007-05-14 00:26:38
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13988/src/java/net/sf/tail/indicator/tracker Modified Files: AbstractIndicator.java SMAIndicator.java EMAIndicator.java RSIIndicator.java Log Message: implementado o RSI Index: RSIIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/RSIIndicator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** RSIIndicator.java 13 May 2007 01:28:25 -0000 1.5 --- RSIIndicator.java 14 May 2007 00:26:35 -0000 1.6 *************** *** 3,7 **** import net.sf.tail.Indicator; ! public class RSIIndicator extends AbstractIndicator { public RSIIndicator(Indicator<? extends Number> indicator, int timeFrame) { --- 3,7 ---- import net.sf.tail.Indicator; ! public class RSIIndicator extends AbstractIndicator<Double> { public RSIIndicator(Indicator<? extends Number> indicator, int timeFrame) { Index: EMAIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/EMAIndicator.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** EMAIndicator.java 13 May 2007 01:28:25 -0000 1.7 --- EMAIndicator.java 14 May 2007 00:26:35 -0000 1.8 *************** *** 3,7 **** import net.sf.tail.Indicator; ! public class EMAIndicator extends AbstractIndicator { public EMAIndicator(Indicator<? extends Number> indicator, int timeFrame) { --- 3,7 ---- import net.sf.tail.Indicator; ! public class EMAIndicator extends AbstractIndicator<Double> { public EMAIndicator(Indicator<? extends Number> indicator, int timeFrame) { Index: SMAIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/SMAIndicator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** SMAIndicator.java 13 May 2007 01:28:25 -0000 1.5 --- SMAIndicator.java 14 May 2007 00:26:35 -0000 1.6 *************** *** 3,7 **** import net.sf.tail.Indicator; ! public class SMAIndicator extends AbstractIndicator { public SMAIndicator(Indicator<? extends Number> indicator, int timeFrame) { --- 3,7 ---- import net.sf.tail.Indicator; ! public class SMAIndicator extends AbstractIndicator<Double> { public SMAIndicator(Indicator<? extends Number> indicator, int timeFrame) { Index: AbstractIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/AbstractIndicator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AbstractIndicator.java 13 May 2007 01:28:25 -0000 1.2 --- AbstractIndicator.java 14 May 2007 00:26:35 -0000 1.3 *************** *** 1,39 **** package net.sf.tail.indicator.tracker; import net.sf.tail.Indicator; ! public abstract class AbstractIndicator implements Indicator<Double> { protected final Indicator<? extends Number> indicator; protected final int timeFrame; ! protected Double[] resultsList; public AbstractIndicator(Indicator<? extends Number> indicator, int timeFrame) { this.indicator = indicator; this.timeFrame = timeFrame; ! resultsList = new Double[100]; } ! public Double getValue(int index) { ! if(resultsList.length <= index ) { ! increaseLenght(); } ! if(resultsList[index] == null){ ! resultsList[index] = calculate(index); } ! return resultsList[index]; } ! private void increaseLenght() { ! Double[] tmp = new Double[resultsList.length*2]; ! for (int i = 0; i < resultsList.length; i++) { ! tmp[i] = resultsList[i]; } - resultsList = tmp; } ! protected abstract Double calculate(int index); --- 1,42 ---- package net.sf.tail.indicator.tracker; + import java.util.ArrayList; + import java.util.List; + import net.sf.tail.Indicator; ! public abstract class AbstractIndicator<T> implements Indicator { protected final Indicator<? extends Number> indicator; protected final int timeFrame; ! protected List<T> resultsList; public AbstractIndicator(Indicator<? extends Number> indicator, int timeFrame) { this.indicator = indicator; this.timeFrame = timeFrame; ! resultsList = new ArrayList<T>(); ! } ! public T getValue(int index) { ! if(resultsList.size() <= index ) { ! increaseLenght(index); } ! if(resultsList.get(index) == null){ ! resultsList.set(index,calculate(index)); } ! return resultsList.get(index); } ! private void increaseLenght(int index) { ! ! for (int i = 0; i <= index; i++) { ! resultsList.add(null); } } ! protected abstract T calculate(int index); |