Calculate only at end of bar
The problem is knowing the 'End of Bar' has occured. We only know that a new bar has opened because a tick has been recieved after the bar's defined close time. It could be a very long time between ticks and EA code is data driven (meaning executes when data changes or is recieved) by the reciept of a tick. Unless you use very nasty infinite time checking loops for your own internal checking of when time has past and the bar should be closed independant of whether a tick has been recieved or not. So you can only easily calculate bar[1] on recieving the frist tick of a new bar. bar[0] changes value with every new tick recieved within its timeframe.
static datetime Time0; if (condition){ if (i==1 and Time0 != Time[0]){ Time0 = Time[0]; // send alerts }
The attached indicator seems to be calculating on every tick, whereas I want it to only calculate at the close of the bar. I've tried various bits of code, but as I'm very much a beginner I haven't been able to solve it.
I think it's a simple task for a more experienced person.
Any help, appreciated.