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

 
Vladislav Andruschenko:
 

в мт4 компилируется 888 мсек

в мт5 такой же проект компилируется 4103 мсек

Во, похоже что проблемы связаны именно с пятёркой.  Разница в 4.5 раза - это немало.   Хотя для полноты картины было бы неплохо также проверить на старом компиляторе (1159), если он у вас имеется (либо могу скинуть).  Правда возможно под него код придётся немного подкорректировать.
 
-Aleks-:

У меня нет денег на MT5 - торгую центовые счета, а ДЦ не спешит их открывать под пятерку. 

Плохо искал. https://www.mql5.com/ru/forum/88768/page2#comment_2587760
Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
  • отзывов: 3
  • www.mql5.com
Недавно один из национальных брокеров России Solid Financial Services запустил торговую платформу MetaTrader 5 с хеджинговой системой учета позиций...
 
Alexey Navoykov:

Хочу вновь затронуть проблему медленной компиляции МQL5.  Месяца три назад я пытался поднять эту тему, но почему-то не встретил понимания, видимо мои доводы оказались недостаточно убедительными. Поэтому откатился обратно на старый билд (1159), где всё компилируется почти мгновенно (в то время как на новых компиляторах мой проект компилировался 20 секунд).

И вот неделю назад я предпринял новую попытку перейти на свежий билд, подумав "бог с ними с 20 секундами, потерплю, ради новых плюшек".  Пришлось естественно немного подкорректировать код под новые условия, в процессе чего выявил несколько багов нового компилятора (о которых отписывался тут).  И что в итоге?  Мой проект компилируется уже 30 секунд!   Не знаю, связано ли это с усложнением проекта, либо с очередным "усложнением" компилятора, но это уже ни в какие рамки не лезет.

В проекте около 700 кб исходного кода, это советник, включающий пару десятков mqh.  Всё в ООП.   Ранее мне писали о том, что возможно замедление связано с наличием больших по размеру функций. У меня было несколько таких.  Ну я их раздробил на мелкие части - эффекта ноль.

И что самое удивительное, толку от этой сверхдолгой компиляции нет никакого. Скорость работы программы та же, что и на старом компиляторе, специально делал замеры.  Тут напрашивается только одна фраза:  "Нахрена?"

У меня есть стойкое ощущение, что имеется баг/недоработка в компиляторе, из-за чего он вхолостую гоняется на пустом месте.  Иначе как объяснить тот факт, что абсолютно пустой скрипт, имеющий лишь функцию ОnStart() { }, компилируется более 400 мс!  Уму непостижимо, что там можно так долго компилировать/оптимизировать в пустышке.   Ну а добавляя в неё небольшие функции и классы можно наблюдать как длительность компиляции стремительно нарастает.

Сразу замечу, что железо у меня конечно далеко не мощное - Core i5U.  Но это не мешает компилироваться моему проекту за 1-2 секунды на старом компиляторе.  Соответственно пустышка там вообще мгновенно компилируется.

И ещё замечу. В компиляторе полностью отсутствует не только кэширование ранее скомпилированных фрагментов, но даже банальная проверка идентичности исходного кода.  Т.е. скомпилировал проект, потом ничего не меняя снова нажал кнопку "Компилировать", и опять ждёшь те же самые 30 секунд.  Ну куда это годится...

Хотелось бы услышать комментарии как от разработчиков МТ, так и от форумчан, работающих с большими проектами (неужели только меня волнует эта проблема?), сколько по времени у кого занимает компиляция и т.д.  Сразу оговоримся, что речь идёт именно о компиляции исполняемого файла.

Мои проекты имеют как и у вас не один десяток файлов исходников и все на ООП, при этом о 20 секундах я не буду утверждать, но более 11 - 14 секунд наблюдаю постоянно. При этом все же какое то кэширование происходит, т.к. если ни чего не менять, то время изменяется на 1-2 секунды в любом непредсказуемом направлении. Сравнивать сборку проектов на старых компиляторах и новых не стал, старые компиляторы в разы быстрее все собирали. Думаю разработчики этот момент видят и сами и когда нить все исправят :) Ведь не даром же в месяц по нескольку новых беток выпускают, значит что то видят и исправляют.

 

Версия и битность терминала

v.1375, 64-bit

Описание проблемы

После обновления последнего билда агенты замирают после прохождения первых 1900-2100 проходов при оптимизации. До обновления все проходило нормально, все параметры и код эксперта остались прежними. 

Последовательность действий

Запускается оптимизация. Брокер Открытие. Реальный счет. Инструменты: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (другие не пробовал). Интервал месяц, минутки, 15 минутки. Цены окрытия или OHLC.

Полученный результат

Агенты-локальные и удаленные после 2000 проходов фактически замирают, проц грузится, изменения примерно 0.01 процента в 10 минут. 14 агентов.

Ожидаемый результат

Прохождение оптимизации как при предыдущем билде.

Дополнительные сведения

О себе: программист .net, MQL 5, со стажем


Логи смотрел, везде. Сравнил с логами предыдущего билда. Никаких проблем или ошибок там нет. Качество истории хорошее.
Файлы:
image.jpg  89 kb
 
coderex:

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

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

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

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

Ведь мало кто делает большие проекты на MQL.  А на мелких люди видимо не парятся из-за лишних пары секунд.

Кстати, а проц какой у вас?

 
Alexey Navoykov:

... они всё-равно упираются, всем правдами и неправдами :)

вот поэтому и не пытаюсь более что либо доказывать, к тому же проекты на плюсах собираются гораздо дольше, правда они гораздо и больше, но я привык к сборкам на плюсах по нескольку минут на исполняемый либо библиотечный файл, а на проект из нескольких файлов со структурой каталогов до нескольких десятков минут :) и подождать 10-20 секунд не проблема...
 
Alexey Viktorov:
Плохо искал. https://www.mql5.com/ru/forum/88768/page2#comment_2587760
Ссылка не дает интересующей информации -будьте конкретней.
 
ProfitTraderRU:

Версия и битность терминала

v.1375, 64-bit

Описание проблемы

После обновления последнего билда агенты замирают после прохождения первых 1900-2100 проходов при оптимизации. До обновления все проходило нормально, все параметры и код эксперта остались прежними. 

Последовательность действий

Запускается оптимизация. Брокер Открытие. Реальный счет. Инструменты: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (другие не пробовал). Интервал месяц, минутки, 15 минутки. Цены окрытия или OHLC.

Полученный результат

Агенты-локальные и удаленные после 2000 проходов фактически замирают, проц грузится, изменения примерно 0.01 процента в 10 минут. 14 агентов.

Ожидаемый результат

Прохождение оптимизации как при предыдущем билде.

Дополнительные сведения

О себе: программист .net, MQL 5, со стажем


Логи смотрел, везде. Сравнил с логами предыдущего билда. Никаких проблем или ошибок там нет. Качество истории хорошее.

Такое поведение наблюдается с любым экспертом?

Логи все-таки не помешают. Оформите тикет в сервисдеск.

 
Тестировал только свои эксперты. При предыдущем билде они оптимизировались нормально.

Заявку в сервисдеск оформил. Поверьте, в логах нет ничего необычного (смотрел логи предыдущего и текущего билда).
 
Alexey Da:

Логи терминала - хорошо, более интересны логи тестера стратегий и агентов тестирования.

+ приложите в ваш тикет хотя бы EX5 вашего эксперта (удалим после исследований) + описание используемых при оптимизации параметров.

Хорошо, спасибо
Причина обращения: