Help: Datetime everyday at 00:00 or find 00:00 bar index on each new bar

 

I try to use an indicator logic in my strategy.

I need to find the number of bars back to midnight 00:00 to calculate my indicator, on each new bar

Now the indicator does this :

int FindStartIndex(datetime startDate)
{
for (int i=Bars-1; i>=0; i--)
{
if (Time[i]>=StartDate) return (i);
}
return( 0);

}

How can I make this more simple ?

Thanks in advance.

 
kissandfly:

I try to use an indicator logic in my strategy.

I need to find the number of bars back to midnight 00:00 to calculate my indicator, on each new bar

Now the indicator does this :

int FindStartIndex(datetime startDate)
{
for (int i=Bars-1; i>=0; i--)
{
if (Time[i]>=StartDate) return (i);
}
return( 0);

}

How can I make this more simple ?

Thanks in advance.


Check in documentation iBarShift()

 
robofx.org:

Check in documentation iBarShift()

Thanks, but how to change some_time every day to be today 00:00 automaticaly ?


datetime some_time=D'2004.03.21 12:00';

int shift=iBarShift("EUROUSD",PERIOD_M1,some_time);


thanks in advance

 
kissandfly:

Thanks, but how to change some_time every day to be today 00:00 automaticaly ?


datetime some_time=D'2004.03.21 12:00';

int shift=iBarShift("EUROUSD",PERIOD_M1,some_time);


thanks in advance

ok done :

datetime yesterdayclose=iTime(NULL,PERIOD_D1,0);

thanks a lot.

Reason: