Проблема с временем

[Удален]  
как определить сколько времени прошло со времени открытия последней позиции?
 
Как-то так:
   datetime ctm, order_time;
   int _OrdersTotal = OrdersTotal();

   for ( int z = _OrdersTotal - 1; z >= 0; z -- )
    {
        if ( !OrderSelect( z, SELECT_BY_POS ) )
        {
            err = GetLastError();
            //Print( "OrderSelect( ", z, ", SELECT_BY_POS ) - Error #", err, "; mess: " , ErrorDescription(err));
            continue;
        }
 
        // проверить, не закрыт ли ордер
        ctm = OrderCloseTime();
        if (ctm > 0)
            continue;
 
        order_time = OrderOpenTime();
 
    // сохранять max время из всех order_time
    // ...
    }
[Удален]  
а по подробнее можно ту я смотрю только две функции одна показывает время открытия ордера другая время закрятия, а мне нужно определить сколько времения прошло(на текуший момент, в сек , мин -не важно) с открытия последней позиции?
 
//+----------------------------------------------------------------------------+
//|  Возвращает количество секунд после открытия последней позиций.            |
//|  Параметры:                                                                |
//|    sym - наименование инструмента  ("" - текущий символ)                   |
//|    op  - операция                  (-1 - любая позиция)                    |
//|    mn  - MagicNumber               (-1 - любой магик)                      |
//+----------------------------------------------------------------------------+
datetime SecondsAfterOpenLastPos(string sym="", int op=-1, int mn=-1) {
  datetime oot;
  int      i, k=OrdersTotal();
 
  if (sym=="") sym=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sym) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (oot<OrderOpenTime()) oot=OrderOpenTime();
            }
          }
        }
      }
    }
  }
  return(TimeCurrent()-oot);
}
 
Вопрос требует уточнения - последней открытой и незакрытой позиции? Или любой последней по времени открытой позиции, независимо от её текущего статуса?
В первом случае нужно проверять также и OrderCloseTime, во втором - нет.