Update of /cvsroot/tail/Tail/src/java/net/sf/tail/flow
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1864/src/java/net/sf/tail/flow
Modified Files:
CashFlow.java
Log Message:
Refatoração do MaximumDrawDown e CashFlow, testes para acerto dos Ãndices
Index: CashFlow.java
===================================================================
RCS file: /cvsroot/tail/Tail/src/java/net/sf/tail/flow/CashFlow.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** CashFlow.java 8 Aug 2007 21:48:47 -0000 1.3
--- CashFlow.java 8 Aug 2007 22:50:18 -0000 1.4
***************
*** 22,32 ****
public double getValue(int index)
{
! int indexValue = index - timeSeries.getBegin();
! increaseLength(indexValue);
! if(values.get(indexValue) != null)
! return values.get(indexValue);
! if(index == timeSeries.getBegin())
{
values.add(0, 1d);
--- 22,31 ----
public double getValue(int index)
{
! increaseLength(index);
! if(values.get(index) != null)
! return values.get(index);
! if(index == 0)
{
values.add(0, 1d);
***************
*** 34,49 ****
}
! Trade trade = respectiveTrade(index);
if(trade == null)
{
! values.add(indexValue, getValue(index - 1));
! return values.get(indexValue);
}
else
{
! Double profit = timeSeries.getTick(index).getClosePrice() / timeSeries.getTick(trade.getEntry().getIndex()).getClosePrice();
! Double value = getValue(trade.getEntry().getIndex()) * profit;
! values.add(indexValue, value);
return value;
}
--- 33,48 ----
}
! Trade trade = respectiveTrade(index + timeSeries.getBegin());
if(trade == null)
{
! values.add(index, getValue(index - 1));
! return values.get(index);
}
else
{
! Double profit = timeSeries.getTick(index + timeSeries.getBegin()).getClosePrice() / timeSeries.getTick(trade.getEntry().getIndex()).getClosePrice();
! Double value = getValue(trade.getEntry().getIndex() - timeSeries.getBegin()) * profit;
! values.add(index, value);
return value;
}
|