Получение номера бара

 
При помощи функции Time( ) можно получить время открытия заданного бара.
Можно ли осуществить обратное, то есть при заданном времени опредилить номер бара.
Хочу встроить время начало отрисовки в индикатор
пока пришла толька одна мысль искать циклом
 
 
int iBarShift( string symbol, int timeframe, datetime time, bool exact=false)
Поиск бара по времени. Функция возвращает смещение бара, которому принадлежит указанное время. Если для указанного времени бар отсутствует ("дыра" в истории), то функция возвращает, в зависимости от параметра exact, -1 или смещение ближайшего бара.
 

Накидали, два раза "ку" :)

 
Спасибо люди добрые, всё получилось
Кстати с моим циклом ничего не вышло
лимит при первом просчете выдавал 0, незнаю в чем ошибся
extern datetime draw_begin = D'2000.01.31 00:00';
 
int start()
  {
 int    counted_bars=IndicatorCounted();
   //---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   int limit;
 
   if(counted_bars==0)
     {
      for(int e = Bars-1; e >= 0; e--)
        {
        if(draw_begin < Time[e]) continue;
           else
           {
            limit = e-MA_Period;
            break;
           } 
        }
      }     
      else limit=Bars-counted_bars-1;
Хотелось с этим бы тоже разобраться, найти свою ошибку
 

Всё намного проще, есть вот такая функция:

void SetIndexDrawBegin( int index, int begin)

Установка порядкового номера бара от начала данных, с которого должна начинаться отрисовка указанной линии индикатора. Отрисовка индикатора производится слева направо. Значения индикаторного массива, находящиеся левее указанного бара, не будут рисоваться на графике и отображаться в окне DataWindow. По умолчанию устанавливается значение 0.

ЗЫ: С кодом вы загнули :) Ничего не понял.

Взял код из стандартного MACD:

...

int limit;

int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;

int begin_bar=iBarsShift(NULL,0,draw_begin); //добавил

if (limit>begin_bar) limit=begin_bar; //добавил

for(int i=0; i<limit; i++)

...

 
спасибо всем
Причина обращения: