Как узнать номер бара последней сделки? - страница 2

 
в последнем билде, в MetaEditor'е посмотрите пример, соответствующий функции ArrayBsearch...
 
Попробуй что нить типа такого, правда на МКЛ2 и нужно иметь активный открытый ордер.
Показывает номер бара, на котором был открыт ордер при любом таймфрейме
Не смог разобраться почему плохо отрабатывается функция
Ord(LastOrd, VAL_OPENTIME)
наверное чегото не понимаю, может поомогут разработчики.


просьба сильно не буцать :-)

/*[[
	Name := 111b
	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);
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);
		exit;
	};
	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;

Причина обращения: