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") );