разница в производительности MQ5 против MQL4 фантастическая, но хотелось бы закончить мультиплатформенный код, поэтому возник вопрос:
1. какой профилировщик (MQ5 или MQL4) лучше использовать для оценки оптимизации после внесения изменения в исходник?
2. имеет ли смысл все Print() оборачивать в проверку флага if( MQLInfoInteger(MQL_OPTIMIZATION)) или вызовы Print() будут автоматически исключены без потери производительности?
2019.09.1420:24:18.638 Core 2 genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)"in0:00:21.5362019.09.1420:24:33.884 Core 1 genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 2130 Mb)"in0:00:26.0182019.09.1420:24:40.079 Core 2 genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)"in0:00:21.4392019.09.1420:25:00.011 Core 1 genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 2130 Mb)"in0:00:26.1252019.09.1420:25:00.024 Core 1 genetic pass (2, 432) tested with error "no memory"in0:00:00.0002019.09.1420:25:00.037 Core 1 genetic pass (2, 432) tested with error "no memory"in0:00:00.0002019.09.1420:25:01.671 Core 2 genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)"in0:00:21.5892019.09.1420:25:01.680 Core 1 genetic pass (2, 504) tested with error "no memory"in0:00:00.0002019.09.1420:25:01.693 Core 1 genetic pass (2, 504) tested with error "no memory"in0:00:00.0002019.09.1420:25:10.181 Core 3 genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 1659 Mb)"in0:00:10.1422019.09.1420:25:10.190 Core 1 genetic pass (2, 432) tested with error "no memory"in0:00:00.0002019.09.1420:25:10.203 Core 1 genetic pass (2, 432) tested with error "no memory"in0:00:00.0002019.09.1420:25:10.215 Core 1 genetic pass (2, 432) tested with error "no memory"in0:00:00.0002019.09.1420:25:10.228 Core 1 genetic pass (2, 432) tested with error "no memory"in0:00:00.0002019.09.1420:25:20.343 Core 3 genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 1659 Mb)"in0:00:10.114
Сначала все ядра пахали около часа без ошибок. В советнике никаких массивов нет. Затем полезли такие ошибки.
На машине запущен только один Терминал. 16Гб, 7 ядер задействовано.
ЗЫ Проход отличается от остальных большим количеством трейдов
Сколько съедает история торгов тогда?
ЗЗЫ Проскакивает иногда "no disk space", хотя десятки гигабайтов свободны.
Вопрос на засыпку: как в кодобазу положить исходик вместе с графическими ресурсами в формате bmp (которые идут, например, в OBJ_BITMAP_LABEL)? В стандартной библиотеке в папке res только bmp-файлы (т.е. я не в курсе, чтобы ресурсы могли быть png/jpg). Если приложить в зипе, код ведь не скомпилируется при проверке?
Stanislav Korotky: Вопрос на засыпку: как в кодобазу положить исходик вместе с графическими ресурсами в формате bmp (которые идут, например, в OBJ_BITMAP_LABEL)? В стандартной библиотеке в папке res только bmp-файлы (т.е. я не в курсе, чтобы ресурсы могли быть png/jpg). Если приложить в зипе, код ведь не скомпилируется при проверке?
Часто при создании программы, нам требуется использовать звуки и изображения. В языке MQL есть несколько возможностей использования таких данных, и все они связаны с необходимостью загружать файлы из файловой песочницы терминала. Если в конечном результате предполагается скомпилированный файл, то достаточно подключить файл как ресурс и...
Stanislav Korotky: Вопрос на засыпку: как в кодобазу положить исходик вместе с графическими ресурсами в формате bmp (которые идут, например, в OBJ_BITMAP_LABEL)? В стандартной библиотеке в папке res только bmp-файлы (т.е. я не в курсе, чтобы ресурсы могли быть png/jpg). Если приложить в зипе, код ведь не скомпилируется при проверке?
в кодах @fxsaber посмотрите или у меня в PeriodInSeconds
если кратко, то загружаете версию кода в КБ которая может запуститься, в описании укажите как особенность использования, где предложите пользователю внести изменения в исходник самостоятельно с описанием, что он получит в итоге
в кодах @fxsaber посмотрите или у меня в PeriodInSeconds
если кратко, то загружаете версию кода в КБ которая может запуститься, в описании укажите как особенность использования, где предложите пользователю внести изменения в исходник самостоятельно с описанием, что он получит в итоге
Так и сделал.
Теперь другая засада: ошибка main file not found. Разумеется mq5-файл приложен.
... Ага, с помощью гуглового поиска нашел в этом форуме уже такую проблему (местный поиск не находит). Оказывается нельзя делать свою папку. Жесть.
Это каким-то образом должно ответить на вопрос про кодобазу?
Да. В данной статье рассматривается именно публикация в кодобазу кодов с включаемыми файлами, формат которых не поддерживается кодобазой - файлы автоматически создаются в каталоге клиентского терминала после запуска программы, и далее ею уже используются.
Ничего дополнительно загружать пользователю не нужно кроме файлов программы с поддерживаемыми расширениями mq4, mq5, mqh, и править далее в кодах тоже ничего не нужно.
разница в производительности MQ5 против MQL4 фантастическая, но хотелось бы закончить мультиплатформенный код, поэтому возник вопрос:
1. какой профилировщик (MQ5 или MQL4) лучше использовать для оценки оптимизации после внесения изменения в исходник?
2. имеет ли смысл все Print() оборачивать в проверку флага if( MQLInfoInteger(MQL_OPTIMIZATION)) или вызовы Print() будут автоматически исключены без потери производительности?
Оптимизатор
Сначала все ядра пахали около часа без ошибок. В советнике никаких массивов нет. Затем полезли такие ошибки.
На машине запущен только один Терминал. 16Гб, 7 ядер задействовано.
ЗЫ Проход отличается от остальных большим количеством трейдов
Сколько съедает история торгов тогда?
ЗЗЫ Проскакивает иногда "no disk space", хотя десятки гигабайтов свободны.
Вопрос на засыпку: как в кодобазу положить исходик вместе с графическими ресурсами в формате bmp (которые идут, например, в OBJ_BITMAP_LABEL)? В стандартной библиотеке в папке res только bmp-файлы (т.е. я не в курсе, чтобы ресурсы могли быть png/jpg). Если приложить в зипе, код ведь не скомпилируется при проверке?
Это каким-то образом должно ответить на вопрос про кодобазу?
Вопрос на засыпку: как в кодобазу положить исходик вместе с графическими ресурсами в формате bmp (которые идут, например, в OBJ_BITMAP_LABEL)? В стандартной библиотеке в папке res только bmp-файлы (т.е. я не в курсе, чтобы ресурсы могли быть png/jpg). Если приложить в зипе, код ведь не скомпилируется при проверке?
в кодах @fxsaber посмотрите или у меня в PeriodInSeconds
если кратко, то загружаете версию кода в КБ которая может запуститься, в описании укажите как особенность использования, где предложите пользователю внести изменения в исходник самостоятельно с описанием, что он получит в итоге
в кодах @fxsaber посмотрите или у меня в PeriodInSeconds
если кратко, то загружаете версию кода в КБ которая может запуститься, в описании укажите как особенность использования, где предложите пользователю внести изменения в исходник самостоятельно с описанием, что он получит в итоге
Так и сделал.
Теперь другая засада: ошибка main file not found. Разумеется mq5-файл приложен.
... Ага, с помощью гуглового поиска нашел в этом форуме уже такую проблему (местный поиск не находит). Оказывается нельзя делать свою папку. Жесть.
Это каким-то образом должно ответить на вопрос про кодобазу?
Да. В данной статье рассматривается именно публикация в кодобазу кодов с включаемыми файлами, формат которых не поддерживается кодобазой - файлы автоматически создаются в каталоге клиентского терминала после запуска программы, и далее ею уже используются.
Ничего дополнительно загружать пользователю не нужно кроме файлов программы с поддерживаемыми расширениями mq4, mq5, mqh, и править далее в кодах тоже ничего не нужно.