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: Thies <tg...@us...> - 2007-08-27 16:34:33
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1292/src/test/net/sf/tail/graphics Modified Files: StockAndCashFlowChartTest.java Log Message: Criado o SlicerReport, adicionado método na interface dos Criteria para calcular valor de apenas uma trade, preparação do chart para plotar gráficos com as trades. Index: StockAndCashFlowChartTest.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/graphics/StockAndCashFlowChartTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** StockAndCashFlowChartTest.java 23 Aug 2007 12:51:10 -0000 1.3 --- StockAndCashFlowChartTest.java 25 Aug 2007 18:32:39 -0000 1.4 *************** *** 71,75 **** seriesDataset = new StockAndCashFlowDataset(timeSeries, indicator, cashFlow); ! StockAndCashFlowChart seriesAndFlowChart = new StockAndCashFlowChart(seriesDataset); JFreeChart jfreechart = seriesAndFlowChart.createChart("Test Chart"); --- 71,75 ---- seriesDataset = new StockAndCashFlowDataset(timeSeries, indicator, cashFlow); ! StockAndCashFlowChart seriesAndFlowChart = new StockAndCashFlowChart(seriesDataset, false); JFreeChart jfreechart = seriesAndFlowChart.createChart("Test Chart"); |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 16:30:42
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/graphics Modified Files: SeriesChart.java StockAndCashFlowDataset.java CashFlowDataset.java SeriesDataset.java CombinedSeriesAndFlowChart.java StockAndCashFlowChart.java Log Message: problemas com o cvs Index: CombinedSeriesAndFlowChart.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/CombinedSeriesAndFlowChart.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CombinedSeriesAndFlowChart.java 19 Aug 2007 03:27:40 -0000 1.3 --- CombinedSeriesAndFlowChart.java 25 Aug 2007 12:30:01 -0000 1.4 *************** *** 60,79 **** 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 ! setSeriesShapes(); return jfreechart; --- 60,79 ---- 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 ! setSeriesShapes(); return jfreechart; Index: CashFlowDataset.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/CashFlowDataset.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CashFlowDataset.java 18 Aug 2007 14:36:17 -0000 1.1 --- CashFlowDataset.java 25 Aug 2007 12:30:01 -0000 1.2 *************** *** 13,17 **** public class CashFlowDataset extends AbstractDataset implements CategoryDataset { - private static final long serialVersionUID = -7204964027452086107L; --- 13,16 ---- *************** *** 25,29 **** private int lastIndex; ! private String name; --- 24,28 ---- private int lastIndex; ! private String name; *************** *** 43,47 **** 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")); --- 42,46 ---- 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")); *************** *** 90,102 **** 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); --- 89,100 ---- 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); *************** *** 107,111 **** public void moveLeft() { ! if(firstIndex > 0){ firstIndex--; lastIndex--; --- 105,109 ---- public void moveLeft() { ! if (firstIndex > 0) { firstIndex--; lastIndex--; Index: StockAndCashFlowDataset.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/StockAndCashFlowDataset.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StockAndCashFlowDataset.java 20 Aug 2007 19:32:31 -0000 1.2 --- StockAndCashFlowDataset.java 25 Aug 2007 12:30:01 -0000 1.3 *************** *** 14,18 **** public class StockAndCashFlowDataset extends AbstractDataset implements CategoryDataset { - private static final long serialVersionUID = -7204964027452086107L; --- 14,17 ---- *************** *** 20,24 **** private Indicator<? extends Number> closePrice; ! private CashFlow cashFlow; --- 19,23 ---- private Indicator<? extends Number> closePrice; ! private CashFlow cashFlow; *************** *** 29,33 **** private TimeSeries series; ! public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow, int firstIndex, int lastIndex) { this.data = new DefaultKeyedValues2D(); this.closePrice = closePrice; --- 28,33 ---- private TimeSeries series; ! public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow, ! int firstIndex, int lastIndex) { this.data = new DefaultKeyedValues2D(); this.closePrice = closePrice; *************** *** 39,43 **** loadValues(); } ! public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow) { this.data = new DefaultKeyedValues2D(); --- 39,43 ---- loadValues(); } ! public StockAndCashFlowDataset(TimeSeries series, Indicator<? extends Number> closePrice, CashFlow cashFlow) { this.data = new DefaultKeyedValues2D(); *************** *** 52,62 **** private void loadValues() { ! data = new DefaultKeyedValues2D(); ! for (int i = firstIndex; i <= lastIndex; i++) { ! data.addValue(closePrice.getValue(i), closePrice.getName() ,series.getTick(i).getDate().toString("hh:mm d/M/yyyy")); ! } ! for (int i = firstIndex; i <= lastIndex; i++) { ! data.addValue(cashFlow.getValue(i), "Money Amount", series.getTick(i).getDate().toString("hh:mm d/M/yyyy")); ! } } --- 52,63 ---- private void loadValues() { ! data = new DefaultKeyedValues2D(); ! for (int i = firstIndex; i <= lastIndex; i++) { ! data.addValue(closePrice.getValue(i), closePrice.getName(), series.getTick(i).getDate().toString( ! "hh:mm d/M/yyyy")); ! } ! for (int i = firstIndex; i <= lastIndex; i++) { ! data.addValue(cashFlow.getValue(i), "Money Amount", series.getTick(i).getDate().toString("hh:mm d/M/yyyy")); ! } } Index: StockAndCashFlowChart.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/StockAndCashFlowChart.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** StockAndCashFlowChart.java 20 Aug 2007 22:25:41 -0000 1.3 --- StockAndCashFlowChart.java 25 Aug 2007 12:30:01 -0000 1.4 *************** *** 15,23 **** import org.jfree.data.general.DatasetChangeListener; ! public class StockAndCashFlowChart implements DatasetChangeListener ! { private CategoryDataset dataSet; private CategoryPlot plot; private LineAndShapeRenderer lineAndShapeRenderer; --- 15,24 ---- import org.jfree.data.general.DatasetChangeListener; ! public class StockAndCashFlowChart implements DatasetChangeListener { private CategoryDataset dataSet; + private CategoryPlot plot; + private LineAndShapeRenderer lineAndShapeRenderer; *************** *** 27,57 **** this.lineAndShapeRenderer = new LineAndShapeRenderer(true, true); } - - public JFreeChart createChart(String chartName) - { - JFreeChart jfreechart = ChartFactory.createLineChart(chartName, "Date", "Value", dataSet, PlotOrientation.VERTICAL, true, true, false); - ! plot = (CategoryPlot)jfreechart.getPlot(); ! plot.setBackgroundPaint(Color.WHITE); ! //Setando labels em 90 graus ! CategoryAxis categoryAxis = plot.getDomainAxis(); ! ! //Setando tamanho do grafico ! NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); ! rangeAxis.setAutoRangeIncludesZero(false); ! ! //Setando tamanho do label ! categoryAxis.setLabelFont(new Font("Arial", 0, 10)); ! ! //Setando tamanho do label de cada tick ! categoryAxis.setTickLabelFont(new Font("Arial", 0, 10)); ! ! //gerando setas ! setSeriesShapes(); ! ! return jfreechart; ! } /** --- 28,57 ---- this.lineAndShapeRenderer = new LineAndShapeRenderer(true, true); } ! public JFreeChart createChart(String chartName) { ! JFreeChart jfreechart = ChartFactory.createLineChart(chartName, "Date", "Value", dataSet, ! PlotOrientation.VERTICAL, true, true, false); ! plot = (CategoryPlot) jfreechart.getPlot(); ! plot.setBackgroundPaint(Color.WHITE); ! ! // Setando labels em 90 graus ! CategoryAxis categoryAxis = plot.getDomainAxis(); ! ! // Setando tamanho do grafico ! NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); ! rangeAxis.setAutoRangeIncludesZero(false); ! ! // Setando tamanho do label ! categoryAxis.setLabelFont(new Font("Arial", 0, 10)); ! ! // Setando tamanho do label de cada tick ! categoryAxis.setTickLabelFont(new Font("Arial", 0, 10)); ! ! // gerando setas ! setSeriesShapes(); ! ! return jfreechart; ! } /** *************** *** 62,66 **** lineAndShapeRenderer.setSeriesShapesVisible(0, false); lineAndShapeRenderer.setSeriesShapesVisible(1, false); ! plot.setRenderer(lineAndShapeRenderer); } --- 62,66 ---- lineAndShapeRenderer.setSeriesShapesVisible(0, false); lineAndShapeRenderer.setSeriesShapesVisible(1, false); ! plot.setRenderer(lineAndShapeRenderer); } *************** *** 68,70 **** setSeriesShapes(); } ! } --- 68,70 ---- setSeriesShapes(); } ! } Index: SeriesDataset.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/SeriesDataset.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** SeriesDataset.java 4 Aug 2007 02:34:18 -0000 1.4 --- SeriesDataset.java 25 Aug 2007 12:30:01 -0000 1.5 *************** *** 15,19 **** public class SeriesDataset extends AbstractDataset implements CategoryDataset { - private static final long serialVersionUID = -7204964027452086107L; --- 15,18 ---- *************** *** 43,52 **** } ! ! ! public SeriesDataset(TimeSeries timeSeries, List<Indicator<? extends Number>> indicators, int firstIndex, int lastIndex, List<Trade> trades) { ! ! this(timeSeries,indicators,firstIndex,lastIndex); this.trades = trades; --- 42,49 ---- } + public SeriesDataset(TimeSeries timeSeries, List<Indicator<? extends Number>> indicators, int firstIndex, + int lastIndex, List<Trade> trades) { ! this(timeSeries, indicators, firstIndex, lastIndex); this.trades = trades; *************** *** 54,78 **** } - - - - private void loadTrade(int firstIndex, int lastIndex) { for (Trade trade : trades) { ! Operation buy = trade.getEntry(); ! if(buy.getIndex() >= firstIndex && buy.getIndex() <= lastIndex) ! data.addValue(series.getTick(buy.getIndex()).getClosePrice(),"Buy", series.getTick(buy.getIndex()).getDate().toString("hh:mm d/M/yyyy") ); Operation sell = trade.getExit(); ! if(sell.getIndex() >= firstIndex && sell.getIndex() <= lastIndex) ! data.addValue(series.getTick(sell.getIndex()).getClosePrice(), "Sell", series.getTick(sell.getIndex()).getDate().toString("hh:mm d/M/yyyy")); } } private void loadValues(int firstIndex, int lastIndex) { ! data = new DefaultKeyedValues2D(); for (int i = 0; i < indicators.size(); i++) { for (int j = firstIndex; j <= lastIndex; j++) { ! data.addValue(indicators.get(i).getValue(j), indicators.get(i).getName() ,series.getTick(j).getDate().toString("hh:mm d/M/yyyy")); } } --- 51,74 ---- } private void loadTrade(int firstIndex, int lastIndex) { for (Trade trade : trades) { ! Operation buy = trade.getEntry(); ! if (buy.getIndex() >= firstIndex && buy.getIndex() <= lastIndex) ! data.addValue(series.getTick(buy.getIndex()).getClosePrice(), "Buy", series.getTick(buy.getIndex()) ! .getDate().toString("hh:mm d/M/yyyy")); Operation sell = trade.getExit(); ! if (sell.getIndex() >= firstIndex && sell.getIndex() <= lastIndex) ! data.addValue(series.getTick(sell.getIndex()).getClosePrice(), "Sell", series.getTick(sell.getIndex()) ! .getDate().toString("hh:mm d/M/yyyy")); } } private void loadValues(int firstIndex, int lastIndex) { ! data = new DefaultKeyedValues2D(); for (int i = 0; i < indicators.size(); i++) { for (int j = firstIndex; j <= lastIndex; j++) { ! data.addValue(indicators.get(i).getValue(j), indicators.get(i).getName(), series.getTick(j).getDate() ! .toString("hh:mm d/M/yyyy")); } } *************** *** 121,132 **** public void moveRight() { ! if(lastIndex + 1 < series.getSize()){ lastIndex++; for (Indicator<? extends Number> indicator : indicators) { ! data.addValue(indicator.getValue(lastIndex), indicator.getName() ,series.getTick(lastIndex).getDate().toString("hh:mm d/M/yyyy")); } ! ! if(data.getColumnCount() >= DATASET_SIZE){ firstIndex++; data.removeColumn(0); --- 117,128 ---- public void moveRight() { ! if (lastIndex + 1 < series.getSize()) { lastIndex++; for (Indicator<? extends Number> indicator : indicators) { ! data.addValue(indicator.getValue(lastIndex), indicator.getName(), series.getTick(lastIndex).getDate() ! .toString("hh:mm d/M/yyyy")); } ! if (data.getColumnCount() >= DATASET_SIZE) { firstIndex++; data.removeColumn(0); *************** *** 139,143 **** public void moveLeft() { ! if(firstIndex > 0){ firstIndex--; lastIndex--; --- 135,139 ---- public void moveLeft() { ! if (firstIndex > 0) { firstIndex--; lastIndex--; *************** *** 146,150 **** loadTrade(firstIndex, lastIndex); - fireDatasetChanged(); } --- 142,145 ---- Index: SeriesChart.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/SeriesChart.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SeriesChart.java 7 Jul 2007 18:45:23 -0000 1.1 --- SeriesChart.java 25 Aug 2007 12:30:01 -0000 1.2 *************** *** 18,26 **** import org.jfree.data.general.DatasetChangeListener; ! public class SeriesChart implements DatasetChangeListener ! { private CategoryDataset dataSet; private CategoryPlot plot; private LineAndShapeRenderer lineAndShapeRenderer; --- 18,27 ---- import org.jfree.data.general.DatasetChangeListener; ! public class SeriesChart implements DatasetChangeListener { private CategoryDataset dataSet; + private CategoryPlot plot; + private LineAndShapeRenderer lineAndShapeRenderer; *************** *** 30,62 **** this.lineAndShapeRenderer = new LineAndShapeRenderer(true, true); } - - public JFreeChart createChart(String chartName) - { - JFreeChart jfreechart = ChartFactory.createLineChart(chartName, "Date", "Value", dataSet, PlotOrientation.VERTICAL, true, true, false); - ! plot = (CategoryPlot)jfreechart.getPlot(); ! plot.setBackgroundPaint(Color.BLACK); ! //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 setas ! setSeriesShapes(); ! ! return jfreechart; ! } /** --- 31,61 ---- this.lineAndShapeRenderer = new LineAndShapeRenderer(true, true); } ! public JFreeChart createChart(String chartName) { ! JFreeChart jfreechart = ChartFactory.createLineChart(chartName, "Date", "Value", dataSet, ! PlotOrientation.VERTICAL, true, true, false); ! plot = (CategoryPlot) jfreechart.getPlot(); ! plot.setBackgroundPaint(Color.BLACK); ! // 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 setas ! setSeriesShapes(); ! ! return jfreechart; ! } /** *************** *** 65,79 **** */ private void setSeriesShapes() { ! ! for (int i = 0; i < dataSet.getRowCount(); i++) { ! ! if (dataSet.getRowKey(i).equals("Buy")) ! lineAndShapeRenderer.setSeriesShape(i,ShapeFactory.getDownArrow()); ! else if (dataSet.getRowKey(i).equals("Sell")) ! lineAndShapeRenderer.setSeriesShape(i,ShapeFactory.getUpperArrow()); ! else ! lineAndShapeRenderer.setSeriesShape(i,ShapeFactory.getPoint()); } ! plot.setRenderer(lineAndShapeRenderer); } --- 64,78 ---- */ private void setSeriesShapes() { ! ! for (int i = 0; i < dataSet.getRowCount(); i++) { ! ! if (dataSet.getRowKey(i).equals("Buy")) ! lineAndShapeRenderer.setSeriesShape(i, ShapeFactory.getDownArrow()); ! else if (dataSet.getRowKey(i).equals("Sell")) ! lineAndShapeRenderer.setSeriesShape(i, ShapeFactory.getUpperArrow()); ! else ! lineAndShapeRenderer.setSeriesShape(i, ShapeFactory.getPoint()); } ! plot.setRenderer(lineAndShapeRenderer); } *************** *** 81,83 **** setSeriesShapes(); } ! } --- 80,82 ---- setSeriesShapes(); } ! } |
|
From: Thies <tg...@us...> - 2007-08-27 16:28:43
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1292/src/java/net/sf/tail/report Modified Files: ReportGenerator.java Added Files: SliceReportGenerator.java Log Message: Criado o SlicerReport, adicionado método na interface dos Criteria para calcular valor de apenas uma trade, preparação do chart para plotar gráficos com as trades. --- NEW FILE: SliceReportGenerator.java --- package net.sf.tail.report; import java.io.File; import java.io.IOException; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.tail.AnalysisCriterion; import net.sf.tail.analysis.evaluator.Decision; import freemarker.ext.beans.BeansWrapper; import freemarker.template.Configuration; public class SliceReportGenerator { static final String FM_TEMPLATE_DIR = "src/templates/slice"; public StringBuffer generate(Decision decision) throws IOException { return generate(decision, Collections.<AnalysisCriterion> emptyList()); } public StringBuffer generate(Decision decision, List<AnalysisCriterion> criteria) throws IOException { Configuration cfg = new Configuration(); cfg.setDirectoryForTemplateLoading(new File(FM_TEMPLATE_DIR)); cfg.setObjectWrapper(new BeansWrapper()); cfg.setDefaultEncoding("UTF-8"); Map<String, Object> map = new HashMap<String, Object>(); map.put("decision", decision); map.put("criteria", criteria); FreemarkerProcessor processor = new FreemarkerProcessor(cfg); // agora precisa pega o XML em memoria e grava no arquivo!!!!! return processor.process(map, "sliceReport.ftl"); } } Index: ReportGenerator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/report/ReportGenerator.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ReportGenerator.java 25 Aug 2007 12:30:01 -0000 1.7 --- ReportGenerator.java 25 Aug 2007 18:32:38 -0000 1.8 *************** *** 14,18 **** public class ReportGenerator { ! static final String FM_TEMPLATE_DIR = "src/templates"; public StringBuffer generate(Report report) throws IOException { --- 14,18 ---- public class ReportGenerator { ! static final String FM_TEMPLATE_DIR = "src/templates/total"; public StringBuffer generate(Report report) throws IOException { |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 16:28:40
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/cache In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/indicator/cache Modified Files: CachedIndicator.java Log Message: problemas com o cvs Index: CachedIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/cache/CachedIndicator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CachedIndicator.java 8 Aug 2007 18:34:33 -0000 1.6 --- CachedIndicator.java 25 Aug 2007 12:30:02 -0000 1.7 *************** *** 8,20 **** /** ! * Cacheia o {@link Indicator} do construtor, impedindo que seja calculado duas vezes o mesmo Ãndice index do Indicator. * * @author Marcio ! * */ public abstract class CachedIndicator<T> implements Indicator<T> { private List<T> results; ! public CachedIndicator() { results = new ArrayList<T>(); --- 8,21 ---- /** ! * Cacheia o {@link Indicator} do construtor, impedindo que seja calculado duas ! * vezes o mesmo Ãndice index do Indicator. * * @author Marcio ! * */ public abstract class CachedIndicator<T> implements Indicator<T> { private List<T> results; ! public CachedIndicator() { results = new ArrayList<T>(); *************** *** 26,30 **** if (results.get(index) == null) { int i = index; ! while (i > 0 && results.get(i--) == null); for (; i <= index; i++) { results.set(i, calculate(i)); --- 27,32 ---- if (results.get(index) == null) { int i = index; ! while (i > 0 && results.get(i--) == null) ! ; for (; i <= index; i++) { results.set(i, calculate(i)); *************** *** 43,51 **** public String toString() { String[] name = getClass().getName().split("\\."); ! return name[name.length - 1]; } public abstract String getName(); ! protected abstract T calculate(int index); } --- 45,53 ---- public String toString() { String[] name = getClass().getName().split("\\."); ! return name[name.length - 1]; } public abstract String getName(); ! protected abstract T calculate(int index); } |
|
From: Thies <tg...@us...> - 2007-08-27 16:27:22
|
Update of /cvsroot/tail/Tail/src/templates In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv417/src/templates Removed Files: report.html report.ftl header.ftl footer.ftl chart.ftl ambev.png Log Message: Mudança de pasta --- footer.ftl DELETED --- --- header.ftl DELETED --- --- report.ftl DELETED --- --- chart.ftl DELETED --- --- ambev.png DELETED --- --- report.html DELETED --- |
|
From: Thies <tg...@us...> - 2007-08-27 15:40:32
|
Update of /cvsroot/tail/Tail/src/templates/slice In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32027/src/templates/slice Log Message: Directory /cvsroot/tail/Tail/src/templates/slice added to the repository |
|
From: Thies <tg...@us...> - 2007-08-27 15:40:31
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/criteria In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1292/src/java/net/sf/tail/analysis/criteria Modified Files: BuyAndHoldCriterion.java MaximumDrawDownCriterion.java NumberOfTradesCriterion.java RewardRiskRatioCriterion.java TotalProfitCriterion.java VersusBuyAndHoldCriterion.java AverageProfitCriterion.java NumberOfTicksCriterion.java Log Message: Criado o SlicerReport, adicionado método na interface dos Criteria para calcular valor de apenas uma trade, preparação do chart para plotar gráficos com as trades. Index: MaximumDrawDownCriterion.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/criteria/MaximumDrawDownCriterion.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** MaximumDrawDownCriterion.java 25 Aug 2007 12:30:00 -0000 1.17 --- MaximumDrawDownCriterion.java 25 Aug 2007 18:32:38 -0000 1.18 *************** *** 1,4 **** --- 1,5 ---- package net.sf.tail.analysis.criteria; + import java.util.ArrayList; import java.util.LinkedList; import java.util.List; *************** *** 41,44 **** --- 42,51 ---- return calculate(series, trades); } + public double calculate(TimeSeries series, Trade trade) { + List<Trade> trades = new ArrayList<Trade>(); + trades.add(trade); + return calculate(series, trades); + + } } Index: RewardRiskRatioCriterion.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/criteria/RewardRiskRatioCriterion.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** RewardRiskRatioCriterion.java 25 Aug 2007 12:30:00 -0000 1.12 --- RewardRiskRatioCriterion.java 25 Aug 2007 18:32:38 -0000 1.13 *************** *** 1,4 **** --- 1,5 ---- package net.sf.tail.analysis.criteria; + import java.util.ArrayList; import java.util.LinkedList; import java.util.List; *************** *** 27,29 **** --- 28,36 ---- return calculate(series, trades); } + public double calculate(TimeSeries series, Trade trade) { + List<Trade> trades = new ArrayList<Trade>(); + trades.add(trade); + return calculate(series, trades); + + } } Index: TotalProfitCriterion.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/criteria/TotalProfitCriterion.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** TotalProfitCriterion.java 25 Aug 2007 12:30:00 -0000 1.14 --- TotalProfitCriterion.java 25 Aug 2007 18:32:38 -0000 1.15 *************** *** 1,4 **** --- 1,5 ---- package net.sf.tail.analysis.criteria; + import java.util.ArrayList; import java.util.LinkedList; import java.util.List; *************** *** 42,44 **** --- 43,51 ---- return calculate(series, trades); } + public double calculate(TimeSeries series, Trade trade) { + List<Trade> trades = new ArrayList<Trade>(); + trades.add(trade); + return calculate(series, trades); + + } } Index: NumberOfTradesCriterion.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/criteria/NumberOfTradesCriterion.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** NumberOfTradesCriterion.java 25 Aug 2007 12:29:59 -0000 1.4 --- NumberOfTradesCriterion.java 25 Aug 2007 18:32:38 -0000 1.5 *************** *** 1,4 **** --- 1,5 ---- package net.sf.tail.analysis.criteria; + import java.util.ArrayList; import java.util.LinkedList; import java.util.List; *************** *** 24,27 **** --- 25,34 ---- return calculate(series, trades); } + public double calculate(TimeSeries series, Trade trade) { + List<Trade> trades = new ArrayList<Trade>(); + trades.add(trade); + return calculate(series, trades); + + } } Index: NumberOfTicksCriterion.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/criteria/NumberOfTicksCriterion.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** NumberOfTicksCriterion.java 25 Aug 2007 12:30:00 -0000 1.4 --- NumberOfTicksCriterion.java 25 Aug 2007 18:32:38 -0000 1.5 *************** *** 1,4 **** --- 1,5 ---- package net.sf.tail.analysis.criteria; + import java.util.ArrayList; import java.util.LinkedList; import java.util.List; *************** *** 27,30 **** --- 28,37 ---- return calculate(series, trades); } + public double calculate(TimeSeries series, Trade trade) { + List<Trade> trades = new ArrayList<Trade>(); + trades.add(trade); + return calculate(series, trades); + + } } Index: BuyAndHoldCriterion.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/criteria/BuyAndHoldCriterion.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** BuyAndHoldCriterion.java 25 Aug 2007 12:29:59 -0000 1.4 --- BuyAndHoldCriterion.java 25 Aug 2007 18:32:38 -0000 1.5 *************** *** 1,4 **** --- 1,5 ---- package net.sf.tail.analysis.criteria; + import java.util.ArrayList; import java.util.LinkedList; import java.util.List; *************** *** 23,26 **** --- 24,33 ---- return calculate(series, trades); } + public double calculate(TimeSeries series, Trade trade) { + List<Trade> trades = new ArrayList<Trade>(); + trades.add(trade); + return calculate(series, trades); + + } } Index: VersusBuyAndHoldCriterion.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/criteria/VersusBuyAndHoldCriterion.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** VersusBuyAndHoldCriterion.java 25 Aug 2007 12:30:00 -0000 1.4 --- VersusBuyAndHoldCriterion.java 25 Aug 2007 18:32:38 -0000 1.5 *************** *** 1,4 **** --- 1,5 ---- package net.sf.tail.analysis.criteria; + import java.util.ArrayList; import java.util.LinkedList; import java.util.List; *************** *** 27,29 **** --- 28,36 ---- return calculate(series, trades); } + public double calculate(TimeSeries series, Trade trade) { + List<Trade> trades = new ArrayList<Trade>(); + trades.add(trade); + return calculate(series, trades); + + } } Index: AverageProfitCriterion.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/criteria/AverageProfitCriterion.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** AverageProfitCriterion.java 25 Aug 2007 12:30:00 -0000 1.10 --- AverageProfitCriterion.java 25 Aug 2007 18:32:38 -0000 1.11 *************** *** 1,4 **** --- 1,5 ---- package net.sf.tail.analysis.criteria; + import java.util.ArrayList; import java.util.LinkedList; import java.util.List; *************** *** 28,30 **** --- 29,38 ---- } + public double calculate(TimeSeries series, Trade trade) { + List<Trade> trades = new ArrayList<Trade>(); + trades.add(trade); + return calculate(series, trades); + + } + } |
|
From: Thies <tg...@us...> - 2007-08-27 15:40:31
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1292/src/java/net/sf/tail Modified Files: AnalysisCriterion.java Log Message: Criado o SlicerReport, adicionado método na interface dos Criteria para calcular valor de apenas uma trade, preparação do chart para plotar gráficos com as trades. Index: AnalysisCriterion.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/AnalysisCriterion.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** AnalysisCriterion.java 25 Aug 2007 12:30:01 -0000 1.7 --- AnalysisCriterion.java 25 Aug 2007 18:32:39 -0000 1.8 *************** *** 7,10 **** --- 7,12 ---- public interface AnalysisCriterion { + double calculate (TimeSeries series, Trade trade); + double calculate(TimeSeries series, List<Trade> trades); |
|
From: Thies <tg...@us...> - 2007-08-27 15:38:02
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/evaluator In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1292/src/java/net/sf/tail/analysis/evaluator Modified Files: Decision.java Log Message: Criado o SlicerReport, adicionado método na interface dos Criteria para calcular valor de apenas uma trade, preparação do chart para plotar gráficos com as trades. Index: Decision.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/evaluator/Decision.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Decision.java 25 Aug 2007 12:30:02 -0000 1.12 --- Decision.java 25 Aug 2007 18:32:39 -0000 1.13 *************** *** 77,79 **** --- 77,84 ---- } + public AnalysisCriterion getCriterion() { + return criterion; + } + + } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 15:37:38
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/io In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/io Modified Files: Serializer.java Log Message: problemas com o cvs Index: Serializer.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/io/Serializer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Serializer.java 20 Aug 2007 21:31:21 -0000 1.1 --- Serializer.java 25 Aug 2007 12:30:02 -0000 1.2 *************** *** 12,22 **** } ! @SuppressWarnings("unchecked") ! public T fromXML(String xml) ! { XStream xstream = new XStream(new DomDriver()); ! return (T)xstream.fromXML(xml); ! } } --- 12,21 ---- } ! @SuppressWarnings("unchecked") ! public T fromXML(String xml) { XStream xstream = new XStream(new DomDriver()); ! return (T) xstream.fromXML(xml); ! } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 15:37:14
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/walk In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/analysis/walk Modified Files: AbstractWalker.java Log Message: problemas com o cvs Index: AbstractWalker.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/walk/AbstractWalker.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AbstractWalker.java 15 Aug 2007 22:07:52 -0000 1.4 --- AbstractWalker.java 25 Aug 2007 12:30:02 -0000 1.5 *************** *** 29,33 **** TimeSeriesSlicer regularSlicer = slicer.applyForType(SlicerType.REGULAR); ! LOG.info("Running strategies"); List<Decision> decisions = new LinkedList<Decision>(); --- 29,33 ---- TimeSeriesSlicer regularSlicer = slicer.applyForType(SlicerType.REGULAR); ! LOG.info("Running strategies"); List<Decision> decisions = new LinkedList<Decision>(); *************** *** 40,44 **** TimeSeries currentSeries = getSeries(slicer, i); TimeSeries regularSeries = regularSlicer.getSlice(i); ! Decision bestAppliedForCurrentSeries = lastDecision.applyFor(regularSeries); LOG.info(String --- 40,44 ---- TimeSeries currentSeries = getSeries(slicer, i); TimeSeries regularSeries = regularSlicer.getSlice(i); ! Decision bestAppliedForCurrentSeries = lastDecision.applyFor(regularSeries); LOG.info(String |
|
From: Thies <tg...@us...> - 2007-08-27 15:36:04
|
Update of /cvsroot/tail/Tail/src/templates/slice In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv850/src/templates/slice Added Files: chart.ftl Log Message: Mudança de pasta --- NEW FILE: chart.ftl --- <table align="left"> <tr> <img src="ambev.png"> </tr> </table> <br> <br> |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 14:50:53
|
Update of /cvsroot/tail/Tail/src/templates In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/templates Modified Files: report.html Added Files: ambev.png Log Message: problemas com o cvs Index: report.html =================================================================== RCS file: /cvsroot/tail/Tail/src/templates/report.html,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** report.html 20 Aug 2007 18:03:58 -0000 1.5 --- report.html 25 Aug 2007 12:30:02 -0000 1.6 *************** *** 2,15 **** <head> <title>Walk Forward Report</title> </head> <h1>Walk Forward Report</h1> <h2>Stock: <span class="titleHeader">Ambev (ambv4)</span></h2> ! <h3><span class="settingsFixed">Slicer:</span><span class="settings">SlicerByTimePeriod Period: 1 day(s) </span> <span class="settingsFixed">Strategy: </span> <span class="settings">IndicatorCrossedIndicatorStrategy</span> ! <span class="settingsFixed">Criteria: </span> <span class="settings">TotalProfitCriterion</span></h3> [...2456 lines suppressed...] --- 158,166 ---- <td>10:00 02/06/2006 - 03:30 03/05/2007</td> <td>-</td> ! <td>4,196</td> ! <td>781</td> ! <td>2.717</td> ! <td>0,077</td> ! <td>54,851</td> </tr> *************** *** 2340,2342 **** </body> ! </html> \ No newline at end of file --- 168,170 ---- </body> ! </html> --- NEW FILE: ambev.png --- (This appears to be a binary file; contents omitted.) |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 14:50:53
|
Update of /cvsroot/tail/TailS In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv5254/TailS Log Message: Directory /cvsroot/tail/TailS added to the repository |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 14:50:39
|
Update of /cvsroot/tail/TailS/.settings In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv5642/.settings Log Message: Directory /cvsroot/tail/TailS/.settings added to the repository |
|
From: Thies <tg...@us...> - 2007-08-27 14:50:16
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/flow In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv22341/src/java/net/sf/tail/flow Modified Files: CashFlow.java Log Message: Pequena refatoração Index: CashFlow.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/flow/CashFlow.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** CashFlow.java 25 Aug 2007 12:30:01 -0000 1.10 --- CashFlow.java 25 Aug 2007 19:18:26 -0000 1.11 *************** *** 35,43 **** private void calculate() { - if (trades.isEmpty()) { - values = Collections.nCopies(timeSeries.getSize(), 1d); - return; - } - for (Trade trade : trades) { int begin = trade.getEntry().getIndex() + 1; --- 35,38 ---- |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 14:50:15
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/series In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/series Modified Files: DefaultTimeSeries.java SlicerByTimePeriod.java Log Message: problemas com o cvs Index: DefaultTimeSeries.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/series/DefaultTimeSeries.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DefaultTimeSeries.java 20 Aug 2007 18:15:30 -0000 1.1 --- DefaultTimeSeries.java 25 Aug 2007 12:30:02 -0000 1.2 *************** *** 47,51 **** public String getPeriod() { ! return ticks.get(0).getDate().toString("hh:mm dd/MM/yyyy - ") + ticks.get(this.getEnd()).getDate().toString("hh:mm dd/MM/yyyy"); } } --- 47,52 ---- public String getPeriod() { ! return ticks.get(0).getDate().toString("hh:mm dd/MM/yyyy - ") ! + ticks.get(this.getEnd()).getDate().toString("hh:mm dd/MM/yyyy"); } } Index: SlicerByTimePeriod.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/series/SlicerByTimePeriod.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SlicerByTimePeriod.java 20 Aug 2007 18:15:30 -0000 1.1 --- SlicerByTimePeriod.java 25 Aug 2007 12:30:02 -0000 1.2 *************** *** 22,32 **** private DateTime periodBegin; ! private transient static Logger LOG = Logger.getLogger(SlicerByTimePeriod.class); ! private SlicerType slicerType; ! ! ! public SlicerByTimePeriod(TimeSeries series, Period period, DateTime begin, SlicerType slicerType) { splittedSeries = new ArrayList<TimeSeries>(); --- 22,30 ---- private DateTime periodBegin; ! private transient static Logger LOG = Logger.getLogger(SlicerByTimePeriod.class); ! private SlicerType slicerType; ! public SlicerByTimePeriod(TimeSeries series, Period period, DateTime begin, SlicerType slicerType) { splittedSeries = new ArrayList<TimeSeries>(); *************** *** 42,52 **** } ! public TimeSeriesSlicer applyForType(SlicerType type){ if (type == this.slicerType) { return this; } ! return new SlicerByTimePeriod(this.series,this.period,this.periodBegin ,type); } ! private void split() { LOG.debug(String.format("Spliting %s ", series)); --- 40,50 ---- } ! public TimeSeriesSlicer applyForType(SlicerType type) { if (type == this.slicerType) { return this; } ! return new SlicerByTimePeriod(this.series, this.period, this.periodBegin, type); } ! private void split() { LOG.debug(String.format("Spliting %s ", series)); *************** *** 72,78 **** LOG.debug(String.format("Interval %s before %s ", interval, series.getTick(index).getDate())); ! if(slicerType == SlicerType.REGULAR) sliceBeginIndex = index; ! begin = end; end = begin.plus(period); --- 70,76 ---- LOG.debug(String.format("Interval %s before %s ", interval, series.getTick(index).getDate())); ! if (slicerType == SlicerType.REGULAR) sliceBeginIndex = index; ! begin = end; end = begin.plus(period); *************** *** 123,141 **** private String periodToString(String sPeriod) { ! if(period.getYears() > 0) sPeriod += period.getYears() + " year(s) ,"; ! if(period.getMonths() > 0) sPeriod += period.getMonths() + " month(s) ,"; ! if(period.getDays()> 0 ) sPeriod += period.getDays() + " day(s) ,"; ! if(period.getHours()> 0 ) sPeriod += period.getHours() + " day(s) ,"; ! if(period.getMinutes()> 0 ) sPeriod += period.getMinutes() + " day(s) ,"; ! return sPeriod.substring(0,sPeriod.length()-2); } public String getPeriod() { ! return this.periodBegin.toString("hh:mm dd/MM/yyyy - ") + series.getTick(series.getEnd()).getDate().toString("hh:mm dd/MM/yyyy"); } --- 121,140 ---- private String periodToString(String sPeriod) { ! if (period.getYears() > 0) sPeriod += period.getYears() + " year(s) ,"; ! if (period.getMonths() > 0) sPeriod += period.getMonths() + " month(s) ,"; ! if (period.getDays() > 0) sPeriod += period.getDays() + " day(s) ,"; ! if (period.getHours() > 0) sPeriod += period.getHours() + " day(s) ,"; ! if (period.getMinutes() > 0) sPeriod += period.getMinutes() + " day(s) ,"; ! return sPeriod.substring(0, sPeriod.length() - 2); } public String getPeriod() { ! return this.periodBegin.toString("hh:mm dd/MM/yyyy - ") ! + series.getTick(series.getEnd()).getDate().toString("hh:mm dd/MM/yyyy"); } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 14:49:58
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/forms In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/graphics/forms Modified Files: ShapeFactory.java Log Message: problemas com o cvs Index: ShapeFactory.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/forms/ShapeFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ShapeFactory.java 7 Jul 2007 18:45:23 -0000 1.1 --- ShapeFactory.java 25 Aug 2007 12:30:00 -0000 1.2 *************** *** 6,20 **** public class ShapeFactory { ! public static Polygon getUpperArrow(){ ! return new Polygon(new int[]{0,3,1,1,-1,-1,-3},new int[]{-4,-11,-11,-17,-17,-11,-11},7); } ! ! public static Polygon getDownArrow(){ ! return new Polygon(new int[]{0,3,1,1,-1,-1,-3},new int[]{4,11,11,17,17,11,11},7); } public static Shape getPoint() { ! return new Polygon(new int[]{0,1,0,-1},new int[]{1,1,-1,-1},4); } ! } --- 6,20 ---- public class ShapeFactory { ! public static Polygon getUpperArrow() { ! return new Polygon(new int[] { 0, 3, 1, 1, -1, -1, -3 }, new int[] { -4, -11, -11, -17, -17, -11, -11 }, 7); } ! ! public static Polygon getDownArrow() { ! return new Polygon(new int[] { 0, 3, 1, 1, -1, -1, -3 }, new int[] { 4, 11, 11, 17, 17, 11, 11 }, 7); } public static Shape getPoint() { ! return new Polygon(new int[] { 0, 1, 0, -1 }, new int[] { 1, 1, -1, -1 }, 4); } ! } |
|
From: Thies <tg...@us...> - 2007-08-27 14:49:57
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1292/src/test/net/sf/tail/report Added Files: SliceReportGeneratorTest.java Log Message: Criado o SlicerReport, adicionado método na interface dos Criteria para calcular valor de apenas uma trade, preparação do chart para plotar gráficos com as trades. --- NEW FILE: SliceReportGeneratorTest.java --- package net.sf.tail.report; import static org.junit.Assert.assertTrue; import java.io.IOException; import java.util.ArrayList; import java.util.List; import net.sf.tail.AnalysisCriterion; import net.sf.tail.Operation; import net.sf.tail.OperationType; import net.sf.tail.Trade; import net.sf.tail.analysis.criteria.NumberOfTicksCriterion; import net.sf.tail.analysis.criteria.TotalProfitCriterion; import net.sf.tail.analysis.evaluator.Decision; import net.sf.tail.runner.HistoryRunner; import net.sf.tail.sample.SampleTimeSeries; import net.sf.tail.strategy.FakeStrategy; import org.junit.Before; import org.junit.Test; public class SliceReportGeneratorTest { private Decision decision; private List<AnalysisCriterion> criteria; @Before public void setUp() throws Exception { SampleTimeSeries series = new SampleTimeSeries(); 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(3, OperationType.BUY), new Operation(5, OperationType.SELL))); decision = new Decision(new FakeStrategy(new Operation[0], new Operation[0]), series, new TotalProfitCriterion(), trades, new HistoryRunner(OperationType.BUY)); criteria = new ArrayList<AnalysisCriterion>(); criteria.add(new NumberOfTicksCriterion()); criteria.add(new TotalProfitCriterion()); } @Test public void testSMAGenerate() throws IOException { StringBuffer html = new SliceReportGenerator().generate(decision, criteria); System.out.println(html); assertTrue(html.toString().contains("TotalProfitCriterion")); assertTrue(html.toString().contains("4.5")); } } |
|
From: Thies <tg...@us...> - 2007-08-27 14:48:51
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/graphics In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1292/src/java/net/sf/tail/graphics Modified Files: StockAndCashFlowChart.java Log Message: Criado o SlicerReport, adicionado método na interface dos Criteria para calcular valor de apenas uma trade, preparação do chart para plotar gráficos com as trades. Index: StockAndCashFlowChart.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/graphics/StockAndCashFlowChart.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** StockAndCashFlowChart.java 25 Aug 2007 12:30:01 -0000 1.4 --- StockAndCashFlowChart.java 25 Aug 2007 18:32:39 -0000 1.5 *************** *** 4,7 **** --- 4,9 ---- import java.awt.Font; + import net.sf.tail.graphics.forms.ShapeFactory; + import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; *************** *** 23,30 **** private LineAndShapeRenderer lineAndShapeRenderer; ! public StockAndCashFlowChart(CategoryDataset dataSet) { this.dataSet = dataSet; this.dataSet.addChangeListener(this); this.lineAndShapeRenderer = new LineAndShapeRenderer(true, true); } --- 25,35 ---- private LineAndShapeRenderer lineAndShapeRenderer; ! private boolean drawShapes; ! ! public StockAndCashFlowChart(CategoryDataset dataSet, boolean drawShapes) { this.dataSet = dataSet; this.dataSet.addChangeListener(this); this.lineAndShapeRenderer = new LineAndShapeRenderer(true, true); + this.drawShapes = drawShapes; } *************** *** 60,66 **** */ private void setSeriesShapes() { ! lineAndShapeRenderer.setSeriesShapesVisible(0, false); ! lineAndShapeRenderer.setSeriesShapesVisible(1, false); ! plot.setRenderer(lineAndShapeRenderer); } --- 65,84 ---- */ private void setSeriesShapes() { ! if (drawShapes) { ! for (int i = 0; i < dataSet.getRowCount(); i++) { ! ! if (dataSet.getRowKey(i).equals("Buy")) ! lineAndShapeRenderer.setSeriesShape(i, ShapeFactory.getDownArrow()); ! else if (dataSet.getRowKey(i).equals("Sell")) ! lineAndShapeRenderer.setSeriesShape(i, ShapeFactory.getUpperArrow()); ! else ! lineAndShapeRenderer.setSeriesShape(i, ShapeFactory.getPoint()); ! } ! } ! else { ! lineAndShapeRenderer.setSeriesShapesVisible(0, false); ! lineAndShapeRenderer.setSeriesShapesVisible(1, false); ! plot.setRenderer(lineAndShapeRenderer); ! } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 14:48:46
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/bollingerbands In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/indicator/tracker/bollingerbands Modified Files: BollingerBandsUpperIndicator.java BollingerBandsLowerIndicator.java BollingerBandsMiddleIndicator.java Log Message: problemas com o cvs Index: BollingerBandsMiddleIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/bollingerbands/BollingerBandsMiddleIndicator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** BollingerBandsMiddleIndicator.java 26 Jul 2007 22:23:34 -0000 1.6 --- BollingerBandsMiddleIndicator.java 25 Aug 2007 12:30:01 -0000 1.7 *************** *** 6,12 **** /** * Buy - Occurs when the price line cross from down to up de Bollinger Band Low. ! * Sell - Occurs when the price line cross from up to down de Bollinger Band High. * @author Marcio ! * */ public class BollingerBandsMiddleIndicator implements Indicator<Double> { --- 6,14 ---- /** * Buy - Occurs when the price line cross from down to up de Bollinger Band Low. ! * Sell - Occurs when the price line cross from up to down de Bollinger Band ! * High. ! * * @author Marcio ! * */ public class BollingerBandsMiddleIndicator implements Indicator<Double> { *************** *** 24,31 **** return indicator.getValue(index).doubleValue(); } - public String getName() { ! return getClass().getSimpleName() + " deviation: "+indicator.getName(); } } --- 26,32 ---- return indicator.getValue(index).doubleValue(); } public String getName() { ! return getClass().getSimpleName() + " deviation: " + indicator.getName(); } } Index: BollingerBandsLowerIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/bollingerbands/BollingerBandsLowerIndicator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** BollingerBandsLowerIndicator.java 26 Jul 2007 22:23:34 -0000 1.6 --- BollingerBandsLowerIndicator.java 25 Aug 2007 12:30:01 -0000 1.7 *************** *** 6,12 **** /** * Buy - Occurs when the price line cross from down to up de Bollinger Band Low. ! * Sell - Occurs when the price line cross from up to down de Bollinger Band High. * @author Marcio ! * */ --- 6,14 ---- /** * Buy - Occurs when the price line cross from down to up de Bollinger Band Low. ! * Sell - Occurs when the price line cross from up to down de Bollinger Band ! * High. ! * * @author Marcio ! * */ *************** *** 31,35 **** public String getName() { ! return getClass().getSimpleName() + "deviation: "+indicator.getName() + "series: " + bbm.getName(); } } --- 33,37 ---- public String getName() { ! return getClass().getSimpleName() + "deviation: " + indicator.getName() + "series: " + bbm.getName(); } } Index: BollingerBandsUpperIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/tracker/bollingerbands/BollingerBandsUpperIndicator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** BollingerBandsUpperIndicator.java 26 Jul 2007 22:23:34 -0000 1.6 --- BollingerBandsUpperIndicator.java 25 Aug 2007 12:30:01 -0000 1.7 *************** *** 6,12 **** /** * Buy - Occurs when the price line cross from down to up de Bollinger Band Low. ! * Sell - Occurs when the price line cross from up to down de Bollinger Band High. * @author Marcio ! * */ public class BollingerBandsUpperIndicator implements Indicator<Double> { --- 6,14 ---- /** * Buy - Occurs when the price line cross from down to up de Bollinger Band Low. ! * Sell - Occurs when the price line cross from up to down de Bollinger Band ! * High. ! * * @author Marcio ! * */ public class BollingerBandsUpperIndicator implements Indicator<Double> { *************** *** 28,35 **** return bbm.getValue(index).doubleValue() + 2 * indicator.getValue(index).doubleValue(); } - public String getName() { ! return getClass().getSimpleName() + "deviation: "+indicator.getName()+ "series" + bbm.getName(); } } --- 30,36 ---- return bbm.getValue(index).doubleValue() + 2 * indicator.getValue(index).doubleValue(); } public String getName() { ! return getClass().getSimpleName() + "deviation: " + indicator.getName() + "series" + bbm.getName(); } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 14:48:38
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/strategy In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/strategy Modified Files: IndicatorOverIndicatorStrategy.java IndicatorCrossedIndicatorStrategy.java SupportStrategy.java PipeEnterStrategy.java MinValueStarterStrategy.java DistanceBetweenIndicatorsStrategy.java AlwaysOperateStrategy.java ResistanceStrategy.java MinValueStopperStrategy.java JustBuyOnceStrategy.java Log Message: problemas com o cvs Index: PipeEnterStrategy.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/strategy/PipeEnterStrategy.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** PipeEnterStrategy.java 23 Aug 2007 12:47:26 -0000 1.8 --- PipeEnterStrategy.java 25 Aug 2007 12:30:00 -0000 1.9 *************** *** 26,32 **** public boolean shouldEnter(int index) { ! //if (crossUp.getValue(index)) ! // return true; ! if (crossDown.getValue(index)) return true; --- 26,32 ---- public boolean shouldEnter(int index) { ! // if (crossUp.getValue(index)) ! // return true; ! if (crossDown.getValue(index)) return true; *************** *** 35,50 **** public boolean shouldExit(int index) { ! //if (crossDown.getValue(index)) ! // return true; ! if (crossUp.getValue(index)) return true; return false; } - - public String getName(){ - return String.format("%s upper: %s lower: %s",this.getClass().getSimpleName(), crossUp.getName(), crossDown.getName()); - } } --- 35,50 ---- public boolean shouldExit(int index) { ! // if (crossDown.getValue(index)) ! // return true; ! if (crossUp.getValue(index)) return true; return false; } + public String getName() { + return String.format("%s upper: %s lower: %s", this.getClass().getSimpleName(), crossUp.getName(), crossDown + .getName()); + } } Index: AlwaysOperateStrategy.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/strategy/AlwaysOperateStrategy.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** AlwaysOperateStrategy.java 23 Aug 2007 12:47:26 -0000 1.5 --- AlwaysOperateStrategy.java 25 Aug 2007 12:30:00 -0000 1.6 *************** *** 1,5 **** package net.sf.tail.strategy; - public class AlwaysOperateStrategy extends AbstractStrategy { --- 1,4 ---- *************** *** 11,19 **** return true; } - ! public String getName(){ return this.getClass().getSimpleName(); ! } } --- 10,17 ---- return true; } ! public String getName() { return this.getClass().getSimpleName(); ! } } Index: IndicatorOverIndicatorStrategy.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/strategy/IndicatorOverIndicatorStrategy.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** IndicatorOverIndicatorStrategy.java 23 Aug 2007 12:47:26 -0000 1.7 --- IndicatorOverIndicatorStrategy.java 25 Aug 2007 12:30:00 -0000 1.8 *************** *** 3,7 **** import net.sf.tail.Indicator; ! public class IndicatorOverIndicatorStrategy extends AbstractStrategy{ private Indicator<Double> first; --- 3,7 ---- import net.sf.tail.Indicator; ! public class IndicatorOverIndicatorStrategy extends AbstractStrategy { private Indicator<Double> first; *************** *** 27,33 **** return false; } ! ! public String getName(){ ! return String.format("%s upper: %s lower: %s",this.getClass().getSimpleName(), first.getName(), second.getName()); } --- 27,34 ---- return false; } ! ! public String getName() { ! return String.format("%s upper: %s lower: %s", this.getClass().getSimpleName(), first.getName(), second ! .getName()); } Index: DistanceBetweenIndicatorsStrategy.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/strategy/DistanceBetweenIndicatorsStrategy.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** DistanceBetweenIndicatorsStrategy.java 23 Aug 2007 12:47:26 -0000 1.7 --- DistanceBetweenIndicatorsStrategy.java 25 Aug 2007 12:30:00 -0000 1.8 *************** *** 13,17 **** * */ ! public class DistanceBetweenIndicatorsStrategy extends AbstractStrategy{ Indicator<? extends Number> upper; --- 13,17 ---- * */ ! public class DistanceBetweenIndicatorsStrategy extends AbstractStrategy { Indicator<? extends Number> upper; *************** *** 46,53 **** return false; } - ! public String getName(){ ! return String.format("%s upper: %s lower: %s",this.getClass().getSimpleName(), upper.getName(), lower.getName()); } } --- 46,53 ---- return false; } ! public String getName() { ! return String.format("%s upper: %s lower: %s", this.getClass().getSimpleName(), upper.getName(), lower ! .getName()); } } Index: MinValueStarterStrategy.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/strategy/MinValueStarterStrategy.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** MinValueStarterStrategy.java 23 Aug 2007 12:47:26 -0000 1.9 --- MinValueStarterStrategy.java 25 Aug 2007 12:30:00 -0000 1.10 *************** *** 9,13 **** * venda nessa mesma {@link Strategy} */ ! public class MinValueStarterStrategy extends AbstractStrategy{ private Strategy strategy; --- 9,13 ---- * venda nessa mesma {@link Strategy} */ ! public class MinValueStarterStrategy extends AbstractStrategy { private Strategy strategy; *************** *** 34,39 **** } ! public String getName(){ ! return String.format("%s start: %i",this.getClass().getSimpleName(), start); } } --- 34,39 ---- } ! public String getName() { ! return String.format("%s start: %i", this.getClass().getSimpleName(), start); } } Index: JustBuyOnceStrategy.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/strategy/JustBuyOnceStrategy.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** JustBuyOnceStrategy.java 23 Aug 2007 12:47:26 -0000 1.6 --- JustBuyOnceStrategy.java 25 Aug 2007 12:30:00 -0000 1.7 *************** *** 1,13 **** package net.sf.tail.strategy; - - public class JustBuyOnceStrategy extends AbstractStrategy { private boolean operated = false; ! public boolean shouldEnter(int index) { ! if(!operated) ! { operated = true; return true; --- 1,10 ---- package net.sf.tail.strategy; public class JustBuyOnceStrategy extends AbstractStrategy { private boolean operated = false; ! public boolean shouldEnter(int index) { ! if (!operated) { operated = true; return true; *************** *** 19,27 **** return false; } ! ! public String getName(){ return this.getClass().getSimpleName(); } - } --- 16,23 ---- return false; } ! ! public String getName() { return this.getClass().getSimpleName(); } } Index: ResistanceStrategy.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/strategy/ResistanceStrategy.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ResistanceStrategy.java 23 Aug 2007 12:47:26 -0000 1.8 --- ResistanceStrategy.java 25 Aug 2007 12:30:00 -0000 1.9 *************** *** 35,43 **** return strategy.shouldExit(index); } - - public String getName(){ - return String.format("%s resistance: %i strategy: %s",this.getClass().getSimpleName(), resistance ,strategy.getName()); - } } --- 35,43 ---- return strategy.shouldExit(index); } + public String getName() { + return String.format("%s resistance: %i strategy: %s", this.getClass().getSimpleName(), resistance, strategy + .getName()); + } } Index: SupportStrategy.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/strategy/SupportStrategy.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** SupportStrategy.java 23 Aug 2007 12:47:26 -0000 1.8 --- SupportStrategy.java 25 Aug 2007 12:30:00 -0000 1.9 *************** *** 34,40 **** return strategy.shouldExit(index); } ! ! public String getName(){ ! return String.format("%s suport: %i strategy: %s",this.getClass().getSimpleName(), support, strategy.getName()); } } --- 34,41 ---- return strategy.shouldExit(index); } ! ! public String getName() { ! return String ! .format("%s suport: %i strategy: %s", this.getClass().getSimpleName(), support, strategy.getName()); } } Index: MinValueStopperStrategy.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/strategy/MinValueStopperStrategy.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** MinValueStopperStrategy.java 23 Aug 2007 12:47:26 -0000 1.6 --- MinValueStopperStrategy.java 25 Aug 2007 12:30:00 -0000 1.7 *************** *** 12,16 **** * */ ! public class MinValueStopperStrategy extends AbstractStrategy{ private Strategy strategy; --- 12,16 ---- * */ ! public class MinValueStopperStrategy extends AbstractStrategy { private Strategy strategy; *************** *** 40,45 **** } ! public String getName(){ ! return String.format("%s stoper: %i",this.getClass().getSimpleName(), loss); } } --- 40,45 ---- } ! public String getName() { ! return String.format("%s stoper: %i", this.getClass().getSimpleName(), loss); } } Index: IndicatorCrossedIndicatorStrategy.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/strategy/IndicatorCrossedIndicatorStrategy.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** IndicatorCrossedIndicatorStrategy.java 23 Aug 2007 12:47:26 -0000 1.9 --- IndicatorCrossedIndicatorStrategy.java 25 Aug 2007 12:30:00 -0000 1.10 *************** *** 12,20 **** * */ ! public class IndicatorCrossedIndicatorStrategy extends AbstractStrategy{ - private final Indicator<Boolean> crossUp; ! private final Indicator<Boolean> crossDown; --- 12,19 ---- * */ ! public class IndicatorCrossedIndicatorStrategy extends AbstractStrategy { private final Indicator<Boolean> crossUp; ! private final Indicator<Boolean> crossDown; *************** *** 23,32 **** private Indicator<? extends Number> lower; - public IndicatorCrossedIndicatorStrategy(Indicator<? extends Number> upper, Indicator<? extends Number> lower) { this.upper = upper; this.lower = lower; ! crossUp = new CrossIndicator(upper,lower); ! crossDown = new CrossIndicator(lower,upper); } --- 22,30 ---- private Indicator<? extends Number> lower; public IndicatorCrossedIndicatorStrategy(Indicator<? extends Number> upper, Indicator<? extends Number> lower) { this.upper = upper; this.lower = lower; ! crossUp = new CrossIndicator(upper, lower); ! crossDown = new CrossIndicator(lower, upper); } *************** *** 38,45 **** return crossDown.getValue(index); } ! ! public String getName(){ return String.format("Cross %s over %s", upper.getName(), lower.getName()); ! } } --- 36,43 ---- return crossDown.getValue(index); } ! ! public String getName() { return String.format("Cross %s over %s", upper.getName(), lower.getName()); ! } } |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 14:48:22
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/flow In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/flow Modified Files: CashFlow.java Log Message: problemas com o cvs Index: CashFlow.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/flow/CashFlow.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** CashFlow.java 20 Aug 2007 19:02:00 -0000 1.9 --- CashFlow.java 25 Aug 2007 12:30:01 -0000 1.10 *************** *** 24,28 **** calculate(); } ! public CashFlow(TimeSeries timeSeries, List<Trade> trades, double initialValue) { this.timeSeries = timeSeries; --- 24,28 ---- calculate(); } ! public CashFlow(TimeSeries timeSeries, List<Trade> trades, double initialValue) { this.timeSeries = timeSeries; *************** *** 46,61 **** } int end = trade.getExit().getIndex(); ! for (int i = Math.max(begin, 1) ; i <= end; i++) { double ratio; if (trade.getEntry().getType().equals(OperationType.BUY)) { ! 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); } } ! if(timeSeries.getSize() - values.size() > 0) ! values.addAll(Collections.nCopies(timeSeries.getSize() - values.size(), values.get(values.size() - 1 ))); } --- 46,63 ---- } int end = trade.getExit().getIndex(); ! for (int i = Math.max(begin, 1); i <= end; i++) { double ratio; if (trade.getEntry().getType().equals(OperationType.BUY)) { ! 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); } } ! if (timeSeries.getSize() - values.size() > 0) ! values.addAll(Collections.nCopies(timeSeries.getSize() - values.size(), values.get(values.size() - 1))); } |
|
From: Thies <tg...@us...> - 2007-08-27 14:48:19
|
Update of /cvsroot/tail/Tail/src/templates/total In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1779/src/templates/total Added Files: ambev.png chart.ftl report.html report.ftl header.ftl footer.ftl Log Message: Mudança de pasta --- NEW FILE: footer.ftl --- </body> </html> --- NEW FILE: header.ftl --- <html> <head> <title>Walk Forward Report</title> <link rel="stylesheet" type="text/css" href="../style.css"> </head> <body> <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.applyedCriterion.class.simpleName}</span></h3> --- NEW FILE: report.ftl --- <#include "header.ftl"> <#include "chart.ftl"> <table align="left"> <tr> <th>Period</th> <th>Date</th> <th>Strategy</th> <th>${report.applyedCriterion.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> <td>-</td> </#list> </tr> <#list report.decisions as decision> <#if (x%2)= 0> <tr class="row1"> <#else> <tr class="row2"> </#if> <#assign x=x+1> <td>${x}</td> <td class="date">${decision.series.period}</td> <td class="strategy">${decision.strategy.name}</td> <td>${report.applyedCriterion.calculate(decision.series, decision.trades)}</td> <#list criterions as criterion> <td>${criterion.calculate(decision.series, decision.trades)}</td> </#list> </tr> </#list> <tr class="total"> <td>TOTAL</td> <td>${report.slicer.series.period}</td> <td>-</td> <td>${report.applyedCriterion.summarize(report.slicer.series, report.decisions)}</td> <#list criterions as criterion> <td>${criterion.summarize(report.slicer.series, report.decisions)}</td> </#list> </tr> </table> <#include "footer.ftl"> --- NEW FILE: chart.ftl --- <table align="left"> <tr> <img src="ambev.png"> </tr> </table> <br> <br> --- NEW FILE: ambev.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: report.html --- <html> <head> <title>Walk Forward Report</title> <link rel="stylesheet" type="text/css" href="../style.css"> </head> <body> <h1>Walk Forward Report</h1> <h2>Stock: <span class="titleHeader">Ambev (ambv4)</span></h2> <h3><span class="settingsFixed">Slicer:</span><span class="settings">SlicerByTimePeriod Period: 1 month(s) </span> <span class="settingsFixed">Strategy: </span> <span class="settings">IndicatorCrossedIndicatorStrategy</span> <span class="settingsFixed">Criteria: </span> <span class="settings">TotalProfitCriterion</span></h3><table align="left"> <tr> <img src="ambev.png"> </tr> </table> <br> <br> <table align="left"> <tr> <th>Period</th> <th>Date</th> <th>Strategy</th> <th>TotalProfit</th> <th>NumberOfTrades</th> <th>NumberOfTicks</th> <th>MaximumDrawDown</th> <th>RewardRiskRatio</th> </tr> <tr class="row1"> <td>1</td> <td class="date">10:00 02/06/2006 - 06:45 30/06/2006</td> <td class="strategy">-</td> <td>-</td> <td>-</td> <td>-</td> <td>-</td> <td>-</td> </tr> <tr class="row2"> <td>2</td> <td class="date">10:00 03/07/2006 - 06:45 01/08/2006</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 16</td> <td>1,252</td> <td>67</td> <td>342</td> <td>0,019</td> <td>65,816</td> </tr> <tr class="row1"> <td>3</td> <td class="date">10:15 02/08/2006 - 05:00 01/09/2006</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 12</td> <td>1,272</td> <td>73</td> <td>253</td> <td>0</td> <td>?</td> </tr> <tr class="row2"> <td>4</td> <td class="date">10:00 04/09/2006 - 05:00 29/09/2006</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 7</td> <td>1,19</td> <td>80</td> <td>246</td> <td>0</td> <td>?</td> </tr> <tr class="row1"> <td>5</td> <td class="date">10:00 02/10/2006 - 05:00 01/11/2006</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 7</td> <td>1,102</td> <td>86</td> <td>339</td> <td>0</td> <td>?</td> </tr> <tr class="row2"> <td>6</td> <td class="date">10:00 03/11/2006 - 07:00 01/12/2006</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 7</td> <td>1,197</td> <td>81</td> <td>256</td> <td>0</td> <td>?</td> </tr> <tr class="row1"> <td>7</td> <td class="date">11:00 04/12/2006 - 06:00 28/12/2006</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 7</td> <td>1,161</td> <td>77</td> <td>213</td> <td>0</td> <td>?</td> </tr> <tr class="row2"> <td>8</td> <td class="date">11:00 02/01/2007 - 06:45 01/02/2007</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 7</td> <td>1,124</td> <td>82</td> <td>292</td> <td>0</td> <td>?</td> </tr> <tr class="row1"> <td>9</td> <td class="date">11:00 02/02/2007 - 06:45 01/03/2007</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 6</td> <td>1,06</td> <td>69</td> <td>260</td> <td>0</td> <td>?</td> </tr> <tr class="row2"> <td>10</td> <td class="date">11:00 02/03/2007 - 06:00 30/03/2007</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 6</td> <td>1,081</td> <td>73</td> <td>252</td> <td>0</td> <td>?</td> </tr> <tr class="row1"> <td>11</td> <td class="date">10:00 02/04/2007 - 05:00 30/04/2007</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 5</td> <td>1,106</td> <td>88</td> <td>257</td> <td>0</td> <td>?</td> </tr> <tr class="row2"> <td>12</td> <td class="date">10:00 02/05/2007 - 03:30 03/05/2007</td> <td class="strategy">Cross ClosePriceIndicator over EMAIndicator timeFrame: 6</td> <td>1,014</td> <td>5</td> <td>7</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>4,196</td> <td>781</td> <td>2.717</td> <td>0,077</td> <td>54,851</td> </tr> </table> </body> </html> |
|
From: Márcio V. d. S. <mv...@us...> - 2007-08-27 14:48:03
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/simple In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4761/src/java/net/sf/tail/indicator/simple Modified Files: VolumeIndicator.java ClosePriceIndicator.java ConstantIndicator.java MinPriceIndicator.java VariationIndicator.java MaxPriceIndicator.java OpenPriceIndicator.java Log Message: problemas com o cvs Index: VolumeIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/simple/VolumeIndicator.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** VolumeIndicator.java 26 Jul 2007 22:23:33 -0000 1.4 --- VolumeIndicator.java 25 Aug 2007 12:30:01 -0000 1.5 *************** *** 15,19 **** return data.getTick(index).getVolume(); } ! public String getName() { return getClass().getSimpleName(); --- 15,19 ---- return data.getTick(index).getVolume(); } ! public String getName() { return getClass().getSimpleName(); Index: OpenPriceIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/simple/OpenPriceIndicator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** OpenPriceIndicator.java 26 Jul 2007 22:23:33 -0000 1.5 --- OpenPriceIndicator.java 25 Aug 2007 12:30:01 -0000 1.6 *************** *** 15,18 **** --- 15,19 ---- return data.getTick(index).getOpenPrice(); } + public String getName() { return getClass().getSimpleName(); Index: MinPriceIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/simple/MinPriceIndicator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MinPriceIndicator.java 26 Jul 2007 22:23:33 -0000 1.5 --- MinPriceIndicator.java 25 Aug 2007 12:30:01 -0000 1.6 *************** *** 15,19 **** return data.getTick(index).getMinPrice(); } - public String getName() { --- 15,18 ---- Index: VariationIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/simple/VariationIndicator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** VariationIndicator.java 26 Jul 2007 22:23:33 -0000 1.5 --- VariationIndicator.java 25 Aug 2007 12:30:01 -0000 1.6 *************** *** 15,19 **** return data.getTick(index).getVariation(); } ! public String getName() { return getClass().getSimpleName(); --- 15,19 ---- return data.getTick(index).getVariation(); } ! public String getName() { return getClass().getSimpleName(); Index: ClosePriceIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/simple/ClosePriceIndicator.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ClosePriceIndicator.java 20 Aug 2007 18:03:58 -0000 1.7 --- ClosePriceIndicator.java 25 Aug 2007 12:30:01 -0000 1.8 *************** *** 4,8 **** import net.sf.tail.TimeSeries; ! public class ClosePriceIndicator implements Indicator<Double>{ private TimeSeries data; --- 4,8 ---- import net.sf.tail.TimeSeries; ! public class ClosePriceIndicator implements Indicator<Double> { private TimeSeries data; *************** *** 19,22 **** return getClass().getSimpleName(); } ! } --- 19,22 ---- return getClass().getSimpleName(); } ! } Index: ConstantIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/simple/ConstantIndicator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ConstantIndicator.java 26 Jul 2007 22:23:33 -0000 1.5 --- ConstantIndicator.java 25 Aug 2007 12:30:01 -0000 1.6 *************** *** 14,20 **** return value; } ! public String getName() { ! return getClass().getSimpleName() + " Value: "+value; } } --- 14,20 ---- return value; } ! public String getName() { ! return getClass().getSimpleName() + " Value: " + value; } } Index: MaxPriceIndicator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/indicator/simple/MaxPriceIndicator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MaxPriceIndicator.java 26 Jul 2007 22:23:33 -0000 1.5 --- MaxPriceIndicator.java 25 Aug 2007 12:30:01 -0000 1.6 *************** *** 15,19 **** return data.getTick(index).getMaxPrice(); } - public String getName() { --- 15,18 ---- |