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

 
Alexey Da:

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

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

С телефона логи и файлы пока не могу прикрепить. Параметров оптимизации около 500. Значение параметров от 0 до 2. 2000 итераций пролетают махом. Потом все медленно. При предыдущем билде прошло 120.000 проходов за сутки.
 
Alexey Navoykov:

...Иначе как объяснить тот факт, что абсолютно пустой скрипт, имеющий лишь функцию ОnStart() { }, компилируется более 400 мс!  

Я конечно не пишу компиляторы, но уверен что просто напросто есть некоторый минимум, который вообще не зависит от объёма проекта. Это как вызвать такси и доехать до следующего подъезда - вроде двинулся на пару метров, в деньгах на пару копеек, но минимальная цена подачи в 200р тоже может вызвать вопрос - тут же ехать на копейки, за что ?!
 
Alexey Oreshkin:
Я конечно не пишу компиляторы, но уверен что просто напросто есть некоторый минимум, который вообще не зависит от объёма проекта. Это как вызвать такси и доехать до следующего подъезда - вроде двинулся на пару метров, в деньгах на пару копеек, но минимальная цена подачи в 200р тоже может вызвать вопрос - тут же ехать на копейки, за что ?!
Ну с появлением Яндекс такси и аналогичных сервисов это уже несколько смягчилось. Да и эти цифры вполне в рамках разумного, всем ведь кушать надо. А вот приведённые мной цифры явно не адекватны сложности выполняемой задачи.
 
Alexey Navoykov:

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

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

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

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

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

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

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

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

Дело в сложных конструкциях, о частой неработе которых Вы иногда сообщаете здесь, как о баге. Если их не использовать, то время существенно сократится. Например, ВСЕ коды в кодобазе компилируются существенно быстрее, чем 20 секунд. Пустышка у меня 1368 билд на очень медленно ноуте компилируется десятки мс. Дайте код для воспроизведения.
 
coderex:
вот поэтому и не пытаюсь более что либо доказывать, к тому же проекты на плюсах собираются гораздо дольше, правда они гораздо и больше, но я привык к сборкам на плюсах по нескольку минут на исполняемый либо библиотечный файл, а на проект из нескольких файлов со структурой каталогов до нескольких десятков минут :) и подождать 10-20 секунд не проблема...
страшно представить сколько бы такой проект собирался в MQL.  Да и в полноценных IDE есть разные режимы компиляции. Вы наверно имеете ввиду релизную сборку,  тогда как большую часть времени нам достаточно дебаг. Но в МТ хрен дождёшься такого.
Плюс там используются предкомпилированные файлы, поэтому последующие сборки будут явно быстрее
 
fxsaber:
Дело в сложных конструкциях, о частой неработе которых Вы иногда сообщаете здесь, как о баге. Если их не использовать, то время существенно сократится. Например, ВСЕ коды в кодобазе компилируются существенно быстрее, чем 20 секунд. Пустышка у меня 1368 билд на очень медленно ноуте компилируется десятки мс. Дайте код для воспроизведения.
Насчёт ВСЕХ кодов - вы не погорячились? Откуда такая уверенность? Вы их все пробовали?
А что касается сложных конструкций - это лишь ваши домыслы. Что там сложного?  Они если и могут представлять какую-то сложность, то лишь на этапе синтаксической проверки, а она выполняется мгновенно. Это видно например по компиляции mqh, где исполняемого кода не создаётся.  Так вот после этой проверки все кажущиеся сложности  в синтаксических конструкциях уже разрулены, компилятор чётко знает что куда. Дальше начинается этап оптимизации исполняемого кода. Так вот затык именно с этим.
Ок, как буду у компа, дам какой-нибудь код для воспроизведения.  Но меня уже смущают ваши рассказы про десятки мс на слабом железе.  Мы точно об одинаковых вещах говорим?  Файл скрипта .mq5?  И какой у вас процессор?
 
-Aleks-:
Ссылка не дает интересующей информации -будьте конкретней.

Сложно догадаться открыть первую страницу темы на которой в первом сообщении есть две фотографии???

https://www.mql5.com/ru/forum/88768

Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
Крупнейшие брокеры отмечают взрывной рост популярности MetaTrader 5
  • отзывов: 1
  • www.mql5.com
Недавно один из национальных брокеров России Solid Financial Services запустил торговую платформу MetaTrader 5 с хеджинговой системой учета позиций...
 
Alexey Viktorov:

Сложно догадаться открыть первую страницу темы на которой в первом сообщении есть две фотографии???

https://www.mql5.com/ru/forum/88768

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

Однако, стимула переписывать весь код (в том числе тратить дополнительно не малые деньги на переписку сложного кода) увы нет.

 
-Aleks-:

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

Однако, стимула переписывать весь код (в том числе тратить дополнительно не малые деньги на переписку сложного кода) увы нет.

Тогда зачем было придумывать такие причины? Можно ведь просто сказать НИХАЧУ И НЯБУДУ...

Если нет таких денег чтобы торговать на долларовом счёте, то какие ограничения количества ордеров и объёмов могут напрягать??? Странно всё это.

 
Alexey Viktorov:

Тогда зачем было придумывать такие причины? Можно ведь просто сказать НИХАЧУ И НЯБУДУ...

Если нет таких денег чтобы торговать на долларовом счёте, то какие ограничения количества ордеров и объёмов могут напрягать??? Странно всё это.

Хочу и буду - уже заказал класс по работе с ордерами - так, как мне удобно - жду к концу года его появление.

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