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: xanaot <xa...@us...> - 2007-10-01 23:54:37
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/report/xls In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv9889/src/java/net/sf/tail/report/xls Modified Files: ReportXlsGenerator.java Log Message: ReportXLS sem os splits e parse. Index: ReportXlsGenerator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/report/xls/ReportXlsGenerator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ReportXlsGenerator.java 26 Sep 2007 19:42:38 -0000 1.6 --- ReportXlsGenerator.java 1 Oct 2007 23:54:36 -0000 1.7 *************** *** 13,16 **** --- 13,17 ---- import net.sf.tail.report.ReportImage; + import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; *************** *** 30,33 **** --- 31,36 ---- private CellStylist stylist; + + private static final Logger LOG = Logger.getLogger(ReportXlsGenerator.class); public ReportXlsGenerator(HSSFWorkbook workbook) { *************** *** 46,49 **** --- 49,53 ---- public List<HSSFSheet> generate(Report report, List<AnalysisCriterion> criteria, Period period) throws IOException { + LOG.info("Initializing Report Generator"); int row = INDEX_FIRST_ROW; ReportImage image = new ReportImage(); *************** *** 65,73 **** File reportPNG = image.generateImage(report, period); ! stylist.drawImage(reportPNG, sheet, 1, 6); stylist.rearrangeSheet(sheet, 10); sheets.add(sheet); return sheets; } --- 69,78 ---- File reportPNG = image.generateImage(report, period); ! stylist.drawImage(reportPNG, sheet, 1, 5); stylist.rearrangeSheet(sheet, 10); sheets.add(sheet); + LOG.info("Ending Report Generator"); return sheets; } *************** *** 82,91 **** createCell(rowHeader, "Final Date", (short) columnIndex++, style); createCell(rowHeader, "Strategy", (short) columnIndex++, style); ! createCell(rowHeader, "Time Frame", (short) columnIndex++, style); ! createCell(rowHeader, report.getApplyedCriterion().getClass().getSimpleName().split("Criterion")[0], (short) columnIndex++, style); for (AnalysisCriterion criterium : criteria) { createCell(rowHeader, criterium.getClass().getSimpleName(), (short) columnIndex++, style); } return firtRow; } --- 87,96 ---- createCell(rowHeader, "Final Date", (short) columnIndex++, style); createCell(rowHeader, "Strategy", (short) columnIndex++, style); ! createCell(rowHeader, report.getApplyedCriterion().getClass().getSimpleName(), (short) columnIndex++, style); for (AnalysisCriterion criterium : criteria) { createCell(rowHeader, criterium.getClass().getSimpleName(), (short) columnIndex++, style); } + LOG.info("Header created"); return firtRow; } *************** *** 104,108 **** createCell(rowFirst, " - ", (short) indexcolumn++, style); createCell(rowFirst, " - ", (short) indexcolumn++, style); - createCell(rowFirst, " - ", (short) indexcolumn++, style); for (int i=0; i < criteria.size(); i++) --- 109,112 ---- *************** *** 110,113 **** --- 114,118 ---- createCell(rowFirst, " - ", (short) indexcolumn++, style); } + LOG.info("First Row created"); return firtRow; } *************** *** 115,126 **** private int generateInternalRow(int firtRow, HSSFSheet sheet, Report report, List<AnalysisCriterion> criteria, HSSFCellStyle style) { ! double calculate; int index = firtRow - INDEX_FIRST_ROW; - String[] strategyTimeFrame; for (Decision decision : report.getDecisions()) { int indexcolumn = 1; HSSFRow rowDecision = sheet.createRow((short) firtRow++); - strategyTimeFrame = decision.getStrategy().getName().split(":"); createCell(rowDecision, index++, (short) indexcolumn++, style); --- 120,129 ---- private int generateInternalRow(int firtRow, HSSFSheet sheet, Report report, List<AnalysisCriterion> criteria, HSSFCellStyle style) { ! LOG.info("Initializing Internal rows"); double calculate; int index = firtRow - INDEX_FIRST_ROW; for (Decision decision : report.getDecisions()) { int indexcolumn = 1; HSSFRow rowDecision = sheet.createRow((short) firtRow++); createCell(rowDecision, index++, (short) indexcolumn++, style); *************** *** 129,134 **** createCell(rowDecision, decision.getSeries().getTick(decision.getSeries().getEnd()).getDateName(), (short) indexcolumn++, style); ! createCell(rowDecision, strategyTimeFrame[0].split("time")[0], (short) indexcolumn++, style); ! createCell(rowDecision, Integer.parseInt(strategyTimeFrame[1].trim()), (short) indexcolumn++, style); calculate = report.getApplyedCriterion().calculate(decision.getSeries(), decision.getTrades()); createCell(rowDecision, calculate, (short) indexcolumn++, style); --- 132,136 ---- createCell(rowDecision, decision.getSeries().getTick(decision.getSeries().getEnd()).getDateName(), (short) indexcolumn++, style); ! createCell(rowDecision, decision.getStrategy().getName(), (short) indexcolumn++, style); calculate = report.getApplyedCriterion().calculate(decision.getSeries(), decision.getTrades()); createCell(rowDecision, calculate, (short) indexcolumn++, style); *************** *** 137,142 **** createCell(rowDecision, calculate, (short) indexcolumn++, style); } - } return firtRow; } --- 139,144 ---- createCell(rowDecision, calculate, (short) indexcolumn++, style); } } + LOG.info("Ending Internal rows"); return firtRow; } *************** *** 155,159 **** .getDateName(), (short) indexcolumn++, style); createCell(rowLast, " - ", (short) indexcolumn++, style); - createCell(rowLast, " - ", (short) indexcolumn++, style); calculate = report.getApplyedCriterion().summarize(report.getSlicer().getSeries(), report.getDecisions()); createCell(rowLast, calculate, (short) indexcolumn++, style); --- 157,160 ---- *************** *** 162,165 **** --- 163,167 ---- createCell(rowLast, calculate, (short) indexcolumn++, style); } + LOG.info("created summary"); } |
|
From: Carlos <ma...@us...> - 2007-10-01 23:54:07
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv9809/src/java/net/sf/tails/swing/frame/report Modified Files: NewReportFrame.java Log Message: Commit again... Index: NewReportFrame.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/report/NewReportFrame.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** NewReportFrame.java 1 Oct 2007 22:48:34 -0000 1.5 --- NewReportFrame.java 1 Oct 2007 23:54:08 -0000 1.6 *************** *** 1,3 **** ! package net.sf.tails.swing.frame.report; import java.awt.event.KeyEvent; --- 1,3 ---- ! package net.sf.tails.swing.frame.report; import java.awt.event.KeyEvent; |
|
From: xanaot <xa...@us...> - 2007-10-01 23:47:09
|
Update of /cvsroot/tail/Tail/src/test/net/sf/tail/report/xls In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv6542/src/test/net/sf/tail/report/xls Modified Files: CompleteXlsGeneratorExecutor.java Log Message: Refatoracao no Generate xls Index: CompleteXlsGeneratorExecutor.java =================================================================== RCS file: /cvsroot/tail/Tail/src/test/net/sf/tail/report/xls/CompleteXlsGeneratorExecutor.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CompleteXlsGeneratorExecutor.java 26 Sep 2007 20:51:44 -0000 1.2 --- CompleteXlsGeneratorExecutor.java 1 Oct 2007 23:47:04 -0000 1.3 *************** *** 3,10 **** --- 3,14 ---- import java.io.FileInputStream; import java.io.FileNotFoundException; + import java.io.FileOutputStream; import java.io.IOException; + import java.util.ArrayList; import java.util.HashSet; + import java.util.List; import java.util.Set; + import net.sf.tail.AnalysisCriterion; import net.sf.tail.Indicator; import net.sf.tail.OperationType; *************** *** 13,21 **** import net.sf.tail.TimeSeries; import net.sf.tail.Walker; 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.io.reader.CedroTimeSeriesLoader; import net.sf.tail.report.Report; --- 17,31 ---- import net.sf.tail.TimeSeries; import net.sf.tail.Walker; + import net.sf.tail.analysis.criteria.AverageProfitCriterion; + import net.sf.tail.analysis.criteria.BuyAndHoldCriterion; + import net.sf.tail.analysis.criteria.NumberOfTicksCriterion; + import net.sf.tail.analysis.criteria.RewardRiskRatioCriterion; import net.sf.tail.analysis.criteria.TotalProfitCriterion; + import net.sf.tail.analysis.criteria.VersusBuyAndHoldCriterion; 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.ParabolicSarIndicator; ! import net.sf.tail.indicator.tracker.SMAIndicator; import net.sf.tail.io.reader.CedroTimeSeriesLoader; import net.sf.tail.report.Report; *************** *** 23,27 **** --- 33,39 ---- import net.sf.tail.series.SlicerByTimePeriod; import net.sf.tail.strategy.IndicatorCrossedIndicatorStrategy; + import net.sf.tail.strategy.IndicatorOverIndicatorStrategy; + import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.joda.time.Period; *************** *** 34,38 **** try { ! timeSeries = ctsl.load(new FileInputStream("BaseBovespa/15min/ambv4.csv"), "Ambev (ambv4)"); } catch (FileNotFoundException e) { e.printStackTrace(); --- 46,50 ---- try { ! timeSeries = ctsl.load(new FileInputStream("BaseBovespa/diario/petr4Dia.csv"), "Ambev (ambv4)"); } catch (FileNotFoundException e) { e.printStackTrace(); *************** *** 45,59 **** for (int i = 4; i < 20; i++) { ! 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().withMonths(1), SlicerType.MEMORIZED), new TotalProfitCriterion()); CompleteXlsGenerator xls = new CompleteXlsGenerator(); ! xls.generate(r, new Period().withMonths(1)); } --- 57,95 ---- + // for (int i = 4; i < 60; i++) { + // Indicator<Double> tracker = new EMAIndicator(close, i); + // Strategy strategy = new IndicatorCrossedIndicatorStrategy(close, tracker); + // strategies.add(strategy); + // } + for (int i = 4; i < 20; i++) { ! Indicator<Double> tracker = new SMAIndicator(close, i); ! Strategy strategy = new IndicatorOverIndicatorStrategy(close, tracker); strategies.add(strategy); } + Indicator<Double> tracker = new ParabolicSarIndicator(timeSeries); + Strategy strategy = new IndicatorCrossedIndicatorStrategy(close, tracker); + strategies.add(strategy); + + ! Report r = w.walk(strategies, new SlicerByTimePeriod(timeSeries, new Period().withMonths(10), SlicerType.MEMORIZED), new TotalProfitCriterion()); CompleteXlsGenerator xls = new CompleteXlsGenerator(); ! HSSFWorkbook workbook = new HSSFWorkbook(); ! ! List<AnalysisCriterion> criteria = new ArrayList<AnalysisCriterion>(); ! criteria.add(new BuyAndHoldCriterion()); ! criteria.add(new RewardRiskRatioCriterion()); ! criteria.add(new AverageProfitCriterion()); ! criteria.add(new NumberOfTicksCriterion()); ! criteria.add(new VersusBuyAndHoldCriterion()); ! ! workbook = xls.generate(r, criteria, new Period().withMonths(10)); ! ! FileOutputStream fileOut = new FileOutputStream("report.xls"); ! workbook.write(fileOut); ! fileOut.close(); } |
|
From: Carlos <ma...@us...> - 2007-10-01 23:16:56
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/helper In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25214/src/java/net/sf/tails/swing/helper Modified Files: FrameHelper.java Log Message: telas Index: FrameHelper.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/helper/FrameHelper.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** FrameHelper.java 1 Oct 2007 22:47:59 -0000 1.7 --- FrameHelper.java 1 Oct 2007 23:16:58 -0000 1.8 *************** *** 40,43 **** --- 40,44 ---- public static List<String> getCriteriaFiles() { List<String> criteria = new ArrayList<String>(); + new File(CRITERIA_DIR).mkdirs(); File[] files = new File(CRITERIA_DIR).listFiles(); *************** *** 53,56 **** --- 54,58 ---- public static List<String> getLoaderFiles() { List<String> loaders = new ArrayList<String>(); + new File(LOADER_DIR).mkdirs(); File[] files = new File(LOADER_DIR).listFiles(); *************** *** 149,152 **** --- 151,155 ---- public static String generateStockAnalysisName() { + new File(STOCKANALYSIS_DIR).mkdirs(); File[] files = new File(STOCKANALYSIS_DIR).listFiles(); int j = 0; *************** *** 162,165 **** --- 165,169 ---- public static String getStockAnalysisPath(){ + new File(STOCKANALYSIS_DIR).mkdirs(); File path = new File(STOCKANALYSIS_DIR); return path.getAbsolutePath(); |
|
From: Carlos <ma...@us...> - 2007-10-01 23:16:56
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25214/src/java/net/sf/tails/swing/frame Modified Files: Index.java Log Message: telas Index: Index.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/Index.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Index.java 1 Oct 2007 22:47:59 -0000 1.12 --- Index.java 1 Oct 2007 23:16:58 -0000 1.13 *************** *** 29,34 **** import net.sf.tail.report.html.CompleteHtmlGenerator; import net.sf.tail.report.xls.CompleteXlsGenerator; - import net.sf.tails.swing.frame.StockAnalysis.NewStockAnalysis; import net.sf.tails.swing.frame.report.NewReportFrame; import net.sf.tails.swing.helper.FrameHelper; --- 29,34 ---- import net.sf.tail.report.html.CompleteHtmlGenerator; import net.sf.tail.report.xls.CompleteXlsGenerator; import net.sf.tails.swing.frame.report.NewReportFrame; + import net.sf.tails.swing.frame.stockAnalysis.NewStockAnalysis; import net.sf.tails.swing.helper.FrameHelper; *************** *** 290,293 **** --- 290,294 ---- public void run() { try { + new File("Data/Xls").mkdirs(); HSSFWorkbook workbook = xlsGenerator.generate(report, stockAnalysis.getAdditionalCriteria(), stockAnalysis.getSlicer().getPeriod()); FileOutputStream fileOut = new FileOutputStream(xlsFileChooser.getSelectedFile().getAbsolutePath() + ".xls"); *************** *** 353,357 **** StockAnalysis analysis = serializer.fromXML(stringAnalysis); loadStockAnalysis(analysis); - //TODO } catch (Exception e) { --- 354,357 ---- |
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/StockAnalysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25214/src/java/net/sf/tails/swing/frame/StockAnalysis Removed Files: NewStockAnalysis3.form NewStockAnalysis.java NewStockAnalysis2.java NewStockAnalysis2.form NewStockAnalysis3.java NewStockAnalysis.form Log Message: telas --- NewStockAnalysis2.java DELETED --- --- NewStockAnalysis3.form DELETED --- --- NewStockAnalysis.java DELETED --- --- NewStockAnalysis2.form DELETED --- --- NewStockAnalysis.form DELETED --- --- NewStockAnalysis3.java DELETED --- |
|
From: Carlos <ma...@us...> - 2007-10-01 23:16:50
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/stockAnalysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25192/src/java/net/sf/tails/swing/frame/stockAnalysis Log Message: Directory /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/stockAnalysis added to the repository |
|
From: Carlos <ma...@us...> - 2007-10-01 22:51:17
|
Update of /cvsroot/tail/TailS/reports/style In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13942/reports/style Added Files: style.css Log Message: template e style no tails --- NEW FILE: style.css --- 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 #003061; border-collapse: collapse; list-style-position: outside; background: #003061; padding-right: 0px; padding-left: 0px; } img { border: 1px solid #003061; } 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; padding: 3px; padding-left: 5px; padding-right: 5px; } .total{ background:#EAF1F8; font-size: 12px; font-weight: normal; font-family: verdana, helvetica, sans; } |
|
From: Carlos <ma...@us...> - 2007-10-01 22:51:08
|
Update of /cvsroot/tail/TailS/reports/templates/complete In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13898/reports/templates/complete Log Message: Directory /cvsroot/tail/TailS/reports/templates/complete added to the repository |
|
From: Carlos <ma...@us...> - 2007-10-01 22:51:07
|
Update of /cvsroot/tail/TailS/reports/templates/complete In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13942/reports/templates/complete Added Files: chart.ftl report.ftl footer.ftl header.ftl Log Message: template e style no tails --- NEW FILE: report.ftl --- <#include "header.ftl"> <#include "chart.ftl"> <table align="center"> <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="row2"> <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="row2"> <#else> <tr class="row1"> </#if> <#assign x=x+1> <td>${x}</td> <td class="date">${decision.series.period}</td> <td class="strategy"><a href=${urls.get(x - 2)}>${decision.strategy.name}</a></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: footer.ftl --- </body> </html> --- NEW FILE: header.ftl --- <html> <head> <title>Walk Forward Report</title> <link rel="stylesheet" type="text/css" href="style/style.css"> </head> <body> <h1>Walk Forward Report</h1> <h2>Stock: <span class="titleHeader">${report.slicer.series.name} for: ${report.slicer.series.period}</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: chart.ftl --- <table align="left"> <tr> <img src=${image}> </tr> </table> <br> <br> |
|
From: Carlos <ma...@us...> - 2007-10-01 22:51:07
|
Update of /cvsroot/tail/TailS/reports/style In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13898/reports/style Log Message: Directory /cvsroot/tail/TailS/reports/style added to the repository |
|
From: Carlos <ma...@us...> - 2007-10-01 22:51:07
|
Update of /cvsroot/tail/TailS/reports/templates In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13898/reports/templates Log Message: Directory /cvsroot/tail/TailS/reports/templates added to the repository |
|
From: Carlos <ma...@us...> - 2007-10-01 22:51:07
|
Update of /cvsroot/tail/TailS/reports/templates/total In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13898/reports/templates/total Log Message: Directory /cvsroot/tail/TailS/reports/templates/total added to the repository |
|
From: Carlos <ma...@us...> - 2007-10-01 22:51:07
|
Update of /cvsroot/tail/TailS/reports/templates/slice In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13898/reports/templates/slice Log Message: Directory /cvsroot/tail/TailS/reports/templates/slice added to the repository |
|
From: Carlos <ma...@us...> - 2007-10-01 22:51:07
|
Update of /cvsroot/tail/TailS/reports In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13898/reports Log Message: Directory /cvsroot/tail/TailS/reports added to the repository |
|
From: Carlos <ma...@us...> - 2007-10-01 22:51:07
|
Update of /cvsroot/tail/TailS/reports/templates/slice In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13942/reports/templates/slice Added Files: header.ftl sliceReport.ftl footer.ftl chart.ftl Log Message: template e style no tails --- NEW FILE: sliceReport.ftl --- <#include "header.ftl"> <#include "chart.ftl"> <table align="center"> <tr> <th>Trade</th> <th>Buy Date</th> <th>Buy Price</th> <th>Sell Date</th> <th>Sell Price</th> <#list criteria as criterion> <th> ${criterion.class.simpleName} </th> </#list> </tr> <#assign x=1> <#list decision.trades as trade> <#if (x%2)= 0> <tr class="row1"> <#else> <tr class="row2"> </#if> <td>${x}</td> <td class="date">${decision.series.getTick(trade.entry.index).getDateName()}</td> <td class="date">${decision.series.getTick(trade.entry.index).closePrice}</td> <td class="date">${decision.series.getTick(trade.exit.index).getDateName()}</td> <td class="date">${decision.series.getTick(trade.exit.index).closePrice}</td> <#list criteria as criterion> <td> ${criterion.calculate(decision.series, decision.trades.get(x - 1))}</td> </#list> <#assign x=x+1> </#list> </tr> <tr class="total"> <td>TOTAL</td> <td>${decision.series.getTick(decision.series.getBegin()).getDateName()}</td> <td>-</td> <td>${decision.series.getTick(decision.series.getEnd()).getDateName()}</td> <td>-</td> <#list criteria as criterion> <td>${criterion.calculate(decision.series, decision.trades)} </td> </#list> </tr> </table> <#include "footer.ftl"> --- NEW FILE: header.ftl --- <html> <head> <title>Walk Forward Report</title> <link rel="stylesheet" type="text/css" href="style/style.css"> </head> <body> <h1>Slice Report</h1> <h2>Stock: <span class="titleHeader">${decision.series.name} for: ${decision.series.period}</span></h2> <h3> <span class="settingsFixed">Strategy: </span> <span class="settings">${decision.strategy.class.simpleName}</span> <span class="settingsFixed">Criteria: </span> <span class="settings">${decision.criterion.class.simpleName}</span></h3> --- NEW FILE: footer.ftl --- </body> </html> --- NEW FILE: chart.ftl --- <table align="left"> <tr> <img src=${image}> </tr> </table> <br> <br> |
|
From: Carlos <ma...@us...> - 2007-10-01 22:51:07
|
Update of /cvsroot/tail/TailS/reports/templates/total In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13942/reports/templates/total Added Files: header.ftl footer.ftl report.ftl chart.ftl Log Message: template e style no tails --- NEW FILE: report.ftl --- <#include "header.ftl"> <#include "chart.ftl"> <table align="center"> <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: footer.ftl --- </body> </html> --- NEW FILE: header.ftl --- <html> <head> <title>Walk Forward Report</title> <link rel="stylesheet" type="text/css" href="style/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: chart.ftl --- <table align="left"> <tr> <img src=${image}> </tr> </table> <br> <br> |
|
From: Carlos <ma...@us...> - 2007-10-01 22:50:19
|
Update of /cvsroot/tail/TailS/Data/Html In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13433/Data/Html Added Files: commitThisDirectory Log Message: mais pasta necessária para o TailS --- NEW FILE: commitThisDirectory --- |
|
From: Carlos <ma...@us...> - 2007-10-01 22:49:49
|
Update of /cvsroot/tail/TailS/Data/Html In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13423/Data/Html Log Message: Directory /cvsroot/tail/TailS/Data/Html added to the repository |
|
From: Carlos <ma...@us...> - 2007-10-01 22:48:44
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv12988/src/java/net/sf/tails/swing/frame/report Modified Files: NewReportFrame.java Log Message: Atualizando telas... Index: NewReportFrame.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/report/NewReportFrame.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** NewReportFrame.java 27 Sep 2007 00:15:09 -0000 1.4 --- NewReportFrame.java 1 Oct 2007 22:48:34 -0000 1.5 *************** *** 7,10 **** --- 7,11 ---- import javax.script.ScriptException; + import javax.swing.JFrame; import net.sf.tail.Strategy; *************** *** 12,16 **** import net.sf.tail.dsl.TailDSL; import net.sf.tail.dsl.ruby.RubyDSL; ! import net.sf.tails.swing.frame.OpenStockAnalysis; /** --- 13,17 ---- import net.sf.tail.dsl.TailDSL; import net.sf.tail.dsl.ruby.RubyDSL; ! import net.sf.tails.swing.frame.Index; /** *************** *** 37,44 **** private javax.swing.JTextArea customStrategyTextArea; private StockAnalysis stockAnalysis; ! public NewReportFrame(StockAnalysis stockAnalysis) { this.stockAnalysis = stockAnalysis; initComponents(); } --- 38,51 ---- private javax.swing.JTextArea customStrategyTextArea; private StockAnalysis stockAnalysis; + private Index index; ! public NewReportFrame(Index index, StockAnalysis stockAnalysis) { ! this.index = index; this.stockAnalysis = stockAnalysis; initComponents(); + this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + this.setResizable(false); + this.setLocationByPlatform(true); + this.setTitle("New Report"); } *************** *** 60,64 **** customStrategyCancelButton = new javax.swing.JButton(); - setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); createButtonDefaultPanel.setText("Create"); createButtonDefaultPanel.addActionListener(new java.awt.event.ActionListener() { --- 67,70 ---- *************** *** 150,154 **** @Override public void keyPressed(KeyEvent e) { ! jTextArea1InputMethodTextChanged(e); } @Override --- 156,160 ---- @Override public void keyPressed(KeyEvent e) { ! textAreaTextChanged(e); } @Override *************** *** 223,236 **** } ! private void jTextArea1InputMethodTextChanged(KeyEvent keyEvent) { //customStrategyTextArea.append("oi"); } private void defaultPanelCreateButtonActionPerformed(java.awt.event.ActionEvent evt) { ! // TODO adicione seu código de manipulação aqui: } private void defaultPanelCancelButtonActionPerformed(java.awt.event.ActionEvent evt) { ! // TODO adicione seu código de manipulação aqui: } --- 229,242 ---- } ! private void textAreaTextChanged(KeyEvent keyEvent) { //customStrategyTextArea.append("oi"); } private void defaultPanelCreateButtonActionPerformed(java.awt.event.ActionEvent evt) { ! // TODO adicione seu c�digo de manipula��o aqui: } private void defaultPanelCancelButtonActionPerformed(java.awt.event.ActionEvent evt) { ! this.dispose(); } *************** *** 242,246 **** strategies = dsl.evalStrategies(customStrategyTextArea.getText()); stockAnalysis.createReport(strategies); ! new OpenStockAnalysis(stockAnalysis).setVisible(true); this.dispose(); } catch (ScriptException e) { --- 248,252 ---- strategies = dsl.evalStrategies(customStrategyTextArea.getText()); stockAnalysis.createReport(strategies); ! index.loadReports(stockAnalysis); this.dispose(); } catch (ScriptException e) { *************** *** 251,255 **** private void customStrategyCancelButtonActionPerformed(java.awt.event.ActionEvent evt) { ! // TODO adicione seu código de manipulação aqui: } --- 257,261 ---- private void customStrategyCancelButtonActionPerformed(java.awt.event.ActionEvent evt) { ! this.dispose(); } *************** *** 262,272 **** return text; } - - public static void main(String args[]) { - java.awt.EventQueue.invokeLater(new Runnable() { - public void run() { - new NewReportFrame(null).setVisible(true); - } - }); - } } --- 268,270 ---- |
|
From: Carlos <ma...@us...> - 2007-10-01 22:48:10
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/helper In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv12548/src/java/net/sf/tails/swing/helper Modified Files: FrameHelper.java Log Message: Atualizando as telas... Index: FrameHelper.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/helper/FrameHelper.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** FrameHelper.java 27 Sep 2007 00:15:09 -0000 1.6 --- FrameHelper.java 1 Oct 2007 22:47:59 -0000 1.7 *************** *** 34,37 **** --- 34,38 ---- static final String CRITERIA_DIR = "Data/Criteria"; static final String LOADER_DIR = "Data/Loaders"; + static final String STOCKANALYSIS_DIR = "Data/StockAnalysis"; static final String CRITERIA_PACKAGE = "net.sf.tail.analysis.criteria."; static final String LOADER_PACKAGE = "net.sf.tail.io.reader."; *************** *** 146,148 **** --- 147,168 ---- return new DefaultTableModel(getReportMatrix(stockAnalysis), getColumnNames(stockAnalysis)); } + + public static String generateStockAnalysisName() { + File[] files = new File(STOCKANALYSIS_DIR).listFiles(); + int j = 0; + + for (int i = 0; i < files.length; i++) { + String fileName = files[i].getName(); + if (fileName.startsWith("analysis")) { + j++; + } + } + return "analysis" + j + ".xml"; + } + + public static String getStockAnalysisPath(){ + File path = new File(STOCKANALYSIS_DIR); + return path.getAbsolutePath(); + } + } |
|
From: Carlos <ma...@us...> - 2007-10-01 22:48:10
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv12548/src/java/net/sf/tails/swing/frame Modified Files: Index.form Index.java Removed Files: NewStockAnalysis3.form NewStockAnalysis3.java NewStockAnalysis.form NewStockAnalysis2.java OpenStockAnalysis.java OpenStockAnalysis2.form NewStockAnalysis2.form NewStockAnalysis.java Log Message: Atualizando as telas... --- NewStockAnalysis2.java DELETED --- --- OpenStockAnalysis2.form DELETED --- --- NewStockAnalysis3.form DELETED --- --- NewStockAnalysis.java DELETED --- --- NewStockAnalysis2.form DELETED --- --- NewStockAnalysis.form DELETED --- Index: Index.java =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/Index.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Index.java 27 Sep 2007 00:15:09 -0000 1.11 --- Index.java 1 Oct 2007 22:47:59 -0000 1.12 *************** *** 1,81 **** /* ! * JFrame0.java * ! * Created on 10 de Setembro de 2007, 18:51 */ package net.sf.tails.swing.frame; import java.io.File; import javax.swing.JFileChooser; import javax.swing.JFrame; import net.sf.tail.analysis.StockAnalysis; import net.sf.tail.io.StockAnalysisSerializer; import net.sf.tails.swing.helper.FrameHelper; ! /** ! * ! * @author cmanssur ! */ public class Index extends javax.swing.JFrame { ! ! private static final long serialVersionUID = -4049185201345164408L; ! private javax.swing.JMenuItem exitMenuItem; ! private javax.swing.JMenu fileMenu; private javax.swing.JMenuBar menuBar; ! private javax.swing.JMenuItem newMenuItem; private javax.swing.JMenuItem openMenuItem; ! private javax.swing.JSeparator separator; private javax.swing.JFileChooser directoryFileChooser; ! public Index() { ! initComponents(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - this.setResizable(false); this.setLocationByPlatform(true); } private void initComponents() { ! menuBar = new javax.swing.JMenuBar(); ! fileMenu = new javax.swing.JMenu(); ! newMenuItem = new javax.swing.JMenuItem(); ! openMenuItem = new javax.swing.JMenuItem(); ! separator = new javax.swing.JSeparator(); ! exitMenuItem = new javax.swing.JMenuItem(); directoryFileChooser = new javax.swing.JFileChooser(); ! directoryFileChooser.setFileSelectionMode(javax.swing.JFileChooser.FILES_ONLY); directoryFileChooser.setCurrentDirectory(new File("Data/StockAnalysis")); fileMenu.setText("File"); ! newMenuItem.setMnemonic('n'); ! newMenuItem.setText("New..."); ! newMenuItem.setName("New"); ! newMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ! newMenuItemActionPerformed(evt); } }); ! fileMenu.add(newMenuItem); openMenuItem.setMnemonic('o'); ! openMenuItem.setText("Open"); ! openMenuItem.setName("Open"); openMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ! openMenuItemActionPerformed(evt); } }); ! fileMenu.add(openMenuItem); ! fileMenu.add(separator); exitMenuItem.setMnemonic('x'); exitMenuItem.setText("Exit"); - exitMenuItem.setName("Exit"); exitMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { --- 1,226 ---- /* ! * OpenStockAnalysis.java * ! * Created on 24 de Setembro de 2007, 15:37 ! */ ! ! /** ! * ! * @author cmanssur */ package net.sf.tails.swing.frame; + import java.io.BufferedOutputStream; import java.io.File; + import java.io.FileNotFoundException; + import java.io.FileOutputStream; + import java.io.IOException; + import java.io.OutputStream; + import java.io.PrintWriter; import javax.swing.JFileChooser; import javax.swing.JFrame; + import javax.swing.JOptionPane; import net.sf.tail.analysis.StockAnalysis; import net.sf.tail.io.StockAnalysisSerializer; + import net.sf.tail.report.Report; + import net.sf.tail.report.html.CompleteHtmlGenerator; + import net.sf.tail.report.xls.CompleteXlsGenerator; + import net.sf.tails.swing.frame.StockAnalysis.NewStockAnalysis; + import net.sf.tails.swing.frame.report.NewReportFrame; import net.sf.tails.swing.helper.FrameHelper; ! import org.apache.poi.hssf.usermodel.HSSFWorkbook; ! public class Index extends javax.swing.JFrame { ! static final String DEFAULT_TITLE = "TailS : Technical Analysis Library Software"; ! ! private static final long serialVersionUID = 1L; ! private StockAnalysis stockAnalysis; ! private javax.swing.JMenuBar menuBar; ! private javax.swing.JMenu fileMenu; ! private javax.swing.JMenu newMenu; ! private javax.swing.JMenuItem newStockAnalysisMenuItem; private javax.swing.JMenuItem openMenuItem; ! private javax.swing.JSeparator separator1; ! private javax.swing.JMenuItem saveMenuItem; ! private javax.swing.JMenuItem saveAsMenuItem; ! private javax.swing.JSeparator separator2; ! private javax.swing.JMenuItem exitMenuItem; ! ! private javax.swing.JButton addReportButton; ! private javax.swing.JButton htmlButton; ! private javax.swing.JButton xlsButton; ! private javax.swing.JScrollPane reportScrollPane; ! private javax.swing.JTable reportTable; ! private javax.swing.JLabel seriesIntervalLabel; ! private javax.swing.JLabel stockNameLabel; private javax.swing.JFileChooser directoryFileChooser; + private javax.swing.JFileChooser xlsFileChooser; + private javax.swing.JFileChooser htmlFileChooser; ! /** Creates new form OpenStockAnalysis ! * @param stockAnalysis */ ! public Index(StockAnalysis stockAnalysis) { ! this.stockAnalysis = stockAnalysis; ! initComponents(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLocationByPlatform(true); + this.setMinimumSize(new java.awt.Dimension(800, 600)); + this.setTitle(DEFAULT_TITLE); } + public Index() { + this.stockAnalysis = null; + initComponents(); + this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + this.setLocationByPlatform(true); + this.setMinimumSize(new java.awt.Dimension(800, 600)); + this.setTitle(DEFAULT_TITLE); + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // <editor-fold defaultstate="collapsed" desc=" Código Gerado "> private void initComponents() { ! menuBar = new javax.swing.JMenuBar(); ! fileMenu = new javax.swing.JMenu(); ! newMenu = new javax.swing.JMenu(); ! newStockAnalysisMenuItem = new javax.swing.JMenuItem(); ! openMenuItem = new javax.swing.JMenuItem(); ! separator1 = new javax.swing.JSeparator(); ! saveMenuItem = new javax.swing.JMenuItem(); ! saveAsMenuItem = new javax.swing.JMenuItem(); ! separator2 = new javax.swing.JSeparator(); ! exitMenuItem = new javax.swing.JMenuItem(); ! ! addReportButton = new javax.swing.JButton(); ! htmlButton = new javax.swing.JButton(); ! xlsButton = new javax.swing.JButton(); ! reportScrollPane = new javax.swing.JScrollPane(); ! reportTable = new javax.swing.JTable(); ! seriesIntervalLabel = new javax.swing.JLabel(); ! stockNameLabel = new javax.swing.JLabel(); directoryFileChooser = new javax.swing.JFileChooser(); ! xlsFileChooser = new javax.swing.JFileChooser(); ! htmlFileChooser = new javax.swing.JFileChooser(); ! directoryFileChooser.setFileSelectionMode(javax.swing.JFileChooser.FILES_ONLY); directoryFileChooser.setCurrentDirectory(new File("Data/StockAnalysis")); + + xlsFileChooser.setFileSelectionMode(javax.swing.JFileChooser.FILES_ONLY); + xlsFileChooser.setCurrentDirectory(new File("Data/Xls")); + + htmlFileChooser.setFileSelectionMode(javax.swing.JFileChooser.FILES_ONLY); + htmlFileChooser.setCurrentDirectory(new File("Data/Html")); + + stockNameLabel.setText("Stock Name: "); + seriesIntervalLabel.setText("Series Interval: "); + + reportScrollPane.setAutoscrolls(true); + reportScrollPane.setHorizontalScrollBar(null); + + if (stockAnalysis != null) + { + stockNameLabel.setText(stockNameLabel.getText() + stockAnalysis.getStock().getName()); + seriesIntervalLabel.setText(seriesIntervalLabel.getText() + stockAnalysis.getSlicer().getSeries().getTick(stockAnalysis.getSlicer().getSeries().getBegin()).getDateName() + + " - " + stockAnalysis.getSlicer().getSeries().getTick(stockAnalysis.getSlicer().getSeries().getEnd()).getDateName()); + reportTable.setAutoCreateRowSorter(true); + + reportTable.setModel(FrameHelper.getTableModel(stockAnalysis)); + reportTable.setGridColor(new java.awt.Color(255, 255, 255)); + + reportScrollPane.setViewportView(reportTable); + } + else + { + reportTable.setVisible(false); + } + + addReportButton.setFont(new java.awt.Font("Dialog", 0, 12)); + addReportButton.setText("Add Report"); + addReportButton.setMaximumSize(new java.awt.Dimension(101, 25)); + addReportButton.setMinimumSize(new java.awt.Dimension(101, 25)); + addReportButton.setPreferredSize(new java.awt.Dimension(101, 25)); + addReportButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + addReportButtonActionPerformed(evt); + } + }); + + htmlButton.setFont(new java.awt.Font("Dialog", 0, 12)); + htmlButton.setText("Export to HTML"); + htmlButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + htmlButtonActionPerformed(evt); + } + }); + + xlsButton.setFont(new java.awt.Font("Dialog", 0, 12)); + xlsButton.setText("Export to XLS"); + xlsButton.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + xlsButtonActionPerformed(evt); + } + }); + + fileMenu.setMnemonic('f'); fileMenu.setText("File"); ! newMenu.setMnemonic('n'); ! newMenu.setText("New..."); ! newStockAnalysisMenuItem.setText("Stock Analysis"); ! newStockAnalysisMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ! stockAnalysisMenuItemActionPerformed(evt); } }); ! newMenu.add(newStockAnalysisMenuItem); + fileMenu.add(newMenu); + openMenuItem.setMnemonic('o'); ! openMenuItem.setText("Open..."); openMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ! openStockAnalysisMenuItemActionPerformed(evt); } }); ! fileMenu.add(openMenuItem); + + fileMenu.add(separator1); ! saveMenuItem.setMnemonic('s'); ! saveMenuItem.setText("Save"); ! saveMenuItem.addActionListener(new java.awt.event.ActionListener() { ! public void actionPerformed(java.awt.event.ActionEvent evt) { ! saveMenuItemActionPerformed(evt); ! } ! }); ! ! fileMenu.add(saveMenuItem); ! ! saveAsMenuItem.setMnemonic('a'); ! saveAsMenuItem.setText("Save As..."); ! saveAsMenuItem.addActionListener(new java.awt.event.ActionListener() { ! public void actionPerformed(java.awt.event.ActionEvent evt) { ! saveAsMenuItemActionPerformed(evt); ! } ! }); ! ! fileMenu.add(saveAsMenuItem); ! ! fileMenu.add(separator2); exitMenuItem.setMnemonic('x'); exitMenuItem.setText("Exit"); exitMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { *************** *** 94,132 **** layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) ! .addGap(0, 262, Short.MAX_VALUE) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) ! .addGap(0, 170, Short.MAX_VALUE) ); pack(); ! } ! private void openMenuItemActionPerformed(java.awt.event.ActionEvent evt) { ! int value = directoryFileChooser.showOpenDialog(this); switch(value) { case JFileChooser.APPROVE_OPTION: - String filePath = directoryFileChooser.getSelectedFile().getAbsolutePath(); StockAnalysisSerializer serializer = new StockAnalysisSerializer(); ! try { ! String stringAnalysis = FrameHelper.readFile(filePath); ! StockAnalysis analysis = serializer.fromXML(stringAnalysis); ! new OpenStockAnalysis(analysis).setVisible(true); ! } catch (Exception e) { ! e.printStackTrace(); ! System.out.println(e.getMessage()); return; } break; } ! } ! ! private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) { ! System.exit(0); ! } ! private void newMenuItemActionPerformed(java.awt.event.ActionEvent evt) { ! new NewStockAnalysis().setVisible(true); ! } } --- 239,444 ---- layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) ! .addGroup(layout.createSequentialGroup() ! .addContainerGap() ! .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) ! .addComponent(reportScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 776, Short.MAX_VALUE) ! .addComponent(stockNameLabel) ! .addGroup(layout.createSequentialGroup() ! .addComponent(addReportButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) ! .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) ! .addComponent(htmlButton) ! .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) ! .addComponent(xlsButton)) ! .addComponent(seriesIntervalLabel)) ! .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) ! .addGroup(layout.createSequentialGroup() ! .addContainerGap() ! .addComponent(stockNameLabel) ! .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) ! .addComponent(seriesIntervalLabel) ! .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) ! .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) ! .addComponent(xlsButton, 0, 0, Short.MAX_VALUE) ! .addComponent(htmlButton, 0, 0, Short.MAX_VALUE) ! .addComponent(addReportButton, javax.swing.GroupLayout.PREFERRED_SIZE, 17, Short.MAX_VALUE)) ! .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) ! .addComponent(reportScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 339, javax.swing.GroupLayout.PREFERRED_SIZE) ! .addContainerGap(163, Short.MAX_VALUE)) ); pack(); ! }// </editor-fold> ! private void xlsButtonActionPerformed(java.awt.event.ActionEvent evt) { ! if (reportTable.getSelectedRow() == -1) ! { ! JOptionPane.showMessageDialog(null, "Please select the report you want to export to XLS.", "Error", 2); ! } ! else ! { ! int value = xlsFileChooser.showSaveDialog(this); ! switch(value) ! { ! case JFileChooser.APPROVE_OPTION: ! final CompleteXlsGenerator xlsGenerator = new CompleteXlsGenerator(); ! final Report report = stockAnalysis.getReports().get(reportTable.getSelectedRow()); ! ! new Thread(new Runnable() { ! ! public void run() { ! try { ! HSSFWorkbook workbook = xlsGenerator.generate(report, stockAnalysis.getAdditionalCriteria(), stockAnalysis.getSlicer().getPeriod()); ! FileOutputStream fileOut = new FileOutputStream(xlsFileChooser.getSelectedFile().getAbsolutePath() + ".xls"); ! workbook.write(fileOut); ! fileOut.close(); ! } catch (Exception e) { ! e.printStackTrace(); ! JOptionPane.showMessageDialog(null, e.getMessage(), "Error", 0); ! } ! }}).start(); ! ! } ! } ! } ! ! private void htmlButtonActionPerformed(java.awt.event.ActionEvent evt) { ! if (reportTable.getSelectedRow() == -1) ! { ! JOptionPane.showMessageDialog(null, "Please select the report you want to export to HTML.", "Error", 2); ! } ! else ! { ! int value = htmlFileChooser.showSaveDialog(this); ! switch(value) ! { ! case JFileChooser.APPROVE_OPTION: ! Report report = stockAnalysis.getReports().get(reportTable.getSelectedRow()); ! CompleteHtmlGenerator htmlGenerator = new CompleteHtmlGenerator(report, stockAnalysis.getAdditionalCriteria(), stockAnalysis.getSlicer().getPeriod()); ! try { ! htmlGenerator.generate(htmlFileChooser.getSelectedFile().getName()); ! } catch (IOException e) { ! // TODO Auto-generated catch block ! e.printStackTrace(); ! } ! } ! } ! } ! ! private void addReportButtonActionPerformed(java.awt.event.ActionEvent evt) { ! if(stockAnalysis == null) ! { ! JOptionPane.showMessageDialog(null, "Please open or create a new stock analysis to generate a report.", "Error", 2); ! } ! else ! { ! new NewReportFrame(this, stockAnalysis).setVisible(true); ! } ! } ! ! private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) { ! System.exit(0); ! } ! ! private void openStockAnalysisMenuItemActionPerformed(java.awt.event.ActionEvent evt) { ! int value = directoryFileChooser.showOpenDialog(this); ! switch (value) { ! case JFileChooser.APPROVE_OPTION: ! String filePath = directoryFileChooser.getSelectedFile().getAbsolutePath(); ! ! StockAnalysisSerializer serializer = new StockAnalysisSerializer(); ! try { ! String stringAnalysis = FrameHelper.readFile(filePath); ! StockAnalysis analysis = serializer.fromXML(stringAnalysis); ! loadStockAnalysis(analysis); ! //TODO ! ! } catch (Exception e) { ! e.printStackTrace(); ! System.out.println(e.getMessage()); ! return; ! } ! break; ! } ! } ! ! public void loadStockAnalysis(StockAnalysis analysis) { ! stockNameLabel.setText(stockNameLabel.getText() + analysis.getStock().getName()); ! seriesIntervalLabel.setText(seriesIntervalLabel.getText() + analysis.getSlicer().getSeries().getTick(analysis.getSlicer().getSeries().getBegin()).getDateName() + ! " - " + analysis.getSlicer().getSeries().getTick(analysis.getSlicer().getSeries().getEnd()).getDateName()); ! loadReports(analysis); ! } ! ! public void loadReports(StockAnalysis analysis) { ! reportTable.setVisible(true); ! reportTable.setAutoCreateRowSorter(true); ! ! reportTable.setModel(FrameHelper.getTableModel(analysis)); ! reportTable.setGridColor(new java.awt.Color(255, 255, 255)); ! ! reportScrollPane.setViewportView(reportTable); ! ! this.stockAnalysis = analysis; ! this.pack(); ! ! } ! ! private void saveMenuItemActionPerformed(java.awt.event.ActionEvent evt) { ! StockAnalysisSerializer serializer = new StockAnalysisSerializer(); ! String xmlFile = serializer.toXML(stockAnalysis); ! String filePath; ! if (this.getTitle().endsWith(" - " + DEFAULT_TITLE)) ! { ! filePath = FrameHelper.getStockAnalysisPath() + "/" + this.getTitle().split(" - ")[0]; ! } ! else ! { ! filePath = FrameHelper.getStockAnalysisPath() + "/" + FrameHelper.generateStockAnalysisName(); ! } ! File stockAnalysisXML = new File(filePath); ! OutputStream out; ! try { ! out = new BufferedOutputStream(new FileOutputStream( ! stockAnalysisXML)); ! } catch (FileNotFoundException e) { ! return; ! } ! PrintWriter write = new PrintWriter(out); ! write.print(xmlFile); ! write.close(); ! this.setTitle(stockAnalysisXML.getName() + " - " + DEFAULT_TITLE); ! } ! ! private void saveAsMenuItemActionPerformed(java.awt.event.ActionEvent evt) { ! int value = directoryFileChooser.showSaveDialog(this); switch(value) { case JFileChooser.APPROVE_OPTION: StockAnalysisSerializer serializer = new StockAnalysisSerializer(); ! String xmlFile = serializer.toXML(stockAnalysis); ! String filePath = directoryFileChooser.getSelectedFile().getAbsolutePath(); ! if(!filePath.endsWith(".xml")) ! { ! filePath += ".xml"; ! } ! File stockAnalysisXML = new File(filePath); ! OutputStream out; ! try { ! out = new BufferedOutputStream(new FileOutputStream(stockAnalysisXML)); ! } catch (FileNotFoundException e) { return; } + PrintWriter write = new PrintWriter(out); + write.print(xmlFile); + write.close(); + this.setTitle(stockAnalysisXML.getName() + " - " + DEFAULT_TITLE); break; } ! } ! private void stockAnalysisMenuItemActionPerformed(java.awt.event.ActionEvent evt) { ! new NewStockAnalysis(this).setVisible(true); ! } } + --- NewStockAnalysis3.java DELETED --- --- OpenStockAnalysis.java DELETED --- Index: Index.form =================================================================== RCS file: /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/Index.form,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Index.form 19 Sep 2007 19:12:48 -0000 1.2 --- Index.form 1 Oct 2007 22:47:59 -0000 1.3 *************** *** 4,39 **** <NonVisualComponents> <Menu class="javax.swing.JMenuBar" name="menuBar"> <SubComponents> <Menu class="javax.swing.JMenu" name="fileMenu"> <Properties> ! <Property name="text" type="java.lang.String" value="File"/> </Properties> <SubComponents> - <MenuItem class="javax.swing.JMenuItem" name="newMenuItem"> - <Properties> - <Property name="mnemonic" type="int" value="110"/> - <Property name="text" type="java.lang.String" value="New..."/> - <Property name="name" type="java.lang.String" value="New"/> - </Properties> - <Events> - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="newMenuItemActionPerformed"/> - </Events> - </MenuItem> - <MenuItem class="javax.swing.JMenuItem" name="openMenuItem"> - <Properties> - <Property name="mnemonic" type="int" value="111"/> - <Property name="text" type="java.lang.String" value="Open"/> - <Property name="name" type="java.lang.String" value="Open"/> - </Properties> - <Events> - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="openMenuItemActionPerformed"/> - </Events> - </MenuItem> - <MenuItem class="javax.swing.JSeparator" name="separator"> - </MenuItem> <MenuItem class="javax.swing.JMenuItem" name="exitMenuItem"> <Properties> <Property name="mnemonic" type="int" value="120"/> ! <Property name="text" type="java.lang.String" value="Exit"/> </Properties> <Events> --- 4,22 ---- <NonVisualComponents> <Menu class="javax.swing.JMenuBar" name="menuBar"> + <Properties> + <Property name="name" type="java.lang.String" value="File"/> + </Properties> <SubComponents> <Menu class="javax.swing.JMenu" name="fileMenu"> <Properties> ! <Property name="label" type="java.lang.String" value="File"/> ! <Property name="name" type="java.lang.String" value="File"/> </Properties> <SubComponents> <MenuItem class="javax.swing.JMenuItem" name="exitMenuItem"> <Properties> <Property name="mnemonic" type="int" value="120"/> ! <Property name="label" type="java.lang.String" value="Exit"/> ! <Property name="name" type="java.lang.String" value="Exit"/> </Properties> <Events> *************** *** 64,75 **** <DimensionLayout dim="0"> <Group type="103" groupAlignment="0" attributes="0"> ! <EmptySpace min="0" pref="262" max="32767" attributes="0"/> </Group> </DimensionLayout> <DimensionLayout dim="1"> <Group type="103" groupAlignment="0" attributes="0"> ! <EmptySpace min="0" pref="170" max="32767" attributes="0"/> </Group> </DimensionLayout> </Layout> </Form> --- 47,200 ---- <DimensionLayout dim="0"> <Group type="103" groupAlignment="0" attributes="0"> ! <Group type="102" attributes="0"> ! <Group type="103" groupAlignment="0" attributes="0"> ! <Group type="102" attributes="0"> ! <EmptySpace max="-2" attributes="0"/> ! <Component id="stockAnalysisPanel" max="32767" attributes="0"/> ! </Group> ! <Group type="102" alignment="0" attributes="0"> ! <EmptySpace min="-2" pref="285" max="-2" attributes="0"/> ! <Component id="jButton3" min="-2" max="-2" attributes="0"/> ! </Group> ! </Group> ! <EmptySpace max="-2" attributes="0"/> ! </Group> </Group> </DimensionLayout> <DimensionLayout dim="1"> <Group type="103" groupAlignment="0" attributes="0"> ! <Group type="102" alignment="0" attributes="0"> ! <EmptySpace max="-2" attributes="0"/> ! <Component id="stockAnalysisPanel" min="-2" max="-2" attributes="0"/> ! <EmptySpace min="-2" pref="16" max="-2" attributes="0"/> ! <Component id="jButton3" min="-2" max="-2" attributes="0"/> ! <EmptySpace pref="21" max="32767" attributes="0"/> ! </Group> </Group> </DimensionLayout> </Layout> + <SubComponents> + <Container class="javax.swing.JPanel" name="stockAnalysisPanel"> + <Properties> + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> + <Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo"> + <TitledBorder title="Stock Analysis"> + <Border PropertyName="innerBorder" info="org.netbeans.modules.form.compat2.border.EtchedBorderInfo"> + <EtchetBorder/> + </Border> + <Font PropertyName="font" name="Dialog" size="14" style="0"/> + </TitledBorder> + </Border> + </Property> + </Properties> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <EmptySpace max="-2" attributes="0"/> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <Component id="jScrollPane2" min="-2" pref="452" max="-2" attributes="0"/> + <EmptySpace max="-2" attributes="0"/> + <Component id="jButton1" min="-2" max="-2" attributes="0"/> + <EmptySpace max="-2" attributes="0"/> + <Component id="jButton2" min="-2" max="-2" attributes="0"/> + </Group> + <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/> + </Group> + <EmptySpace max="32767" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" attributes="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <Group type="102" alignment="0" attributes="0"> + <EmptySpace min="-2" pref="81" max="-2" attributes="0"/> + <Group type="103" groupAlignment="3" attributes="0"> + <Component id="jButton1" alignment="3" min="-2" pref="14" max="-2" attributes="0"/> + <Component id="jButton2" alignment="3" min="-2" pref="14" max="-2" attributes="0"/> + </Group> + </Group> + <Group type="102" alignment="0" attributes="0"> + <EmptySpace max="-2" attributes="0"/> + <Component id="jLabel1" min="-2" max="-2" attributes="0"/> + <EmptySpace pref="37" max="32767" attributes="0"/> + <Component id="jScrollPane2" min="-2" pref="111" max="-2" attributes="0"/> + </Group> + </Group> + <EmptySpace max="-2" attributes="0"/> + </Group> + </Group> + </DimensionLayout> + </Layout> + <SubComponents> + <Container class="javax.swing.JScrollPane" name="jScrollPane2"> + <Properties> + <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor"> + <Border info="org.netbeans.modules.form.compat2.border.EmptyBorderInfo"> + <EmptyBorder/> + </Border> + </Property> + </Properties> + <AuxValues> + <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> + </AuxValues> + + <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> + <SubComponents> + <Component class="javax.swing.JTable" name="jTable2"> + <Properties> + <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor"> + <Color blue="f5" green="f5" red="f5" type="rgb"/> + </Property> + <Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor"> + <Table columnCount="4" rowCount="1"> + <Column editable="true" title="Report" type="java.lang.Object"/> + <Column editable="true" title="Strategy" type="java.lang.Object"/> + <Column editable="true" title="Range" type="java.lang.Object"/> + <Column editable="true" title="Criterion" type="java.lang.Object"/> + </Table> + </Property> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="jButton1"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="10" style="0"/> + </Property> + <Property name="label" type="java.lang.String" value="HTML"/> + <Property name="name" type="java.lang.String" value="HTML"/> + </Properties> + </Component> + <Component class="javax.swing.JButton" name="jButton2"> + <Properties> + <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor"> + <Font name="Dialog" size="10" style="0"/> + </Property> + <Property name="text" type="java.lang.String" value="Excel"/> + <Property name="name" type="java.lang.String" value="Excel"/> + </Properties> + </Component> + <Component class="javax.swing.JLabel" name="jLabel1"> + <Properties> + <Property name="text" type="java.lang.String" value="Stock Name:"/> + </Properties> + </Component> + </SubComponents> + </Container> + <Component class="javax.swing.JButton" name="jButton3"> + <Properties> + <Property name="label" type="java.lang.String" value="Cancel"/> + <Property name="name" type="java.lang.String" value="Cancel"/> + </Properties> + <Events> + <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButton3ActionPerformed"/> + </Events> + </Component> + </SubComponents> </Form> |
|
From: Carlos <ma...@us...> - 2007-10-01 22:47:50
|
Update of /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/StockAnalysis In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv12532/src/java/net/sf/tails/swing/frame/StockAnalysis Log Message: Directory /cvsroot/tail/TailS/src/java/net/sf/tails/swing/frame/StockAnalysis added to the repository |
|
From: Carlos <ma...@us...> - 2007-10-01 22:45:38
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/dsl/ruby In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11670/src/java/net/sf/tail/dsl/ruby Modified Files: RubyDSL.java Log Message: Commit com o caso do empate entre os criterions... E também um novo método de geração de report em html... Index: RubyDSL.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/dsl/ruby/RubyDSL.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RubyDSL.java 26 Sep 2007 19:36:22 -0000 1.3 --- RubyDSL.java 1 Oct 2007 22:45:39 -0000 1.4 *************** *** 1,5 **** package net.sf.tail.dsl.ruby; ! import java.util.HashSet; import java.util.Set; --- 1,5 ---- package net.sf.tail.dsl.ruby; ! import java.util.LinkedHashSet; import java.util.Set; *************** *** 45,49 **** ScriptEngine engine = factory.getEngineByName("jruby"); ! Set<Strategy> strategies = new HashSet<Strategy>(); engine.put("strategies", strategies); engine.put("series", series); --- 45,49 ---- ScriptEngine engine = factory.getEngineByName("jruby"); ! Set<Strategy> strategies = new LinkedHashSet<Strategy>(); engine.put("strategies", strategies); engine.put("series", series); |
|
From: Carlos <ma...@us...> - 2007-10-01 22:45:37
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/evaluator In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11670/src/java/net/sf/tail/analysis/evaluator Modified Files: BestStrategyEvaluator.java Log Message: Commit com o caso do empate entre os criterions... E também um novo método de geração de report em html... Index: BestStrategyEvaluator.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/analysis/evaluator/BestStrategyEvaluator.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** BestStrategyEvaluator.java 4 Sep 2007 13:09:15 -0000 1.14 --- BestStrategyEvaluator.java 1 Oct 2007 22:45:39 -0000 1.15 *************** *** 39,42 **** --- 39,43 ---- value)); if (value > bestDecision.evaluateCriterion()) { + //TODO O que fazer com o empate entre criterions?? bestDecision = decision; } |