|
From: Thies <tg...@us...> - 2007-12-05 23:22:45
|
Update of /cvsroot/tail/Tail/src/java/net/sf/tail/report In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv22072/src/java/net/sf/tail/report Modified Files: Report.java Added Files: Technic.java Log Message: Refatoração nos scripts --- NEW FILE: Technic.java --- package net.sf.tail.report; import net.sf.tail.StrategiesSet; import net.sf.tail.TimeSeriesSlicer; public class Technic { private StrategiesSet strategiesSet; private TimeSeriesSlicer slicer; public Technic(StrategiesSet strategiesSet, TimeSeriesSlicer slicer) { this.strategiesSet = strategiesSet; this.slicer = slicer; } public TimeSeriesSlicer getSlicer() { return slicer; } public StrategiesSet getStrategiesSet() { return strategiesSet; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((slicer == null) ? 0 : slicer.hashCode()); result = prime * result + ((strategiesSet == null) ? 0 : strategiesSet.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final Technic other = (Technic) obj; if (slicer == null) { if (other.slicer != null) return false; } else if (!slicer.equals(other.slicer)) return false; if (strategiesSet == null) { if (other.strategiesSet != null) return false; } else if (!strategiesSet.equals(other.strategiesSet)) return false; return true; } } Index: Report.java =================================================================== RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/report/Report.java,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** Report.java 28 Nov 2007 23:42:33 -0000 1.27 --- Report.java 5 Dec 2007 23:22:45 -0000 1.28 *************** *** 3,12 **** import java.util.ArrayList; import java.util.List; - import java.util.Set; import net.sf.tail.AnalysisCriterion; import net.sf.tail.Operation; import net.sf.tail.OperationType; ! import net.sf.tail.Strategy; import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; --- 3,11 ---- 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.StrategiesSet; import net.sf.tail.TimeSeriesSlicer; import net.sf.tail.Trade; *************** *** 15,21 **** public class Report { ! private transient List<Decision> decisions; ! private TimeSeriesSlicer slicer; private AnalysisCriterion applyedCriterion; --- 14,20 ---- public class Report { ! private Technic technic; ! private transient List<Decision> decisions; private AnalysisCriterion applyedCriterion; *************** *** 24,47 **** private List<Number> additionalCriteriaValue; ! private List<AnalysisCriterion> additionalCriteria; ! private String name; - - private transient List<Trade> trades; ! private String strategiesScript; ! public Report(Set<Strategy> strategies, AnalysisCriterion criterion, TimeSeriesSlicer slicer, List<Decision> decisions) { this.applyedCriterion = criterion; this.decisions = decisions; - this.slicer = slicer; additionalCriteria = new ArrayList<AnalysisCriterion>(); additionalCriteriaValue = new ArrayList<Number>(); criterionValue = criterion.summarize(slicer.getSeries(), decisions); } public Number addSummarizedCriteria(AnalysisCriterion criterion) { ! Number result = criterion.summarize(slicer.getSeries(), decisions); additionalCriteria.add(criterion); additionalCriteriaValue.add(result); --- 23,45 ---- private List<Number> additionalCriteriaValue; ! private List<AnalysisCriterion> additionalCriteria; ! private String name; ! private transient List<Trade> trades; ! public Report(StrategiesSet strategiesSet, AnalysisCriterion criterion, TimeSeriesSlicer slicer, ! List<Decision> decisions) { this.applyedCriterion = criterion; this.decisions = decisions; additionalCriteria = new ArrayList<AnalysisCriterion>(); additionalCriteriaValue = new ArrayList<Number>(); criterionValue = criterion.summarize(slicer.getSeries(), decisions); + this.technic = new Technic(strategiesSet, slicer); } public Number addSummarizedCriteria(AnalysisCriterion criterion) { ! Number result = criterion.summarize(technic.getSlicer().getSeries(), decisions); additionalCriteria.add(criterion); additionalCriteriaValue.add(result); *************** *** 54,58 **** public TimeSeriesSlicer getSlicer() { ! return slicer; } --- 52,56 ---- public TimeSeriesSlicer getSlicer() { ! return technic.getSlicer(); } *************** *** 66,71 **** public List<Trade> getAllTrades() { ! if (trades == null) ! { List<Trade> trades = new ArrayList<Trade>(); for (Decision decision : decisions) { --- 64,68 ---- public List<Trade> getAllTrades() { ! if (trades == null) { List<Trade> trades = new ArrayList<Trade>(); for (Decision decision : decisions) { *************** *** 83,95 **** if (trade.getExit().getIndex() <= index) partialTrades.add(new Trade(trade.getEntry(), trade.getExit())); ! else if (trade.getEntry().getIndex() < index) ! { Trade artificialTrade; ! if(trade.getEntry().getType() == OperationType.BUY) ! { artificialTrade = new Trade(trade.getEntry(), new Operation(index, OperationType.SELL)); ! } ! else ! { artificialTrade = new Trade(trade.getEntry(), new Operation(index, OperationType.BUY)); } --- 80,88 ---- if (trade.getExit().getIndex() <= index) partialTrades.add(new Trade(trade.getEntry(), trade.getExit())); ! else if (trade.getEntry().getIndex() < index) { Trade artificialTrade; ! if (trade.getEntry().getType() == OperationType.BUY) { artificialTrade = new Trade(trade.getEntry(), new Operation(index, OperationType.SELL)); ! } else { artificialTrade = new Trade(trade.getEntry(), new Operation(index, OperationType.BUY)); } *************** *** 101,104 **** --- 94,138 ---- } + public String getSlicePeriodName() { + return technic.getSlicer().getSeries().getName() + ": " + technic.getSlicer().getSeries().getPeriodName(); + } + + public String getName() { + return name; + } + + public String getFileName() { + return this.getClass().getSimpleName() + + technic.getSlicer().getSeries().getTick(technic.getSlicer().getSeries().getBegin()).getDate() + .toString("hhmmddMMyyyy"); + } + + public List<AnalysisCriterion> getAdditionalCriteria() { + return additionalCriteria; + } + + public Number getValue(AnalysisCriterion criteria) { + if (additionalCriteria.contains(criteria)) { + int index = additionalCriteria.indexOf(criteria); + return additionalCriteriaValue.get(index); + } + if (applyedCriterion.equals(criteria)) { + return criterionValue; + } + return criteria.summarize(technic.getSlicer().getSeries(), decisions); + } + + public void setName(String name) { + this.name = name; + } + + public Technic getTechnic() { + return technic; + } + + public String getScript() { + return technic.getStrategiesSet().toString(); + } + @Override public int hashCode() { *************** *** 106,113 **** int result = 1; result = prime * result + ((additionalCriteria == null) ? 0 : additionalCriteria.hashCode()); result = prime * result + ((applyedCriterion == null) ? 0 : applyedCriterion.hashCode()); result = prime * result + ((criterionValue == null) ? 0 : criterionValue.hashCode()); result = prime * result + ((name == null) ? 0 : name.hashCode()); ! result = prime * result + ((slicer == null) ? 0 : slicer.hashCode()); return result; } --- 140,150 ---- int result = 1; result = prime * result + ((additionalCriteria == null) ? 0 : additionalCriteria.hashCode()); + result = prime * result + ((additionalCriteriaValue == null) ? 0 : additionalCriteriaValue.hashCode()); result = prime * result + ((applyedCriterion == null) ? 0 : applyedCriterion.hashCode()); result = prime * result + ((criterionValue == null) ? 0 : criterionValue.hashCode()); + result = prime * result + ((decisions == null) ? 0 : decisions.hashCode()); result = prime * result + ((name == null) ? 0 : name.hashCode()); ! result = prime * result + ((technic == null) ? 0 : technic.hashCode()); ! result = prime * result + ((trades == null) ? 0 : trades.hashCode()); return result; } *************** *** 127,130 **** --- 164,172 ---- } else if (!additionalCriteria.equals(other.additionalCriteria)) return false; + if (additionalCriteriaValue == null) { + if (other.additionalCriteriaValue != null) + return false; + } else if (!additionalCriteriaValue.equals(other.additionalCriteriaValue)) + return false; if (applyedCriterion == null) { if (other.applyedCriterion != null) *************** *** 142,191 **** } else if (!name.equals(other.name)) return false; ! if (slicer == null) { ! if (other.slicer != null) return false; ! } else if (!slicer.equals(other.slicer)) return false; return true; } - public String getSlicePeriodName() { - return slicer.getSeries().getName() + ": " + slicer.getSeries().getPeriodName(); - } - - public String getName() { - return name; - } - - public String getFileName() { - return this.getClass().getSimpleName() - + slicer.getSeries().getTick(slicer.getSeries().getBegin()).getDate().toString("hhmmddMMyyyy"); - } - - public List<AnalysisCriterion> getAdditionalCriteria() { - return additionalCriteria; - } - - public Number getValue(AnalysisCriterion criteria){ - if(additionalCriteria.contains(criteria)){ - int index = additionalCriteria.indexOf(criteria); - return additionalCriteriaValue.get(index); - } - if (applyedCriterion.equals(criteria)) { - return criterionValue; - } - return criteria.summarize(slicer.getSeries(), decisions); - } - public void setName(String name) { - this.name = name; - } - - public String getStrategiesScript() { - return strategiesScript; - } - - public void setStrategiesScript(String strategiesScript) { - this.strategiesScript = strategiesScript; - } } --- 184,200 ---- } else if (!name.equals(other.name)) return false; ! if (technic == null) { ! if (other.technic != null) return false; ! } else if (!technic.equals(other.technic)) ! return false; ! if (trades == null) { ! if (other.trades != null) ! return false; ! } else if (!trades.equals(other.trades)) return false; return true; } } |