Ошибки, баги, вопросы - страница 2558

 
Комментарии, не относящиеся к этой теме, были перенесены в "Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам".
 

разница в производительности MQ5 против MQL4 фантастическая, но хотелось бы закончить мультиплатформенный код, поэтому возник вопрос:

1. какой профилировщик (MQ5 или MQL4) лучше использовать для оценки оптимизации после  внесения изменения в исходник? 

2. имеет ли смысл все Print() оборачивать в проверку флага if( MQLInfoInteger(MQL_OPTIMIZATION)) или вызовы Print() будут автоматически исключены без потери производительности?

 

Оптимизатор

2019.09.14 20:24:18.638 Core 2  genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0:00:21.536
2019.09.14 20:24:33.884 Core 1  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 2130 Mb)" in 0:00:26.018
2019.09.14 20:24:40.079 Core 2  genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0:00:21.439
2019.09.14 20:25:00.011 Core 1  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 2130 Mb)" in 0:00:26.125
2019.09.14 20:25:00.024 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:00.037 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:01.671 Core 2  genetic pass (2, 504) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0:00:21.589
2019.09.14 20:25:01.680 Core 1  genetic pass (2, 504) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:01.693 Core 1  genetic pass (2, 504) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.181 Core 3  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 1659 Mb)" in 0:00:10.142
2019.09.14 20:25:10.190 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.203 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.215 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:10.228 Core 1  genetic pass (2, 432) tested with error "no memory" in 0:00:00.000
2019.09.14 20:25:20.343 Core 3  genetic pass (2, 432) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 1659 Mb)" in 0: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). Если приложить в зипе, код ведь не скомпилируется при проверке?
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
  • www.mql5.com
Часто при создании программы, нам требуется использовать звуки и изображения. В языке MQL есть несколько возможностей использования таких данных, и все они связаны с необходимостью загружать файлы из файловой песочницы терминала. Если в конечном результате предполагается скомпилированный файл, то достаточно подключить файл как ресурс и...
 
Artyom Trishkin:

Это каким-то образом должно ответить на вопрос про кодобазу?

 
Stanislav Korotky:
Вопрос на засыпку: как в кодобазу положить исходик вместе с графическими ресурсами в формате bmp (которые идут, например, в OBJ_BITMAP_LABEL)? В стандартной библиотеке в папке res только bmp-файлы (т.е. я не в курсе, чтобы ресурсы могли быть png/jpg). Если приложить в зипе, код ведь не скомпилируется при проверке?

в кодах @fxsaber посмотрите или у меня в PeriodInSeconds

если кратко, то загружаете версию кода в КБ которая может запуститься, в описании укажите как особенность использования, где предложите пользователю внести изменения в исходник самостоятельно с описанием, что он получит в итоге

 
Igor Makanu:

в кодах @fxsaber посмотрите или у меня в PeriodInSeconds

если кратко, то загружаете версию кода в КБ которая может запуститься, в описании укажите как особенность использования, где предложите пользователю внести изменения в исходник самостоятельно с описанием, что он получит в итоге

Так и сделал.

Теперь другая засада: ошибка main file not found. Разумеется mq5-файл приложен.

... Ага, с помощью гуглового поиска нашел в этом форуме уже такую проблему (местный поиск не находит). Оказывается нельзя делать свою папку. Жесть.

 
Stanislav Korotky:

Это каким-то образом должно ответить на вопрос про кодобазу?

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

Ничего дополнительно загружать пользователю не нужно кроме файлов программы с поддерживаемыми расширениями mq4, mq5, mqh, и править далее в кодах тоже ничего не нужно.

 
Artyom Trishkin:
Спасибо Артём. Ты пишешь быстрей чем я читаю и усваиваю.