The Metaeditor provides this great profiling tool that helps to spot bottlenecks.
Unfortunately looks like it only can be used in real time and not in backtest.
I'm I right or I'm missing something?
You can spend backtest in any part of the history of https://www.metatrader5.com/en/terminal/help/testing
You're right. Neither profiling not debugging is available in the tester. These are major disadvantages of the platform.
I wrote a profiling library for myself. Of course it requires code modifications (for example, to insert two calls in the source to measure timing between corresponding lines). You can do it as well. I'm afraid this is the only possible resort at the moment.
Thank you so much for your answer.
Let me ask you: Your library is pure MQL5 or DLL based?
I'm asking cause I can't find a way to measure real time passed during the backtest using only MQL5 code, once all the time functions (TimeCurrent, TimeTradeServer, TimeLocal...) are all simulated (as expected) during the backtest / optimization process.
Ok, I've found GetTickCount that can be used for this propose. Also used the GetLocalTime from kernel32.dll but both has too high resolution (millisecond).
For profiling I would need something more precise. Any suggestion?
EDIT: Fount it: GetMicrosecondCount();
Just for information. Profiling is also available with the MT5 Strategy Tester now.