I have written the following function to calculate the
drawdown between two dates. Does anybody know how eliminate the loop or
make it
run faster? TIA 
     
  function
MaxDDFromTo(Array, From, To) 
  { 
     Last = LastValue(BarIndex());
  
     Start = LastValue(ValueWhen(DateTime()
== StrToDateTime(From),
  BarIndex())); 
     End = LastValue(ValueWhen(DateTime()
== StrToDateTime(To),
  BarIndex())); 
  
     Price = Array; 
     MaxPrice = DD = MaxD = Bars = 0;
  
     for(
i = Start; i < End; i++ ) 
     { 
        Bars = Bars + 1;
  
        MaxPrice = Max(MaxPrice,
  HHV( Price, Bars
)); 
        DD = 100
* ( Price[i] - MaxPrice ) / MaxPrice; 
        MaxD = Min(MaxD,
  LLV( DD, Bars ));
  
     } 
     return
MaxD; 
  } 
  _TRACE("from:
" + "12/29/2000"
+ " To:  " + "12/31/2009"
+ " MaxDD: " +
MaxDDFromTo(C, "12/29/2000",
  "12/31/2009") );