Функция перевода даты в смещение в барах

 
Обратная функция к TimeToStr(Time[i]) была бы очень полезной, на мой взгляд. По крайней мере, я очень часто использую такую функцию в своих индикаторах:

int BarsFromSDate(string sDate)
//Входной параметр: sDate "yyyy.mm.dd hh:mm"
//Возвращаемое значение: количество баров с этой даты
{
	int nBars = 0;

	while (Time[nBars] > StrToTime(sDate) ) {
		nBars++;
	}

	return(nBars);
} 



Может, имеет смысл добавить такое в раздел Conversion Functions?

 
Замечание: зачем в цикле постоянно преобразование даты производить?
 
Замечание: зачем в цикле постоянно преобразование даты производить?

Логично, спасибо, но не в этом дело..
 
Один из вариантов

/*[[
	Name := aaa1
	Author := Copyright © 2005, MetaQuotes Software Corp.
	Link := http://www.metaquotes.net/
	Separate Window := Yes
	First Color := Blue
	First Draw Type := Histogram
	First Symbol := 217
	Use Second Data := No
	Second Color := Red
	Second Draw Type := Line
	Second Symbol := 218
	Minimum Chart Limits := 0.000000
	Maximum Chart Limits := 1.000000
]]*/
Variable : shift(0);
Var : LastOrd(0), LastOrdOpen(0), NLastOrdOpen(0);
SetLoopCount(0);
// loop from first bar to current bar (with shift=0)
LastOrd=TotalTrades;
LastOrdOpen=Ord(LastOrd, VAL_OPENTIME); //Problemnaja stroka
NLastOrdOpen=Floor(LastOrdOpen/60/Period);
For shift=(abs(time[0]/Period/60-NLastOrdOpen)) Downto 0 Begin
	if shift==0 and Time[Shift]<=LastOrdOpen then{
		SetIndexValue(shift, 1);
		Comment("Nomer bara na kotorom bil otkrit order= ", Shift);
	};
	if shift>0 and Time[Shift]<=LastOrdOpen and LastOrdOpen<Time[Shift-1] then{
		SetIndexValue(shift, 1);
		Comment("Nomer bara na kotorom bil otkrit order= ", Shift);
		exit;
	};
End;
 
Один из вариантов

Воо... насколько удобнее было бы использовать одну штатную функцию..
 
Хотел выложить свой пример с использованием ArrayBSearch(), оказался не тот, тот дома - потом выложу.

Разработчикам - если пытаюсь при скачивании с сайта файла *.mq4 не сохранять его а сразу открыть - МетаЭдитор4 зависает, захожу в диспетчер задач , убиваю процесс, потом уже открываю с диска. Уже несколько раз подряд было. Winда 2000.