Download MetaTrader 5

OnCalculate passes constant time

To add comments, please log in or register
chinaski
890
chinaski  

Hello,

i am looking for a smart method to detect bar change within Indicator. Unfortunately, this seems to be an extra science (don't know what's the problem to give each bar a unique index...??)

However, my idea was to use OnCalculate time[] parameter for this.

On each call, i do a print of  time[0] and this always returns the same time 1999.04.23 00:00:00  - except for latest live ticking bar.

So the timevalues for bar of the past (e.g. when attaching indicator to chart) are all the same 999.04.23 00:00:00.

 

Anyone know why ?

Thank you 

chinaski
890
chinaski  

Ah, the problem is that onCalculate seems only to be applied for new bars.

How to check an indicator (not Expert) against bars in the past ? 

Biantoro Kunarto
15814
Biantoro Kunarto  

If you using OnCalculate event In the indicator, time[0] refers to first bar not the last bar. If you want to check the last bar you can use :
int bars=Bars(_Symbol,_Period);
To add comments, please log in or register