Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки"

 

Опубликована статья Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки:

В статье рассмотрим класс вывода текстовых сообщений. Сейчас у нас имеется достаточное количество различных текстовых сообщений, и уже стоит подумать о реорганизации способа их хранения, вывода и удобства правки русских сообщений на иной язык, а так же об удобном способе добавления новых языков в библиотеку и быстром переключении между ними.

Долго не мог придумать что же такое выдумать для наглядного тестирования. В результате пришёл к выводу, что делать-то ничего и не нужно — всё уже сделано. В журнал и так выводятся сообщения. Значит — для того, чтобы проверить правильность их вывода в новом, изменённом варианте хранения и вывода данных, достаточно просто запустить советник из прошлой статьи: \MQL5\Experts\TestDoEasy\Part18\TestDoEasyPart18.mq5.
Сохраним его в новой папке и под новым именем: \MQL5\Experts\TestDoEasy\Part19\TestDoEasyPart19.mq5.
Всё же очень незначительные изменения я в него внёс, но всё касается лишь размеров отслеживаемых изменений и визуального оформления выводимых текстов, поэтому и описывать их тут не будем.

Скомпилируем и запустим советник в тестере в визуальном режиме. В советнике выставлено отслеживание размеров спреда, величины прибыли и средств. Поэтому посмотрим на сообщения об изменении спреда и пересечении его размером величины в 2 пункта. А по увеличению средств открытые позиции закрываются. Обо всём этом, и об открытии/закрытии позиций в журнал должны выводиться соответствующие записи — с ними мы уже знакомы по тестам из прошлых статей. Интерес здесь для нас представляют не сами сообщения как таковые, а правильность вывода этих сообщений, так как они теперь хранятся и выводятся совсем иным образом — все сообщения хранятся в одном месте и выводятся по указанию на их местоположение в базе сообщений.

Итак, смотрим:


Ну что ж. Видим, что все записи о всех событиях у нас выводятся верно, а значит — всё работает так, как задумывалось сделать.

Теперь мы имеем класс сообщений с общей базой всех текстов библиотеки, а также у нас есть описания ко всем кодам возврата торгового сервера и ошибкам времени выполнения. И доступ ко всем сообщениям осуществляется по коду ошибки или идентификатору сообщения.

Автор: Artyom Trishkin

Причина обращения: