Limitations of functions in the tester

When using the tester, you should take into account some restrictions imposed on built-in functions. Some of the MQL5 API functions are never executed in the strategy tester and some work only in single passes but not during optimization.

So, to increase performance when optimizing Expert Advisors, the Comment, Print, and PrintFormat functions are not executed.

The exception is the use of these functions inside the OnInit handler which is done to make it easier to find possible causes of initialization errors.

Functions that provide interaction with the "world" are not executed in the strategy tester. These include MessageBox, PlaySound, SendFTP, SendMail, SendNotification, WebRequest, and functions for working with sockets.

In addition, many functions for working with charts and objects have no effect. In particular, you will not be able to change the symbol or period of the current chart by calling ChartSetSymbolPeriod, list all indicators (including subordinate ones) with ChartIndicatorGet, work with templates ChartSaveTemplate, and so on.

In the tester, even in the visual mode, interactive chart, object, keyboard and mouse events are not generated for the OnChartEvent handler.