You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(148) |
Jun
(48) |
Jul
(107) |
Aug
(292) |
Sep
(301) |
Oct
(530) |
Nov
(142) |
Dec
(37) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
|
Feb
|
Mar
(4) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-20 18:03:57
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32071/src/java/net/sf/tail Modified Files: Indicator.java Log Message: terminado o reportSerializer e refatorado código Index: Indicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/Indicator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Indicator.java 21 Jul 2007 15:13:46 -0000 1.5 --- Indicator.java 20 Aug 2007 18:03:58 -0000 1.6 *************** *** 11,15 **** * @param <T> */ ! public interface Indicator<T> { public T getValue(int index); public String getName(); --- 11,15 ---- * @param <T> */ ! public interface Indicator<T>{ public T getValue(int index); public String getName(); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-20 18:03:57
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/tracker/bollingerbands In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32071/src/test/net/sf/tail/indicator/tracker/bollingerbands Modified Files: BollingerBandsMiddleIndicatorTest.java BollingerBandsUpperIndicatorTest.java BollingerBandsLowerIndicatorTest.java Log Message: terminado o reportSerializer e refatorado código Index: BollingerBandsMiddleIndicatorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/tracker/bollingerbands/BollingerBandsMiddleIndicatorTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BollingerBandsMiddleIndicatorTest.java 7 Jul 2007 18:45:23 -0000 1.2 --- BollingerBandsMiddleIndicatorTest.java 20 Aug 2007 18:03:57 -0000 1.3 *************** *** 2,6 **** import static org.junit.Assert.assertEquals; - import junit.framework.JUnit4TestAdapter; import net.sf.tail.TimeSeries; import net.sf.tail.indicator.simple.ClosePriceIndicator; --- 2,5 ---- *************** *** 45,51 **** bbmSMA.getValue(3000); } - - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(BollingerBandsMiddleIndicatorTest.class); - } } --- 44,46 ---- Index: BollingerBandsLowerIndicatorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/tracker/bollingerbands/BollingerBandsLowerIndicatorTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BollingerBandsLowerIndicatorTest.java 7 Jul 2007 18:45:23 -0000 1.2 --- BollingerBandsLowerIndicatorTest.java 20 Aug 2007 18:03:57 -0000 1.3 *************** *** 2,6 **** import static org.junit.Assert.assertEquals; - import junit.framework.JUnit4TestAdapter; import net.sf.tail.TimeSeries; import net.sf.tail.indicator.helper.StandardDeviationIndicator; --- 2,5 ---- *************** *** 66,72 **** bblSMA.getValue(data.getSize()); } - - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(BollingerBandsLowerIndicatorTest.class); - } } --- 65,67 ---- Index: BollingerBandsUpperIndicatorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/tracker/bollingerbands/BollingerBandsUpperIndicatorTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BollingerBandsUpperIndicatorTest.java 7 Jul 2007 18:45:23 -0000 1.2 --- BollingerBandsUpperIndicatorTest.java 20 Aug 2007 18:03:57 -0000 1.3 *************** *** 2,6 **** import static org.junit.Assert.assertEquals; - import junit.framework.JUnit4TestAdapter; import net.sf.tail.TimeSeries; import net.sf.tail.indicator.helper.StandardDeviationIndicator; --- 2,5 ---- *************** *** 70,77 **** bbuSMA.getValue(data.getSize()); } - - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(BollingerBandsUpperIndicatorTest.class); - } - } --- 69,71 ---- |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-20 18:03:57
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32071/src/java/net/sf/tail/analysis Modified Files: SlicerByTimePeriod.java Log Message: terminado o reportSerializer e refatorado código Index: SlicerByTimePeriod.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/SlicerByTimePeriod.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** SlicerByTimePeriod.java 15 Aug 2007 22:07:52 -0000 1.5 --- SlicerByTimePeriod.java 20 Aug 2007 18:03:57 -0000 1.6 *************** *** 15,27 **** public class SlicerByTimePeriod implements TimeSeriesSlicer { ! private TimeSeries series; private Period period; ! private List<TimeSeries> splittedSeries; private DateTime periodBegin; ! private static Logger LOG = Logger.getLogger(SlicerByTimePeriod.class); private SlicerType slicerType; --- 15,27 ---- public class SlicerByTimePeriod implements TimeSeriesSlicer { ! private transient TimeSeries series; private Period period; ! private transient List<TimeSeries> splittedSeries; private DateTime periodBegin; ! private transient static Logger LOG = Logger.getLogger(SlicerByTimePeriod.class); private SlicerType slicerType; |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-20 18:03:56
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32071/src/test/net/sf/tail/report Modified Files: ReportSerializerTest.java Log Message: terminado o reportSerializer e refatorado código Index: ReportSerializerTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/report/ReportSerializerTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ReportSerializerTest.java 15 Aug 2007 22:07:52 -0000 1.1 --- ReportSerializerTest.java 20 Aug 2007 18:03:58 -0000 1.2 *************** *** 1,4 **** --- 1,6 ---- package net.sf.tail.report; + import static org.junit.Assert.assertEquals; + import java.util.HashSet; import java.util.Set; *************** *** 46,52 **** String xml = serializer.toXML(r); Report reportAfter = serializer.fromXML(xml); ! } - } --- 48,54 ---- String xml = serializer.toXML(r); Report reportAfter = serializer.fromXML(xml); ! assertEquals(r.getCriterion().getClass(),reportAfter.getCriterion().getClass()); ! assertEquals(r.getSlicer().getClass(), reportAfter.getSlicer().getClass()); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-20 18:03:56
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32071/src/test/net/sf/tail Modified Files: EMACompleteTest.java Added Files: XmlSerializerTest.java Log Message: terminado o reportSerializer e refatorado código Index: EMACompleteTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/EMACompleteTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EMACompleteTest.java 18 Aug 2007 19:55:48 -0000 1.3 --- EMACompleteTest.java 20 Aug 2007 18:03:57 -0000 1.4 *************** *** 11,15 **** import net.sf.tail.TimeSeriesSlicer.SlicerType; import net.sf.tail.analysis.SlicerByTimePeriod; - import net.sf.tail.analysis.criteria.AverageProfitCriterion; import net.sf.tail.analysis.criteria.MaximumDrawDownCriterion; import net.sf.tail.analysis.criteria.NumberOfTicksCriterion; --- 11,14 ---- --- NEW FILE: XmlSerializerTest.java --- package net.sf.tail; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.HashSet; import java.util.Set; import net.sf.tail.TimeSeriesSlicer.SlicerType; import net.sf.tail.analysis.SlicerByTimePeriod; import net.sf.tail.analysis.criteria.TotalProfitCriterion; import net.sf.tail.analysis.evaluator.BestStrategyEvaluator; import net.sf.tail.analysis.walk.WalkForward; import net.sf.tail.indicator.simple.ClosePriceIndicator; import net.sf.tail.indicator.tracker.EMAIndicator; import net.sf.tail.reader.CedroTimeSeriesLoader; import net.sf.tail.report.Report; import net.sf.tail.report.ReportSerializer; import net.sf.tail.runner.HistoryRunner; import net.sf.tail.strategy.IndicatorCrossedIndicatorStrategy; import org.joda.time.Period; public class XmlSerializerTest { public void testXMLSerialize() { CedroTimeSeriesLoader ctsl = new CedroTimeSeriesLoader(); TimeSeries timeSeries = null; try { timeSeries = ctsl.load(new FileInputStream("BaseBovespa/15min/ambv4.csv"), "AMBV4 IntraDAY"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Walker w = new WalkForward(new BestStrategyEvaluator(new HistoryRunner(OperationType.BUY))); 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); strategies.add(strategy); } Report r = w.walk(strategies,new SlicerByTimePeriod(timeSeries,new Period().withDays(1), SlicerType.MEMORIZED),new TotalProfitCriterion()); ReportSerializer serializer = new ReportSerializer(); String xml = serializer.toXML(r); try { FileOutputStream fos = new FileOutputStream("xml/ReportTest.xml"); OutputStreamWriter osw = new OutputStreamWriter(fos); BufferedWriter bw = new BufferedWriter(osw); bw.write(xml); bw.close(); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { XmlSerializerTest xmlSerializer = new XmlSerializerTest(); xmlSerializer.testXMLSerialize(); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-20 18:03:56
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/tracker In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32071/src/test/net/sf/tail/indicator/tracker Modified Files: SMAIndicatorTest.java RSIIndicatorTest.java WilliamsRIndicatorTest.java Log Message: terminado o reportSerializer e refatorado código Index: RSIIndicatorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/tracker/RSIIndicatorTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RSIIndicatorTest.java 7 Jul 2007 18:45:24 -0000 1.2 --- RSIIndicatorTest.java 20 Aug 2007 18:03:57 -0000 1.3 *************** *** 2,6 **** import static org.junit.Assert.assertEquals; - import junit.framework.JUnit4TestAdapter; import net.sf.tail.TimeSeries; import net.sf.tail.indicator.simple.ClosePriceIndicator; --- 2,5 ---- *************** *** 57,63 **** assertEquals(3d, rsi.getValue(300)); } - - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(RSIIndicatorTest.class); - } } --- 56,58 ---- Index: SMAIndicatorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/tracker/SMAIndicatorTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SMAIndicatorTest.java 7 Jul 2007 18:45:24 -0000 1.2 --- SMAIndicatorTest.java 20 Aug 2007 18:03:57 -0000 1.3 *************** *** 2,6 **** import static org.junit.Assert.assertEquals; - import junit.framework.JUnit4TestAdapter; import net.sf.tail.TimeSeries; import net.sf.tail.indicator.simple.ClosePriceIndicator; --- 2,5 ---- *************** *** 58,64 **** assertEquals(3d, quoteSMA.getValue(13)); } - - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(SMAIndicatorTest.class); - } } --- 57,59 ---- Index: WilliamsRIndicatorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/indicator/tracker/WilliamsRIndicatorTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WilliamsRIndicatorTest.java 7 Jul 2007 18:45:24 -0000 1.2 --- WilliamsRIndicatorTest.java 20 Aug 2007 18:03:57 -0000 1.3 *************** *** 6,10 **** import java.util.List; - import junit.framework.JUnit4TestAdapter; import net.sf.tail.DefaultTimeSeries; import net.sf.tail.Tick; --- 6,9 ---- *************** *** 94,100 **** wr.getValue(13); } - - public static junit.framework.Test suite() { - return new JUnit4TestAdapter(WilliamsRIndicatorTest.class); - } } --- 93,95 ---- |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-20 17:19:16
|
Update of /cvsroot/tail/Tail/xml In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13353/xml Log Message: Directory /cvsroot/tail/Tail/xml added to the repository |
|
From: Carlos <ma...@us...> - 2007-08-19 03:30:38
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25558/src/test/net/sf/tail/graphics Modified Files: CombinedSeriesAndFlowChartTest.java Log Message: Mais pequenos ajustes... Index: CombinedSeriesAndFlowChartTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/graphics/CombinedSeriesAndFlowChartTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CombinedSeriesAndFlowChartTest.java 19 Aug 2007 03:10:01 -0000 1.1 --- CombinedSeriesAndFlowChartTest.java 19 Aug 2007 03:30:38 -0000 1.2 *************** *** 40,44 **** private int seriesEndIndex = 50; - public CombinedSeriesAndFlowChartTest(String chartName) { super(chartName); --- 40,43 ---- *************** *** 63,67 **** mainPanel.add(chartPanel,"North"); - mainPanel.setPreferredSize(new Dimension(1280, 1024)); --- 62,65 ---- *************** *** 78,105 **** } - // public JPanel createBollingerBandsChart() - // { - // - // ClosePriceIndicator close = new ClosePriceIndicator(timeSeries); - // indicators.add(close); - // - // BollingerBandsMiddleIndicator bbm = new BollingerBandsMiddleIndicator(close); - // StandardDeviationIndicator standard = new StandardDeviationIndicator(close, 8); - // BollingerBandsLowerIndicator bbl = new BollingerBandsLowerIndicator(bbm, standard); - // BollingerBandsUpperIndicator bbu = new BollingerBandsUpperIndicator(bbm, standard); - // - // indicators.add(bbu); - // indicators.add(bbm); - // indicators.add(bbl); - // - // - // seriesDataset = new SeriesDataset(timeSeries, indicators,0,seriesEndIndex); - // - // SeriesChart seriesChart = new SeriesChart(seriesDataset); - // JFreeChart jfreechart = seriesChart.createChart("Test Chart"); - // - // return new ChartPanel(jfreechart); - // } - public JPanel createSmaAndStrategyChart() { --- 76,79 ---- *************** *** 121,127 **** return new ChartPanel(jfreechart); } ! ! ! /** * @return --- 95,99 ---- return new ChartPanel(jfreechart); } ! /** * @return *************** *** 148,152 **** seriesDataset.moveLeft(); } - } } --- 120,123 ---- |
|
From: Carlos <ma...@us...> - 2007-08-19 03:27:39
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24310/src/java/net/sf/tail/graphics Modified Files: CombinedSeriesAndFlowChart.java Log Message: Ajustadas as legendas, fontes e etc do chart. Index: CombinedSeriesAndFlowChart.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/CombinedSeriesAndFlowChart.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CombinedSeriesAndFlowChart.java 19 Aug 2007 03:10:00 -0000 1.2 --- CombinedSeriesAndFlowChart.java 19 Aug 2007 03:27:40 -0000 1.3 *************** *** 2,9 **** --- 2,12 ---- import java.awt.Color; + import java.awt.Font; import net.sf.tail.graphics.forms.ShapeFactory; import org.jfree.chart.JFreeChart; + import org.jfree.chart.axis.CategoryAxis; + import org.jfree.chart.axis.CategoryLabelPositions; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.plot.CategoryPlot; *************** *** 57,73 **** combinedplot, true); ! // //Setando labels em 90 graus ! // CategoryAxis categoryAxis = plot.getDomainAxis(); ! // categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90); ! // ! // //Setando tamanho do grafico ! // NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); ! // rangeAxis.setAutoRangeIncludesZero(false); ! // ! // //Setando tamanho do label ! // categoryAxis.setLabelFont(new Font("SansSerif", 0, 10)); ! // ! // //Setando tamanho do label de cada tick ! // categoryAxis.setTickLabelFont(new Font("SansSerif", 0, 10)); //gerando pontos --- 60,76 ---- combinedplot, true); ! //Setando labels em 90 graus ! CategoryAxis categoryAxis = seriesPlot.getDomainAxis(); ! categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90); ! ! //Setando tamanho do grafico ! NumberAxis rangeAxis = (NumberAxis) seriesPlot.getRangeAxis(); ! rangeAxis.setAutoRangeIncludesZero(false); ! ! //Setando tamanho do label ! categoryAxis.setLabelFont(new Font("SansSerif", 0, 10)); ! ! //Setando tamanho do label de cada tick ! categoryAxis.setTickLabelFont(new Font("SansSerif", 0, 10)); //gerando pontos |
|
From: Carlos <ma...@us...> - 2007-08-19 03:10:40
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16772/src/java/net/sf/tail/graphics Modified Files: CombinedSeriesAndFlowChart.java Log Message: Aeeeeee, consegui! CombinedSeriesAndFlow consertado e funcionando. Teste gera um chart bem legal com um chart normal indicando local de trade e um chart com cashflow. Index: CombinedSeriesAndFlowChart.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/CombinedSeriesAndFlowChart.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CombinedSeriesAndFlowChart.java 18 Aug 2007 14:36:17 -0000 1.1 --- CombinedSeriesAndFlowChart.java 19 Aug 2007 03:10:00 -0000 1.2 *************** *** 15,26 **** import org.jfree.data.general.DatasetChangeListener; ! public class CombinedSeriesAndFlowChart implements DatasetChangeListener ! { private CategoryDataset seriesDataSet; private CategoryDataset flowDataSet; private CategoryPlot seriesPlot; private CategoryPlot flowPlot; ! private LineAndShapeRenderer lineAndShapeRenderer; public CombinedSeriesAndFlowChart(CategoryDataset seriesDataSet, CategoryDataset flowDataSet) { --- 15,31 ---- import org.jfree.data.general.DatasetChangeListener; ! public class CombinedSeriesAndFlowChart implements DatasetChangeListener { private CategoryDataset seriesDataSet; + private CategoryDataset flowDataSet; + private CategoryPlot seriesPlot; + private CategoryPlot flowPlot; ! ! private LineAndShapeRenderer seriesLineAndShapeRenderer; ! ! private LineAndShapeRenderer flowLineAndShapeRenderer; public CombinedSeriesAndFlowChart(CategoryDataset seriesDataSet, CategoryDataset flowDataSet) { *************** *** 29,73 **** this.seriesDataSet.addChangeListener(this); this.flowDataSet.addChangeListener(this); ! this.lineAndShapeRenderer = new LineAndShapeRenderer(true, true); } - - public JFreeChart createChart(String chartName) - { - NumberAxis seriesNumberAxis = new NumberAxis("Stock Value"); - seriesNumberAxis.setAutoRangeIncludesZero(false); - seriesPlot = new CategoryPlot(seriesDataSet, null, seriesNumberAxis, lineAndShapeRenderer); - seriesPlot.setBackgroundPaint(Color.BLACK); - - NumberAxis flowNumberAxis = new NumberAxis("Money Amount"); - flowNumberAxis.setAutoRangeIncludesZero(false); - flowPlot = new CategoryPlot(flowDataSet, null, flowNumberAxis, lineAndShapeRenderer); - flowPlot.setBackgroundPaint(Color.BLACK); - - CombinedDomainCategoryPlot combinedplot = new CombinedDomainCategoryPlot(); - combinedplot.setGap(10D); - combinedplot.add(seriesPlot, 1); - combinedplot.add(flowPlot, 1); - combinedplot.setOrientation(PlotOrientation.VERTICAL); - JFreeChart jfreechart = new JFreeChart("Combined Series and Flow Chart", JFreeChart.DEFAULT_TITLE_FONT, combinedplot, true); ! // //Setando labels em 90 graus ! // CategoryAxis categoryAxis = plot.getDomainAxis(); ! // categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90); ! // ! // //Setando tamanho do grafico ! // NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); ! // rangeAxis.setAutoRangeIncludesZero(false); ! // ! // //Setando tamanho do label ! // categoryAxis.setLabelFont(new Font("SansSerif", 0, 10)); ! // ! // //Setando tamanho do label de cada tick ! // categoryAxis.setTickLabelFont(new Font("SansSerif", 0, 10)); ! ! //gerando pontos ! setSeriesShapes(); ! ! return jfreechart; ! } /** --- 34,79 ---- this.seriesDataSet.addChangeListener(this); this.flowDataSet.addChangeListener(this); ! this.seriesLineAndShapeRenderer = new LineAndShapeRenderer(true, true); ! this.flowLineAndShapeRenderer = new LineAndShapeRenderer(true, true); } ! public JFreeChart createChart(String chartName) { ! NumberAxis seriesNumberAxis = new NumberAxis("Stock Value"); ! seriesNumberAxis.setAutoRangeIncludesZero(false); ! seriesPlot = new CategoryPlot(seriesDataSet, null, seriesNumberAxis, seriesLineAndShapeRenderer); ! seriesPlot.setBackgroundPaint(Color.BLACK); ! ! NumberAxis flowNumberAxis = new NumberAxis("Money Amount"); ! flowNumberAxis.setAutoRangeIncludesZero(false); ! flowPlot = new CategoryPlot(flowDataSet, null, flowNumberAxis, flowLineAndShapeRenderer); ! flowPlot.setBackgroundPaint(Color.BLACK); ! ! CombinedDomainCategoryPlot combinedplot = new CombinedDomainCategoryPlot(); ! combinedplot.setGap(10D); ! combinedplot.add(seriesPlot); ! combinedplot.add(flowPlot); ! combinedplot.setOrientation(PlotOrientation.VERTICAL); ! JFreeChart jfreechart = new JFreeChart("Combined Series and Flow Chart", JFreeChart.DEFAULT_TITLE_FONT, ! combinedplot, true); ! ! // //Setando labels em 90 graus ! // CategoryAxis categoryAxis = plot.getDomainAxis(); ! // categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90); ! // ! // //Setando tamanho do grafico ! // NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); ! // rangeAxis.setAutoRangeIncludesZero(false); ! // ! // //Setando tamanho do label ! // categoryAxis.setLabelFont(new Font("SansSerif", 0, 10)); ! // ! // //Setando tamanho do label de cada tick ! // categoryAxis.setTickLabelFont(new Font("SansSerif", 0, 10)); ! ! //gerando pontos ! setSeriesShapes(); ! ! return jfreechart; ! } /** *************** *** 76,85 **** */ private void setSeriesShapes() { ! ! for (int i = 0; i < seriesDataSet.getRowCount(); i++) { ! lineAndShapeRenderer.setSeriesShape(i,ShapeFactory.getPoint()); } ! seriesPlot.setRenderer(lineAndShapeRenderer); ! flowPlot.setRenderer(lineAndShapeRenderer); } --- 82,99 ---- */ private void setSeriesShapes() { ! ! for (int i = 0; i < seriesDataSet.getRowCount(); i++) { ! if (seriesDataSet.getRowKey(i).equals("Buy")) ! seriesLineAndShapeRenderer.setSeriesShape(i, ShapeFactory.getDownArrow()); ! else if (seriesDataSet.getRowKey(i).equals("Sell")) ! seriesLineAndShapeRenderer.setSeriesShape(i, ShapeFactory.getUpperArrow()); ! else ! seriesLineAndShapeRenderer.setSeriesShape(i, ShapeFactory.getPoint()); } ! for (int i = 0; i < flowDataSet.getRowCount(); i++) { ! flowLineAndShapeRenderer.setSeriesShape(i, ShapeFactory.getPoint()); ! } ! seriesPlot.setRenderer(seriesLineAndShapeRenderer); ! flowPlot.setRenderer(flowLineAndShapeRenderer); } *************** *** 87,89 **** setSeriesShapes(); } ! } --- 101,103 ---- setSeriesShapes(); } ! } |
|
From: Carlos <ma...@us...> - 2007-08-19 03:10:40
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16772/src/test/net/sf/tail/graphics Added Files: CombinedSeriesAndFlowChartTest.java Log Message: Aeeeeee, consegui! CombinedSeriesAndFlow consertado e funcionando. Teste gera um chart bem legal com um chart normal indicando local de trade e um chart com cashflow. --- NEW FILE: CombinedSeriesAndFlowChartTest.java --- package net.sf.tail.graphics; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.swing.JButton; import javax.swing.JPanel; import net.sf.tail.Indicator; import net.sf.tail.OperationType; import net.sf.tail.TimeSeries; import net.sf.tail.Trade; import net.sf.tail.flow.CashFlow; import net.sf.tail.indicator.simple.ClosePriceIndicator; import net.sf.tail.indicator.tracker.SMAIndicator; import net.sf.tail.reader.CedroTimeSeriesLoader; import net.sf.tail.runner.HistoryRunner; import net.sf.tail.strategy.IndicatorCrossedIndicatorStrategy; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; public class CombinedSeriesAndFlowChartTest extends ApplicationFrame implements ActionListener{ private static final long serialVersionUID = -6626066873257820845L; private SeriesDataset seriesDataset; private CashFlowDataset flowDataset; private final List<Indicator<? extends Number>> indicators; private CashFlow cashFlow; private final TimeSeries timeSeries; private int seriesEndIndex = 50; public CombinedSeriesAndFlowChartTest(String chartName) { super(chartName); indicators = new ArrayList<Indicator<? extends Number>>(); timeSeries = readFileData(); JButton button2 = new JButton("Move Left"); button2.setActionCommand("Move Left"); button2.addActionListener(this); JButton button = new JButton("Move Right"); button.setActionCommand("Move Right"); button.addActionListener(this); JPanel chartPanel = createSmaAndStrategyChart(); chartPanel.setPreferredSize(new Dimension(800, 600)); JPanel mainPanel = new JPanel(new FlowLayout()); mainPanel.add(button2,"South"); mainPanel.add(button,"South"); mainPanel.add(chartPanel,"North"); mainPanel.setPreferredSize(new Dimension(1280, 1024)); setContentPane(mainPanel); } public static void main(String args[]) { CombinedSeriesAndFlowChartTest chart = new CombinedSeriesAndFlowChartTest("Chart test"); chart.pack(); RefineryUtilities.centerFrameOnScreen(chart); chart.setVisible(true); } // public JPanel createBollingerBandsChart() // { // // ClosePriceIndicator close = new ClosePriceIndicator(timeSeries); // indicators.add(close); // // BollingerBandsMiddleIndicator bbm = new BollingerBandsMiddleIndicator(close); // StandardDeviationIndicator standard = new StandardDeviationIndicator(close, 8); // BollingerBandsLowerIndicator bbl = new BollingerBandsLowerIndicator(bbm, standard); // BollingerBandsUpperIndicator bbu = new BollingerBandsUpperIndicator(bbm, standard); // // indicators.add(bbu); // indicators.add(bbm); // indicators.add(bbl); // // // seriesDataset = new SeriesDataset(timeSeries, indicators,0,seriesEndIndex); // // SeriesChart seriesChart = new SeriesChart(seriesDataset); // JFreeChart jfreechart = seriesChart.createChart("Test Chart"); // // return new ChartPanel(jfreechart); // } public JPanel createSmaAndStrategyChart() { ClosePriceIndicator close = new ClosePriceIndicator(timeSeries); SMAIndicator sma = new SMAIndicator(close, 8); indicators.add(close); indicators.add(sma); List<Trade> trades = new HistoryRunner(OperationType.BUY).run(new IndicatorCrossedIndicatorStrategy(close,sma), 0, 100); cashFlow = new CashFlow(timeSeries, trades); seriesDataset = new SeriesDataset(timeSeries, indicators, 0, seriesEndIndex,trades); flowDataset = new CashFlowDataset(timeSeries, cashFlow, 0, seriesEndIndex); CombinedSeriesAndFlowChart seriesAndFlowChart = new CombinedSeriesAndFlowChart(seriesDataset, flowDataset); JFreeChart jfreechart = seriesAndFlowChart.createChart("Test Chart"); return new ChartPanel(jfreechart); } /** * @return */ private TimeSeries readFileData() { CedroTimeSeriesLoader ctsl = new CedroTimeSeriesLoader(); TimeSeries timeSeries = null; try { timeSeries = ctsl.load(new FileInputStream("BaseBovespa/15min/ambv4.csv"), ""); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return timeSeries; } public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("Move Right")){ flowDataset.moveRight(); seriesDataset.moveRight(); } else if(e.getActionCommand().equals("Move Left")){ flowDataset.moveLeft(); seriesDataset.moveLeft(); } } } |
|
From: xanaot <xa...@us...> - 2007-08-18 19:55:48
|
Update of /cvsroot/tail/Tail/src/templates In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1336/src/templates Modified Files: header.ftl report.html report.ftl style.css Log Message: atualizado css Index: report.html =================================================================== RCS file: /cvsroot/tail/Tail/src/templates/report.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** report.html 16 Aug 2007 21:39:19 -0000 1.3 --- report.html 18 Aug 2007 19:55:48 -0000 1.4 *************** *** 2,13 **** <head> <title>Walk Forward Report</title> - </head> ! <h1>Walk Forwad Report</h1> ! <h2>AMBV4 IntraDAY</h2> ! <h3>SlicerByTimePeriod Period: 1 day(s)</h3> ! <h3>Using criterion: TotalProfitCriterion</h3> [...4377 lines suppressed...] ! <td>230</td> ! <td class="date">10:00 03/05/2007 - 03:30 03/05/2007</td> ! <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 6</td> ! <td>1,01</td> <td>1</td> ! <td>1</td> ! <td>0</td> ! <td>â</td> </tr> <tr class="total"> ! <td>TOTAL</td> <td>10:00 02/06/2006 - 03:30 03/05/2007</td> <td>-</td> ! <td>2,915</td> ! <td>847</td> ! <td>2.616</td> ! <td>0,188</td> ! <td>15,471</td> </tr> Index: report.ftl =================================================================== RCS file: /cvsroot/tail/Tail/src/templates/report.ftl,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** report.ftl 15 Aug 2007 22:26:11 -0000 1.8 --- report.ftl 18 Aug 2007 19:55:48 -0000 1.9 *************** *** 4,19 **** <table align="center"> <tr> - <th></th> <th>Period</th> ! <th>Strategy Used</th> ! <th>Applyed Criterion</th> <#list criterions as criterion> ! <th>${criterion.class.simpleName}</th> </#list> </tr> <tr class="row1"> ! <td></td> ! <td>${report.slicer.slice(0).period}</td> ! <td>-</td> <td>-</td> <#list criterions as criterion> --- 4,20 ---- <table align="center"> <tr> <th>Period</th> ! <th>Date</th> ! <th>Strategy</th> ! <th>${report.criterion.class.simpleName.split("Criterion")[0]}</th> <#list criterions as criterion> ! <th>${criterion.class.simpleName.split("Criterion")[0]}</th> </#list> </tr> + <#assign x=1> <tr class="row1"> ! <td>${x}</td> ! <td class="date">${report.slicer.slice(0).period}</td> ! <td class="strategy">-</td> <td>-</td> <#list criterions as criterion> *************** *** 22,26 **** </tr> ! <#assign x=1> <#list report.decisions as decision> <#if (x%2)= 0> --- 23,27 ---- </tr> ! <#list report.decisions as decision> <#if (x%2)= 0> *************** *** 30,36 **** </#if> <#assign x=x+1> ! <td></td> ! <td class="period">${decision.series.period}</td> ! <td>${decision.strategy.name}</td> <td>${report.criterion.calculate(decision.series, decision.trades)}</td> <#list criterions as criterion> --- 31,37 ---- </#if> <#assign x=x+1> ! <td>${x}</td> ! <td class="date">${decision.series.period}</td> ! <td class="strategy">${decision.strategy.name}</td> <td>${report.criterion.calculate(decision.series, decision.trades)}</td> <#list criterions as criterion> *************** *** 40,44 **** </#list> <tr class="total"> ! <td>Total</td> <td>${report.slicer.series.period}</td> <td>-</td> --- 41,45 ---- </#list> <tr class="total"> ! <td>TOTAL</td> <td>${report.slicer.series.period}</td> <td>-</td> Index: style.css =================================================================== RCS file: /cvsroot/tail/Tail/src/templates/style.css,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** style.css 16 Aug 2007 21:39:19 -0000 1.3 --- style.css 18 Aug 2007 19:55:48 -0000 1.4 *************** *** 1,69 **** body { background:#FFFFFF; - font-family:Verdana,Arial,sans-serif; text-align:center; } h1{ ! font-size: 50px; font-family: Arial; ! color: #CC0001; } - h2{ ! font-size: 40px; ! font-family: Arial; } h3{ ! font-size: 20px; ! font-family: Verdana,Arial,sans-serif; } table { text-align:center; ! border-collapse: separated; ! border-style: none; } th{ ! background: #003366; ! font-size: 20px; ! font-weigth: bold; ! color: #FFFFFF; } .row1{ ! background-color: #FFFFFF; ! font-size: 12px; } .row2{ ! background-color: #ECECEC; ! font-size: 12px; } .green { ! } .red { ! } ! .period ! { ! font-weigth: bold; ! font-size: 15px; } - .strategy ! { ! font-family:arial,sans-serif; } ! .total{ ! font-size: 20px; ! background-color: #CF4D4D; } --- 1,114 ---- body { background:#FFFFFF; text-align:center; } + h1{ ! font-size: 22px; font-family: Arial; ! color: #666666; ! text-align: left; ! margin: 0px; ! padding: 0px; ! border-bottom: 2px solid #999999; } h2{ ! font-size: 20px; ! background:#EAF1F8; ! text-align: left; ! font-family: Arial, helvetica,sans; ! color: #222222; ! margin-bottom: 10px; ! margin-top: 8px; } h3{ ! text-align: left; ! margin-bottom: 8px; ! margin-top: 8px; } + .titleHeader + { + color:#003399; + font-size:16px; + font-family:arial, helvetica, sans; + } + + .settingsFixed + { + font-size:11px; + font-family:arial, helvetica, sans; + } + + .settings + { + color:#003399; + font-size:11px; + font-family:arial, helvetica, sans; + font-weight: normal; + } table { text-align:center; ! border: 1px solid #CCCCCC; ! border-collapse: collapse; ! list-style-position: outside; ! background: #003061; ! padding-right: 0px; ! padding-left: 0px; ! } ! td ! { ! border: 1px solid #003061; ! } ! tr ! { ! font-size: 12px; ! font-family: arial; ! border: 1px solid #003061; } th{ ! background: #003061; ! color: #FFFFFF; ! font-size: 13px; ! font-family: verdana, helvetica, sans; ! font-weight: normal; ! padding-right: 3px; ! padding-left: 3px; } .row1{ ! background-color: #FFFFFF; } .row2{ ! background-color: #F3F3F3; } .green { ! color: #00FF00; } .red { ! color: #FF0000; } ! .date ! { ! font-size: 10px; ! color: #000000; } .strategy ! { ! color: #003061; } ! .total{ ! background:#EAF1F8; ! font-size: 12px; ! font-weight: normal; ! font-family: verdana, helvetica, sans; } Index: header.ftl =================================================================== RCS file: /cvsroot/tail/Tail/src/templates/header.ftl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** header.ftl 15 Aug 2007 22:26:11 -0000 1.3 --- header.ftl 18 Aug 2007 19:55:48 -0000 1.4 *************** *** 2,13 **** <head> <title>Walk Forward Report</title> - </head> ! <h1>Walk Forwad Report</h1> ! <h2>${report.slicer.series.name}</h2> ! <h3>${report.slicer.name}</h3> ! <h3>Using criterion: ${report.criterion.class.simpleName}</h3> <body> \ No newline at end of file --- 2,13 ---- <head> <title>Walk Forward Report</title> </head> ! <h1>Walk Forward Report</h1> ! <h2>Stock: <span class="titleHeader">${report.slicer.series.name}</span></h2> ! <h3><span class="settingsFixed">Slicer:</span><span class="settings">${report.slicer.name} </span> ! <span class="settingsFixed">Strategy: </span> <span class="settings">${report.decisions[0].strategy.class.simpleName}</span> ! <span class="settingsFixed">Criteria: </span> <span class="settings">${report.criterion.class.simpleName}</span></h3> <body> \ No newline at end of file |
|
From: xanaot <xa...@us...> - 2007-08-18 19:55:47
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1336/src/test/net/sf/tail Modified Files: EMACompleteTest.java Log Message: atualizado css Index: EMACompleteTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/EMACompleteTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EMACompleteTest.java 16 Aug 2007 21:09:10 -0000 1.2 --- EMACompleteTest.java 18 Aug 2007 19:55:48 -0000 1.3 *************** *** 12,15 **** --- 12,16 ---- import net.sf.tail.analysis.SlicerByTimePeriod; import net.sf.tail.analysis.criteria.AverageProfitCriterion; + import net.sf.tail.analysis.criteria.MaximumDrawDownCriterion; import net.sf.tail.analysis.criteria.NumberOfTicksCriterion; import net.sf.tail.analysis.criteria.NumberOfTradesCriterion; *************** *** 36,40 **** try { ! timeSeries = ctsl.load(new FileInputStream("BaseBovespa/15min/ambv4.csv"), "AMBV4 IntraDAY"); } catch (FileNotFoundException e) { e.printStackTrace(); --- 37,41 ---- try { ! timeSeries = ctsl.load(new FileInputStream("BaseBovespa/15min/ambv4.csv"), "Ambev (ambv4)"); } catch (FileNotFoundException e) { e.printStackTrace(); *************** *** 55,67 **** 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 RewardRiskRatioCriterion()); ! StringBuffer html = new ReportGenerator().generate(r,criteria); ! System.out.println(html); ! } --- 56,66 ---- 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); } |
|
From: xanaot <xa...@us...> - 2007-08-18 19:55:47
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1336/src/test/net/sf/tail/report Modified Files: ReportGeneratorTest.java Log Message: atualizado css Index: ReportGeneratorTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/report/ReportGeneratorTest.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** ReportGeneratorTest.java 15 Aug 2007 22:07:52 -0000 1.15 --- ReportGeneratorTest.java 18 Aug 2007 19:55:48 -0000 1.16 *************** *** 51,54 **** assertTrue(html.toString().contains("TotalProfitCriterion")); assertTrue(html.toString().contains("4,5")); ! } } --- 51,54 ---- assertTrue(html.toString().contains("TotalProfitCriterion")); assertTrue(html.toString().contains("4,5")); ! } } |
|
From: xanaot <xa...@us...> - 2007-08-18 14:58:33
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv9593/src/test/net/sf/tail/graphics Modified Files: CashFlowDatasetTest.java Log Message: Corrigido o teste. Index: CashFlowDatasetTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/graphics/CashFlowDatasetTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CashFlowDatasetTest.java 18 Aug 2007 14:38:22 -0000 1.1 --- CashFlowDatasetTest.java 18 Aug 2007 14:58:33 -0000 1.2 *************** *** 52,58 **** public void testDefaultConstructor(){ CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); ! assertEquals(cashFlow.getSize(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); ! assertEquals(4d, dataset.getValue(1, 1)); } --- 52,58 ---- public void testDefaultConstructor(){ CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); ! assertEquals(1, dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); ! assertEquals(1d, dataset.getValue(0, 0)); } *************** *** 61,67 **** CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveRight(); ! assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); ! assertEquals(2d, dataset.getValue(3, 1)); } --- 61,67 ---- CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveRight(); ! assertEquals(1, dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); ! assertEquals(2d, dataset.getValue(0, 2)); } *************** *** 70,76 **** CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveLeft(); ! assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); ! assertEquals(2d, dataset.getValue(3, 1)); } --- 70,76 ---- CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveLeft(); ! assertEquals(1, dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); ! assertEquals(2d, dataset.getValue(0, 1)); } *************** *** 83,89 **** dataset.moveRight(); ! assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); ! assertEquals(3d, dataset.getValue(1, 1)); } --- 83,89 ---- dataset.moveRight(); ! assertEquals(1, dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); ! assertEquals(8d/3, dataset.getValue(0, 3)); } *************** *** 97,103 **** dataset.moveRight(); dataset.moveLeft(); ! assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); ! assertEquals(4d, dataset.getValue(1, 1)); } } --- 97,103 ---- dataset.moveRight(); dataset.moveLeft(); ! assertEquals(1, dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); ! assertEquals(8d/3, dataset.getValue(0, 3)); } } |
|
From: Carlos <ma...@us...> - 2007-08-18 14:38:22
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv2860/src/test/net/sf/tail/graphics Added Files: CashFlowDatasetTest.java Removed Files: FlowDatasetTest.java Log Message: Nome do teste alterado para ficar igual ao da classe. --- NEW FILE: CashFlowDatasetTest.java --- package net.sf.tail.graphics; import static junit.framework.Assert.assertEquals; import java.util.LinkedList; import java.util.List; import net.sf.tail.DefaultTimeSeries; import net.sf.tail.Operation; import net.sf.tail.OperationType; import net.sf.tail.Tick; import net.sf.tail.TimeSeries; import net.sf.tail.Trade; import net.sf.tail.flow.CashFlow; import org.joda.time.DateTime; import org.junit.Before; import org.junit.Test; public class CashFlowDatasetTest { TimeSeries series; CashFlow cashFlow; List<Trade> trades; List<Tick> ticks; @Before public void setUp() throws Exception { ticks = new LinkedList<Tick>(); ticks.add(new Tick(new DateTime().withDate(2007,6,6),1d)); ticks.add(new Tick(new DateTime().withDate(2007,6,7),2d)); ticks.add(new Tick(new DateTime().withDate(2007,6,8),3d)); ticks.add(new Tick(new DateTime().withDate(2007,6,9),4d)); series = new DefaultTimeSeries(ticks); trades = new LinkedList<Trade>(); Operation entry = new Operation(0,OperationType.BUY); Operation exit = new Operation(1,OperationType.SELL); trades.add(new Trade(entry,exit)); entry = new Operation(2,OperationType.BUY); exit = new Operation(3,OperationType.SELL); trades.add(new Trade(entry,exit)); cashFlow = new CashFlow(series, trades); } @Test public void testDefaultConstructor(){ CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); assertEquals(cashFlow.getSize(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(4d, dataset.getValue(1, 1)); } @Test public void testMoveRightWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing(){ CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveRight(); assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(2d, dataset.getValue(3, 1)); } @Test public void testMoveLeftWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing(){ CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveLeft(); assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(2d, dataset.getValue(3, 1)); } @Test public void testMoveRight(){ ticks.add(new Tick(new DateTime().withDate(2007,6,10),4d)); series = new DefaultTimeSeries(ticks); cashFlow = new CashFlow(series, trades); CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveRight(); assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); assertEquals(3d, dataset.getValue(1, 1)); } @Test public void testMoveLeft(){ ticks.add(new Tick(new DateTime().withDate(2007,6,10),4d)); series = new DefaultTimeSeries(ticks); cashFlow = new CashFlow(series, trades); CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveRight(); dataset.moveLeft(); assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); assertEquals(4d, dataset.getValue(1, 1)); } } --- FlowDatasetTest.java DELETED --- |
|
From: Carlos <ma...@us...> - 2007-08-18 14:36:17
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1992/src/java/net/sf/tail/graphics Added Files: CombinedSeriesAndFlowChart.java CashFlowDataset.java Log Message: Classe para carregar um dataset atravez do cashflow e sua classe de teste. Classe que gera um chart do valor da ação combinado com o cashflow. --- NEW FILE: CombinedSeriesAndFlowChart.java --- package net.sf.tail.graphics; import java.awt.Color; import net.sf.tail.graphics.forms.ShapeFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.CombinedDomainCategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.renderer.category.LineAndShapeRenderer; import org.jfree.data.category.CategoryDataset; import org.jfree.data.general.DatasetChangeEvent; import org.jfree.data.general.DatasetChangeListener; public class CombinedSeriesAndFlowChart implements DatasetChangeListener { private CategoryDataset seriesDataSet; private CategoryDataset flowDataSet; private CategoryPlot seriesPlot; private CategoryPlot flowPlot; private LineAndShapeRenderer lineAndShapeRenderer; public CombinedSeriesAndFlowChart(CategoryDataset seriesDataSet, CategoryDataset flowDataSet) { this.seriesDataSet = seriesDataSet; this.flowDataSet = flowDataSet; this.seriesDataSet.addChangeListener(this); this.flowDataSet.addChangeListener(this); this.lineAndShapeRenderer = new LineAndShapeRenderer(true, true); } public JFreeChart createChart(String chartName) { NumberAxis seriesNumberAxis = new NumberAxis("Stock Value"); seriesNumberAxis.setAutoRangeIncludesZero(false); seriesPlot = new CategoryPlot(seriesDataSet, null, seriesNumberAxis, lineAndShapeRenderer); seriesPlot.setBackgroundPaint(Color.BLACK); NumberAxis flowNumberAxis = new NumberAxis("Money Amount"); flowNumberAxis.setAutoRangeIncludesZero(false); flowPlot = new CategoryPlot(flowDataSet, null, flowNumberAxis, lineAndShapeRenderer); flowPlot.setBackgroundPaint(Color.BLACK); CombinedDomainCategoryPlot combinedplot = new CombinedDomainCategoryPlot(); combinedplot.setGap(10D); combinedplot.add(seriesPlot, 1); combinedplot.add(flowPlot, 1); combinedplot.setOrientation(PlotOrientation.VERTICAL); JFreeChart jfreechart = new JFreeChart("Combined Series and Flow Chart", JFreeChart.DEFAULT_TITLE_FONT, combinedplot, true); // //Setando labels em 90 graus // CategoryAxis categoryAxis = plot.getDomainAxis(); // categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90); // // //Setando tamanho do grafico // NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); // rangeAxis.setAutoRangeIncludesZero(false); // // //Setando tamanho do label // categoryAxis.setLabelFont(new Font("SansSerif", 0, 10)); // // //Setando tamanho do label de cada tick // categoryAxis.setTickLabelFont(new Font("SansSerif", 0, 10)); //gerando pontos setSeriesShapes(); return jfreechart; } /** * @param dataSet * @param plot */ private void setSeriesShapes() { for (int i = 0; i < seriesDataSet.getRowCount(); i++) { lineAndShapeRenderer.setSeriesShape(i,ShapeFactory.getPoint()); } seriesPlot.setRenderer(lineAndShapeRenderer); flowPlot.setRenderer(lineAndShapeRenderer); } public void datasetChanged(DatasetChangeEvent event) { setSeriesShapes(); } } --- NEW FILE: CashFlowDataset.java --- package net.sf.tail.graphics; import java.util.List; import net.sf.tail.TimeSeries; import net.sf.tail.flow.CashFlow; import org.jfree.data.DefaultKeyedValues2D; import org.jfree.data.category.CategoryDataset; import org.jfree.data.general.AbstractDataset; @SuppressWarnings("unchecked") public class CashFlowDataset extends AbstractDataset implements CategoryDataset { private static final long serialVersionUID = -7204964027452086107L; private DefaultKeyedValues2D data; private final int DATASET_SIZE; private CashFlow cashFlow; private int firstIndex; private int lastIndex; private String name; private TimeSeries series; public CashFlowDataset(TimeSeries series, CashFlow cashFlow, int firstIndex, int lastIndex) { this.data = new DefaultKeyedValues2D(); this.cashFlow = cashFlow; this.firstIndex = firstIndex; this.lastIndex = lastIndex; this.series = series; this.DATASET_SIZE = lastIndex - firstIndex; this.name = "Money Amount"; loadValues(firstIndex, lastIndex); } private void loadValues(int firstIndex, int lastIndex) { data = new DefaultKeyedValues2D(); for (int j = firstIndex; j <= lastIndex; j++) { data.addValue(cashFlow.getValue(j), this.getName(), series.getTick(j).getDate().toString("hh:mm d/M/yyyy")); } } public int getColumnIndex(Comparable key) { return this.data.getColumnIndex(key); } public Comparable getColumnKey(int column) { return this.data.getColumnKey(column); } public List getColumnKeys() { return this.data.getColumnKeys(); } public int getRowIndex(Comparable key) { return this.data.getRowIndex(key); } public Comparable getRowKey(int row) { return this.data.getRowKey(row); } public List getRowKeys() { return this.data.getRowKeys(); } public Number getValue(Comparable rowKey, Comparable columnKey) { return this.data.getValue(rowKey, columnKey); } public int getColumnCount() { return this.data.getColumnCount(); } public int getRowCount() { return this.data.getRowCount(); } public Number getValue(int row, int column) { return this.data.getValue(row, column); } public void moveRight() { if(lastIndex + 1 < series.getSize()){ lastIndex++; data.addValue(cashFlow.getValue(lastIndex), this.getName() ,series.getTick(lastIndex).getDate().toString("hh:mm d/M/yyyy")); if(data.getColumnCount() >= DATASET_SIZE){ firstIndex++; data.removeColumn(0); } fireDatasetChanged(); } } public void moveLeft() { if(firstIndex > 0){ firstIndex--; lastIndex--; loadValues(firstIndex, lastIndex); fireDatasetChanged(); } } public String getName() { return name; } } |
|
From: Carlos <ma...@us...> - 2007-08-18 14:36:17
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1992/src/test/net/sf/tail/graphics Added Files: FlowDatasetTest.java Log Message: Classe para carregar um dataset atravez do cashflow e sua classe de teste. Classe que gera um chart do valor da ação combinado com o cashflow. --- NEW FILE: FlowDatasetTest.java --- package net.sf.tail.graphics; import static junit.framework.Assert.assertEquals; import java.util.LinkedList; import java.util.List; import net.sf.tail.DefaultTimeSeries; import net.sf.tail.Operation; import net.sf.tail.OperationType; import net.sf.tail.Tick; import net.sf.tail.TimeSeries; import net.sf.tail.Trade; import net.sf.tail.flow.CashFlow; import org.joda.time.DateTime; import org.junit.Before; import org.junit.Test; public class FlowDatasetTest { TimeSeries series; CashFlow cashFlow; List<Trade> trades; List<Tick> ticks; @Before public void setUp() throws Exception { ticks = new LinkedList<Tick>(); ticks.add(new Tick(new DateTime().withDate(2007,6,6),1d)); ticks.add(new Tick(new DateTime().withDate(2007,6,7),2d)); ticks.add(new Tick(new DateTime().withDate(2007,6,8),3d)); ticks.add(new Tick(new DateTime().withDate(2007,6,9),4d)); series = new DefaultTimeSeries(ticks); trades = new LinkedList<Trade>(); Operation entry = new Operation(0,OperationType.BUY); Operation exit = new Operation(1,OperationType.SELL); trades.add(new Trade(entry,exit)); entry = new Operation(2,OperationType.BUY); exit = new Operation(3,OperationType.SELL); trades.add(new Trade(entry,exit)); cashFlow = new CashFlow(series, trades); } @Test public void testDefaultConstructor(){ CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); assertEquals(cashFlow.getSize(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(4d, dataset.getValue(1, 1)); } @Test public void testMoveRightWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing(){ CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveRight(); assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(2d, dataset.getValue(3, 1)); } @Test public void testMoveLeftWhenIndicatorDontHaveMoreDataUnmappedShouldDoNothing(){ CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveLeft(); assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize(), dataset.getColumnCount()); assertEquals(2d, dataset.getValue(3, 1)); } @Test public void testMoveRight(){ ticks.add(new Tick(new DateTime().withDate(2007,6,10),4d)); series = new DefaultTimeSeries(ticks); cashFlow = new CashFlow(series, trades); CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveRight(); assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); assertEquals(3d, dataset.getValue(1, 1)); } @Test public void testMoveLeft(){ ticks.add(new Tick(new DateTime().withDate(2007,6,10),4d)); series = new DefaultTimeSeries(ticks); cashFlow = new CashFlow(series, trades); CashFlowDataset dataset = new CashFlowDataset(series, cashFlow, 0, 3); dataset.moveRight(); dataset.moveLeft(); assertEquals(cashFlow.getSize()+trades.size(), dataset.getRowCount()); assertEquals(series.getSize() - 1, dataset.getColumnCount()); assertEquals(4d, dataset.getValue(1, 1)); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-18 14:05:33
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/flow In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv21249/src/test/net/sf/tail/flow Modified Files: CashFlowTest.java Log Message: refatorado CashFlow e MaximumDrawDown Index: CashFlowTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/flow/CashFlowTest.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CashFlowTest.java 16 Aug 2007 21:09:11 -0000 1.6 --- CashFlowTest.java 18 Aug 2007 14:05:34 -0000 1.7 *************** *** 28,32 **** @Test ! public void testCashFlowValueWithOnlyOneTrade() { TimeSeries sampleTimeSeries = new SampleTimeSeries(new double[] { 1d, 2d}); --- 28,32 ---- @Test ! public void testCashFlowBuyWithOnlyOneTrade() { TimeSeries sampleTimeSeries = new SampleTimeSeries(new double[] { 1d, 2d}); *************** *** 39,43 **** --- 39,99 ---- assertEquals(2d, cashFlow.getValue(1), 0.0001); } + + @Test + public void testCashFlowWithSellAndBuyOperations() { + TimeSeries sampleTimeSeries = new SampleTimeSeries( 2, 1, 3, 5, 6, 3, 20); + + List<Trade> trades = new ArrayList<Trade>(); + trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(1, OperationType.SELL))); + trades.add(new Trade(new Operation(3, OperationType.BUY), new Operation(4, OperationType.SELL))); + trades.add(new Trade(new Operation(5, OperationType.SELL), new Operation(6, OperationType.BUY))); + + CashFlow cashFlow = new CashFlow(sampleTimeSeries, trades); + + assertEquals(1d , cashFlow.getValue(0), 0.0001); + assertEquals(.5 , cashFlow.getValue(1), 0.0001); + assertEquals(.5 , cashFlow.getValue(2), 0.0001); + assertEquals(.5 , cashFlow.getValue(3), 0.0001); + assertEquals(.6 , cashFlow.getValue(4), 0.0001); + assertEquals(.6 , cashFlow.getValue(5), 0.0001); + assertEquals(.09, cashFlow.getValue(6), 0.0001); + } + + @Test + public void testCashFlowSell() { + TimeSeries sampleTimeSeries = new SampleTimeSeries(1 , 2 , 4 , 8 , 16 , 32); + + List<Trade> trades = new ArrayList<Trade>(); + trades.add(new Trade(new Operation(2, OperationType.SELL), new Operation(3, OperationType.BUY))); + + CashFlow cashFlow = new CashFlow(sampleTimeSeries, trades); + + assertEquals(1d, cashFlow.getValue(0), 0.0001); + assertEquals(1d, cashFlow.getValue(1), 0.0001); + assertEquals(1d, cashFlow.getValue(2), 0.0001); + assertEquals(.5, cashFlow.getValue(3), 0.0001); + assertEquals(.5, cashFlow.getValue(4), 0.0001); + assertEquals(.5, cashFlow.getValue(5), 0.0001); + } + + @Test + public void testCashFlowShortSell() { + TimeSeries sampleTimeSeries = new SampleTimeSeries(1 , 2 , 4 , 8 , 16 , 32); + List<Trade> trades = new ArrayList<Trade>(); + trades.add(new Trade(new Operation(0, OperationType.BUY), new Operation(2, OperationType.SELL))); + trades.add(new Trade(new Operation(2, OperationType.SELL), new Operation(4, OperationType.BUY))); + trades.add(new Trade(new Operation(4, OperationType.BUY), new Operation(5, OperationType.SELL))); + + CashFlow cashFlow = new CashFlow(sampleTimeSeries, trades); + + assertEquals(1d, cashFlow.getValue(0), 0.0001); + assertEquals(2d, cashFlow.getValue(1), 0.0001); + assertEquals(4d, cashFlow.getValue(2), 0.0001); + assertEquals(2d, cashFlow.getValue(3), 0.0001); + assertEquals(1d, cashFlow.getValue(4), 0.0001); + assertEquals(2d, cashFlow.getValue(5), 0.0001); + } + @Test public void testCashFlowValueWithOnlyOneTradeAndAGapBefore() { |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-18 14:05:33
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/flow In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv21249/src/java/net/sf/tail/flow Modified Files: CashFlow.java Log Message: refatorado CashFlow e MaximumDrawDown Index: CashFlow.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/flow/CashFlow.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** CashFlow.java 16 Aug 2007 22:14:11 -0000 1.7 --- CashFlow.java 18 Aug 2007 14:05:33 -0000 1.8 *************** *** 43,47 **** ratio = timeSeries.getTick(i).getClosePrice() / timeSeries.getTick( trade.getEntry().getIndex()).getClosePrice(); } else { ! ratio = timeSeries.getTick(i - 1).getClosePrice() / timeSeries.getTick(i).getClosePrice(); } values.add(values.get(trade.getEntry().getIndex()) * ratio); --- 43,47 ---- ratio = timeSeries.getTick(i).getClosePrice() / timeSeries.getTick( trade.getEntry().getIndex()).getClosePrice(); } else { ! ratio = timeSeries.getTick(trade.getEntry().getIndex()).getClosePrice() / timeSeries.getTick(i).getClosePrice(); } values.add(values.get(trade.getEntry().getIndex()) * ratio); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-18 14:05:33
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv21249/src/test/net/sf/tail/analysis/criteria Modified Files: MaximumDrawDownCriterionTest.java Log Message: refatorado CashFlow e MaximumDrawDown Index: MaximumDrawDownCriterionTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/analysis/criteria/MaximumDrawDownCriterionTest.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** MaximumDrawDownCriterionTest.java 13 Aug 2007 21:45:16 -0000 1.8 --- MaximumDrawDownCriterionTest.java 18 Aug 2007 14:05:33 -0000 1.9 *************** *** 70,77 **** trades.add(new Trade(new Operation(5, OperationType.SELL), new Operation(6, OperationType.BUY))); ! assertEquals(0.5d, mdd.calculate(series, trades)); } - @Test public void testWithSimpleTrades() { --- 70,76 ---- trades.add(new Trade(new Operation(5, OperationType.SELL), new Operation(6, OperationType.BUY))); ! assertEquals(.91, mdd.calculate(series, trades)); } @Test public void testWithSimpleTrades() { |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-16 22:14:11
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/flow In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv880/src/java/net/sf/tail/flow Modified Files: CashFlow.java Log Message: Index: CashFlow.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/flow/CashFlow.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CashFlow.java 16 Aug 2007 21:09:10 -0000 1.6 --- CashFlow.java 16 Aug 2007 22:14:11 -0000 1.7 *************** *** 37,50 **** values.addAll(Collections.nCopies(begin - values.size(), values.get(values.size() - 1))); } - // assert begin == values.size() : "nao da " + begin; int end = trade.getExit().getIndex(); for (int i = Math.max(begin, 1) ; i <= end; i++) { double ratio; - // TODO: maybe we should isolate getClosePrice, use an Indicator - // instead? if (trade.getEntry().getType().equals(OperationType.BUY)) { ratio = timeSeries.getTick(i).getClosePrice() / timeSeries.getTick( trade.getEntry().getIndex()).getClosePrice(); - //values.get(values.size() - 1); - // timeSeries.getTick(i - 1).getClosePrice(); } else { ratio = timeSeries.getTick(i - 1).getClosePrice() / timeSeries.getTick(i).getClosePrice(); --- 37,45 ---- *************** *** 55,59 **** if(timeSeries.getSize() - values.size() > 0) values.addAll(Collections.nCopies(timeSeries.getSize() - values.size(), values.get(values.size() - 1 ))); - // terminar de popular coisas aqui } --- 50,53 ---- |
|
From: Carlos <ma...@us...> - 2007-08-16 21:51:21
|
Update of /cvsroot/tail/Tail/reports In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23491/reports Added Files: reportWithChart.html Log Message: Apesar de não precisar estou comitando estes arquivos porque parece q o commit só das pastas não estão aparecendo no synchronize. --- NEW FILE: reportWithChart.html --- <html> <head><title>SMA Chart</title></head> <body><table align="center"> <tr><img src="PNGCharts/chartTeste000.png" width="800" height="600"></tr> <tr><img src="PNGCharts/chartTeste0050.png" width="800" height="600"></tr> <tr><img src="PNGCharts/chartTeste00100.png" width="800" height="600"></tr> <tr><img src="PNGCharts/chartTeste00150.png" width="800" height="600"></tr> </table></body> </html> |
|
From: Carlos <ma...@us...> - 2007-08-16 21:51:21
|
Update of /cvsroot/tail/Tail/reports/PNGCharts In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv23491/reports/PNGCharts Added Files: chartTeste000.png chartTeste00100.png chartTeste0050.png chartTeste00150.png Log Message: Apesar de não precisar estou comitando estes arquivos porque parece q o commit só das pastas não estão aparecendo no synchronize. --- NEW FILE: chartTeste000.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: chartTeste00150.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: chartTeste00100.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: chartTeste0050.png --- (This appears to be a binary file; contents omitted.) |
|
From: Carlos <ma...@us...> - 2007-08-16 21:45:41
|
Update of /cvsroot/tail/Tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv20978 Modified Files: .classpath Log Message: Não precisa desse zip, já tem na linha anterior. Index: .classpath =================================================================== RCS file: /cvsroot/tail/Tail/.classpath,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** .classpath 16 Aug 2007 21:09:10 -0000 1.12 --- .classpath 16 Aug 2007 21:45:41 -0000 1.13 *************** *** 13,17 **** <classpathentry kind="lib" path="lib/freemarker.jar"/> <classpathentry kind="lib" path="lib/joda-time-1.4.jar" sourcepath="lib/joda-time-1.4-src-ide.zip"/> - <classpathentry kind="lib" path="lib/joda-time-1.4-src-ide.zip"/> <classpathentry kind="output" path="bin"/> </classpath> --- 13,16 ---- |