Figures. Builds over 700 are moronic
I have caught interesting bug. My logs show that OnCalculate() gets nesting invocation after applying command
I use the command in the indicator during OnCalculate().
The command forces event of changing timeframes. Indicator then deinits, and inits. So far so good.
But.... the trace log shows that OnCalculate did not finish before OnDeninit(), but it continues after the next OnCalculate() event, which appeared after initialization. It is what my trace log recorded.
[CODE]2014.10.27 16:46:32 TRACE: OnCalculate() >>(IN) @MT4IndicatorManager.class.mqh:173
2014.10.27 16:46:32 INFO: OnCalculate() >>(Complete reset request ) @MT4IndicatorManager.class.mqh:202
// missing trace for OUT OnCalculate()
2014.10.27 16:46:32 TRACE: OnDeinit() >>(IN) @MT4BaseManager.class.mqh:424
2014.10.27 16:46:32 TRACE: OnDeinit() >>(OUT) @MT4BaseManager.class.mqh:430
// now - the indicator restarts
2014.10.27 16:46:32 TRACE: OnInit() >>(IN) @MT4IndicatorManager.class.mqh:114
2014.10.27 16:46:32 TRACE: OnInit() >>(OUT 0) @MT4IndicatorManager.class.mqh:127
2014.10.27 16:46:32 TRACE: OnCalculate() >>(IN) @MT4IndicatorManager.class.mqh:173
2014.10.27 16:46:32 TRACE: OnCalculate() >>(OUT) @MT4IndicatorManager.class.mqh:206
2014.10.27 16:46:32 TRACE: OnCalculate() >>(OUT) @MT4IndicatorManager.class.mqh:206 // this trace belongs to the first log part
2014.10.27 16:46:33 TRACE: OnCalculate() >>(IN) @MT4IndicatorManager.class.mqh:173
2014.10.27 16:46:33 TRACE: OnCalculate() >>(OUT) @MT4IndicatorManager.class.mqh:206
From my point of view I revealed just additional source of "mysterious" unexplainable errors in my code.
It will never end. New build just reporting newer an newer bugs. As if metatrader does not know what does beta testing mean (or they think that it means "they are all so happy now")
Oh boy, finally I reported the bug to MQL5 Service desk, and they already closed the issue with resolution:
No comment. Or better one comment: If something does not work, there is no reason to use it.
A comment : "there is no need to use metatrader" Moronic attitude from metatrader will never stop
Yes, the attitude is problem. If they apologized that they did not intend to use it this way and they update the documentation - I would accept it.
Moreover, the only reason I use this command for is fixing their other bug.
Metatrader always had that attitude : if you tell them that something is wrong, they always take it personally and they always think that the ultimate goal is to attack them. That is leaving them with game testers in 99% of cases and not beta testers, and when they get a report of a serious bug, then the answer is always the same (like the answer I got) : "If it (the buggy function) does not work why do you want to use it?"
Nothing has changed and nothing will
If we use #property strict,
it does not work OnDeinit() does not work deinit(),
and the objects that generates a indicator not cleared.
If we remove #property strict, then the objects are deleted by removing the indicator.
I tried with the prompt: Custom candles - any time frame 1.01 nmc.mq4
You mean that when strict is used, then no deinit is called?
I don't know if that was reported, but new metatrader messes up my firefox screen from time to time (when it is not in the focus, all of sudden it displays its contents instead of the regular web contents of firefox. It never happened with the old metatrader)