|
From: xanaot <xa...@us...> - 2007-08-20 22:25:40
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16125/src/test/net/sf/tail Modified Files: EMACompleteTest.java Log Message: commitando o report com chart Index: EMACompleteTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/EMACompleteTest.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** EMACompleteTest.java 20 Aug 2007 21:31:20 -0000 1.6 --- EMACompleteTest.java 20 Aug 2007 22:25:40 -0000 1.7 *************** *** 1,7 **** --- 1,12 ---- package net.sf.tail; + import java.io.BufferedOutputStream; + import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; + import java.io.FileOutputStream; import java.io.IOException; + import java.io.OutputStream; + import java.io.PrintWriter; import java.util.HashSet; import java.util.LinkedList; *************** *** 17,20 **** --- 22,28 ---- import net.sf.tail.analysis.evaluator.BestStrategyEvaluator; import net.sf.tail.analysis.walk.WalkForward; + import net.sf.tail.flow.CashFlow; + import net.sf.tail.graphics.StockAndCashFlowChart; + import net.sf.tail.graphics.StockAndCashFlowDataset; import net.sf.tail.indicator.simple.ClosePriceIndicator; import net.sf.tail.indicator.tracker.EMAIndicator; *************** *** 26,29 **** --- 34,39 ---- import net.sf.tail.strategy.IndicatorCrossedIndicatorStrategy; + import org.jfree.chart.ChartUtilities; + import org.jfree.chart.JFreeChart; import org.joda.time.Period; *************** *** 46,52 **** Set<Strategy> strategies = new HashSet<Strategy>(); ! ! for (int i = 4; i < 20; i++) { ! Indicator<Double> close = new ClosePriceIndicator(timeSeries); Indicator<Double> tracker = new EMAIndicator(close, i); Strategy strategy = new IndicatorCrossedIndicatorStrategy(close, tracker); --- 56,61 ---- Set<Strategy> strategies = new HashSet<Strategy>(); ! Indicator<Double> close = new ClosePriceIndicator(timeSeries); ! for (int i = 4; i < 20; i++) { Indicator<Double> tracker = new EMAIndicator(close, i); Strategy strategy = new IndicatorCrossedIndicatorStrategy(close, tracker); *************** *** 54,65 **** } ! Report r = w.walk(strategies,new SlicerByTimePeriod(timeSeries,new Period().withDays(1), SlicerType.MEMORIZED),new TotalProfitCriterion()); List<AnalysisCriterion> criteria = new LinkedList<AnalysisCriterion>(); criteria.add(new NumberOfTradesCriterion()); criteria.add(new NumberOfTicksCriterion()); criteria.add(new MaximumDrawDownCriterion()); ! criteria.add(new RewardRiskRatioCriterion()); StringBuffer html = new ReportGenerator().generate(r,criteria); ! System.out.println(html); } --- 63,87 ---- } ! Report r = w.walk(strategies,new SlicerByTimePeriod(timeSeries,new Period().withMonths(1), SlicerType.MEMORIZED),new TotalProfitCriterion()); List<AnalysisCriterion> criteria = new LinkedList<AnalysisCriterion>(); criteria.add(new NumberOfTradesCriterion()); criteria.add(new NumberOfTicksCriterion()); criteria.add(new MaximumDrawDownCriterion()); ! criteria.add(new RewardRiskRatioCriterion()); ! ! CashFlow cashflow = new CashFlow(timeSeries, r.getAllTrades(),timeSeries.getTick(0).getClosePrice()); ! StockAndCashFlowDataset stockData = new StockAndCashFlowDataset(timeSeries, close,cashflow); ! StockAndCashFlowChart stockChart = new StockAndCashFlowChart(stockData); ! JFreeChart jfreechart = stockChart.createChart(""); ! ! ChartUtilities.saveChartAsPNG(new File("src/templates/ambev.png"), jfreechart, 800, 300); ! StringBuffer html = new ReportGenerator().generate(r,criteria); ! File reportHtml = new File("src/templates/report.html"); ! OutputStream out = new BufferedOutputStream(new FileOutputStream(reportHtml)); ! PrintWriter write = new PrintWriter(out); ! write.print(html); ! write.close(); ! //System.out.println(html); } |