|
From: Thies <tg...@us...> - 2007-05-19 13:13:32
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/oscilator In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25214/src/java/net/sf/tail/indicator/oscilator Added Files: StochasticOscilatorK.java StochasticOscilatorD.java Removed Files: StochasticOscilatorFast.java Log Message: stochasticOscilatorK, stochasticOscilatorD, seus testes e imports arrumados --- NEW FILE: StochasticOscilatorD.java --- package net.sf.tail.indicator.oscilator; import net.sf.tail.Indicator; import net.sf.tail.indicator.tracker.SMAIndicator; public class StochasticOscilatorD implements Indicator<Double>{ private Indicator<? extends Number> indicator; public StochasticOscilatorD(StochasticOscilatorK sof) { indicator = new SMAIndicator(sof, 3); } public StochasticOscilatorD(Indicator<? extends Number> indicator) { this.indicator = indicator; } public Double getValue(int index) { return indicator.getValue(index).doubleValue(); } } --- NEW FILE: StochasticOscilatorK.java --- package net.sf.tail.indicator.oscilator; import net.sf.tail.Indicator; import net.sf.tail.TimeSeries; import net.sf.tail.indicator.simple.ClosePriceIndicator; import net.sf.tail.indicator.simple.MaxPriceIndicator; import net.sf.tail.indicator.simple.MinPriceIndicator; import net.sf.tail.indicator.tracker.HighestValueIndicator; import net.sf.tail.indicator.tracker.LowestValueIndicator; public class StochasticOscilatorK implements Indicator<Double> { private final Indicator<? extends Number> indicator; private final int timeFrame; private MaxPriceIndicator maxPriceIndicator; private MinPriceIndicator minPriceIndicator; // TODO - ver a complexidade dos construtores. public StochasticOscilatorK(TimeSeries timeSeries, int timeFrame) { this(new ClosePriceIndicator(timeSeries), timeFrame, new MaxPriceIndicator(timeSeries), new MinPriceIndicator( timeSeries)); } public StochasticOscilatorK(Indicator<? extends Number> indicator, int timeFrame, MaxPriceIndicator maxPriceIndicator, MinPriceIndicator minPriceIndicator) { this.indicator = indicator; this.timeFrame = timeFrame; this.maxPriceIndicator = maxPriceIndicator; this.minPriceIndicator = minPriceIndicator; } public Double getValue(int index) { /* * TODO - Pensar em otimização ou maior número de indicadores ? * */ HighestValueIndicator highestHigh = new HighestValueIndicator(maxPriceIndicator, timeFrame); LowestValueIndicator lowestMin = new LowestValueIndicator(minPriceIndicator, timeFrame); double highestHighPrice = highestHigh.getValue(index); double lowestLowPrice = lowestMin.getValue(index); return ((indicator.getValue(index).doubleValue() - lowestLowPrice) / (highestHighPrice - lowestLowPrice)) * 100d; } } --- StochasticOscilatorFast.java DELETED --- |