Бета-версия платформы MetaTrader 5 build 2155: Области видимости в MQL5, глобальное обновление тестера стратегий и встроенного хостинга - страница 7

 
Slava:

Что значит "этот же тест запустился"?

запустилось одиночное тестирование, нажимал мышей тут:



Slava:

Тест не должен был запуститься, просто все данные от этого теста должны загрузиться из кеш-файла

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

первый раз был вылет терминала, затем все ОК, кликал другие результаты этого контекстного меню, получал разные графики баланса





UPD: есть какой то баг в Win10 версия 1903 с выделением памяти, на прошлой неделе получил при тесте своего кода Array out of range - перевернул весь код, не нашел ошибку, начал расспринтовывать, оказалось, что в библиотеке  @fxsaber MT4Order не понятно когда появляется эта ошибка, закрыл терминал обнаружил, что рабочий стол Вин совершенно без значков, не долго думая перегрузил комп - и больше ошибку в своем коде не наблюдал

почему то думаю, что Вин10 не выделила терминалу память вот и появилась ошибка Array out of range и пропали значки с рабочего стола, да кстати хард что то жевал постоянно, из программ работал только терминал, долго работал - часа 4 не меньше, тестил, правил код, запускал генетику, потом опять правил код...ну как бы рабочий процесс на все 100% был 

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

 
Igor Makanu:

UPD: есть какой то баг в Win10 версия 1903 с выделением памяти, на прошлой неделе получил при тесте своего кода Array out of range

С виндой всякое может случится.

Но я обратил внимание, что многие программисты не проверяют результат выделения памяти при запросе маленьких блоков. Я это встречал даже в стандартных библиотеках. Плохая практика.

 
Edgar:

С виндой всякое может случится.

Но я обратил внимание, что многие программисты не проверяют результат выделения памяти при запросе маленьких блоков. Я это встречал даже в стандартных библиотеках. Плохая практика.

к сожалению возможности ОС и ПК всех разбаловали, вот так и пишем

я в начале года под МТ4 впервые в жизни получил баг с нехваткой памяти, писал советника по 3 или 4-м индикаторам, когда тестировал открыл все индикаторы с помощью прилагающегося шаблона и в настройках терминала у меня стояло 9999999999 баров, а в индикаторах в общей сложности около 15 индикаторных буферов использовалось. Чтобы тестировать советника быстрее запускал на М1 и почт час не мог понять почему работает не пойми как - написал скрипт, где сигналы индикаторов в лог писались, и при тесте заметил что терминал не всегда реагирует на переключение ТФ, дописал в скрипт вывод в лог результат ArrayResize() - и вот тут сразу все стало на свои места )))) 

но МТ4 32-х разрядный. ему чуть больше 3Гб доступно, МТ5 крут - .... неохота гуглить, сколько 64-х разрядные приложения могут памяти у ОС запросить

 
Igor Makanu:

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

кстати, как вариант, использую указатель на объект который все что умеет это выставить ордер, после получения тикета, объект удаляю

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

не хочу тестировать, но если где то утечка памяти в новом билде, то мог и терминал память за пару часов оптимизатора и скушать, один проход за год занимает около 5 секунд х на 4 ядра х 2 часа...


UPD: новый билд прилетел   2019.09.30 22:35:22.508 Terminal MetaTrader 5 x64 build 2162 started (MetaQuotes Software Corp.)

, с середины недели займусь опять творчеством )))

 
У меня 8 Гб памяти, но я сталкивался с нехваткой в программе, когда запущено много программ, и маленький файл подкачки. С тех пор я использую файл подкачки не рекомендованные 0.5*RAM, а 2*RAM. Выяснил это экспериментально на VPS с 1гб и кучей терминалов.
 
Edgar:
У меня 8 Гб памяти, но я сталкивался с нехваткой в программе, когда запущено много программ, и маленький файл подкачки. С тех пор я использую файл подкачки не рекомендованные 0.5*RAM, а 2*RAM. Выяснил это экспериментально на VPS с 1гб и кучей терминалов.

хм, а Вы оказались правы! посмотрел, я 2048 Мб файл подкачки ограничил когда то

несколько лет назад я наступал на эти "грабли" и если не ошибаюсь в МТ5  уже, что то из статьи запускал, кажется статья про "чарт крестики -нолики " была и у меня почему то не запускался пример, случайно обнаружил, что тоже файл подкачки сам отключил!


по моему так и сейчас у меня был баг с терминалом - память Вин не выделяла, ибо не откуда было ей взять, тогда вопрос все равно к терминалу, куда память ушла, кроме терминала ничего не запускал на ПК, вирусов нет:

один проход за год занимает около 5 секунд х на 4 ядра х 2 часа...и ордеров открываю за год 3-11 тыс



ЗЫ: терминал мог бы и запись в лог делать если свободной физической памяти меньше 500 Мб в какой то момент стало, тогда бы хоть какой то контроль был бы, имхо

 
Edgar:

С виндой всякое может случится.

Но я обратил внимание, что многие программисты не проверяют результат выделения памяти при запросе маленьких блоков. Я это встречал даже в стандартных библиотеках. Плохая практика.

Нормальная практика, чего в ней плохого то. Такие программисты видимо. В каком-нибдь с++ не проверяют, а чего проверять? Если что, выбросится исключение.

 

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

Кроме того обнаружил, что агенты выполняю задания в момент освобождения компьютера, а информации об этом у меня нет в ЛК и денег нет - как так? Может какие ограничения по ник нейму, в плане символов? На старых билдах, до изменения дизайна, все отображалось корректно.

 

в билде 2166 сломали одиночное тестирование!

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

Тест прошел, все ОК, кликаю мышкой на следующую строку вкладки оптимизация и хочу запустить одиночное тестирование - второй тест не запускается, в журнале запись:

"2019.10.03 05:24:30.006 Tester cannot get inputs for pass 149f8b23057ebc38 "

и теперь и второй и последующие одиночные тестирования  не запускаются!

лечится... запускаем опять оптимизацию, затем нажимаем кнопку стоп и можем опять запустить всего лишь один раз одиночное тестирование! - следующий тест опять запись

2019.10.03 05:24:48.422 Tester cannot get inputs for pass 7fedaf38b0cb3a8e



в билде 2162 все работало, код советника минимум правил - в основном вывод в лог действий эксперта делаю, в режиме визуализации багов со своим экспертом не замечал



-------------------------------------------

UPD:

добавил сегодня во входные параметры эксперта  "новую возможность группировки параметров через input group" - 2 шт, при оптимизации не было проблем, а как оказалось вот этот input group не дает работать теперь одиночному тестированию  - выше написал

убрал из входных параметров input group - все работает, тестирует, оптимизация, все ОК


не корректно input group работают


 
Igor Makanu:

переключил в 3Д... ну как бы интересно, но что то опять пошло не так - кликаю мышкой появляется курсор, чтобы повернуть 3Д - не вращает ни как, видеокарта NVidia

в билде 2166 3Д график оптимизации уже вращается.... ну вроде прикольно, пока не ясно что в нем можно увидеть

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