Новая версия платформы MetaTrader 5 build 2755: Улучшения в окне котировок и отладчике - страница 18
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нашёл новый профилировщик совершенно бесполезным. Старый, возможно, имел неточности замера и влиял на исполнение кода, но давал много информации о времени исполнения операторов. Новый не показал ни одного оператора, а показал от 1 до 3 функций, первый из которых якобы имеет активность 100%, при том, что есть много функций гораздо более прожорливых. Основное время съедает iCustom, но об этом молчок.
Код старого профилировщика вырезан, или есть возможность его активировать?
Нашёл новый профилировщик совершенно бесполезным. Старый, возможно, имел неточности замера и влиял на исполнение кода, но давал много информации о времени исполнения операторов. Новый не показал ни одного оператора, а показал от 1 до 3 функций, первый из которых якобы имеет активность 100%, при том, что есть много функций гораздо более прожорливых. Основное время съедает iCustom, но об этом молчок.
Код старого профилировщика вырезан, или есть возможность его активировать?
Код старого профилировщика вырезан
Возможно, что Вы недостаточное время тестировали код, чем больше данных соберёт новый профилировщик, тем точнее будет информация по затратам.
Код старого профилировщика вырезан
Возможно, что Вы недостаточное время тестировали код, чем больше данных соберёт новый профилировщик, тем точнее будет информация по затратам.
Я об этом уже читал, поэтому тестировал эксперт на истории за 21 год OHLC M1. Это заняло около 3 минут. Как его тестировать больше? Нельзя же зациклить.
И смущает, что нет ни одного вызова или оператора. Только сами тела функций. Должны появляться?
Это ещё не конец. После завершённого до конца профилирования отладчик вообще перестал работать. Появляется сообщение "failed to load debug symbols" и идёт визуализация без остановок на BreakPoint. Не помогает ни удаление ex5, ни промежуточная перекомпиляция в Release, ни перезагрузка эксперта, ни компьютера (по другому поводу).
PS: отладчик перестал работать только на этом эксперте.
На примере такой конфигурации (кстати, эти трои строки Вы просто обязаны вставлять в пост)
Также при отладке нужно думать, какое значение Вы отслеживаете.
На примере индикатора [data folder]\MQL5\Indicators\Examples\Accelerator.mq5, ставим точку останова в начале OnCalculate и ставим в отслеживание два значения: time[0] и time[rates_total-1].
Все работает:
Да действительно на простых небольших индикаторах,скриптах и советниках(не более 400-500строк кода) вы правы все работает как и ранее
если есть #include ... или текст с большим кол-вом строк кода-НЕ ОСТАНАВЛИВАЕТСЯ на точках останова .
вот простой индикатор ColorBBCandles.mq5 Nikolay Kositsine у него есть #include <SmoothAlgorithms.mqh>
ставим точку останова в начале OnCalculate и ставим в отслеживание два значения: time[0] и time[rates_total-1].пишет expression could not be evaluated
до этой версии ведь все большие программы отлаживались ОК.
failed to load debug symbolsведь не только у меня другие тоже пишут
и кроме того опция [сохранять личные настройки и данные при старте] не работает почему?
к выполнению кода претензий нет все работает как и ранее, претензии к отладчику
вот сейчас выкинул весь код(примерно 350 строк) из
OnCalculate и ставим в отслеживание два значения: time[0] и time[rates_total-1].пишет как у ColorBBCandles.mq5 Nikolay Kositsine -- expression could not be evaluated ну хотя бы точки останова стали работать
вы попробуйте тяжелые(много кода свои индикаторы) #include ... не так влияет на отладку
Индикатор Султонова - индикатор для MetaTrader 5
https://www.mql5.com/ru/code/32939 тоже самое как у ColorBBCandles.mq5 Nikolay Kositsine -- expression could not be evaluated у него #include ... нет но много кода2766
Компиляция индикатора привела к тому, что эдитор съел всю свободную оперативку (процессом было занято 7 с чем-то Гб) и виндоуз ругнулся:
Грохнул процесс, запустил заново, еще раз воспроизвелось. Потом начало выдавать "Internal compiler error" (при generating code 22%). Потом иногда опять жрало память.
Вот тако вот выглядит (первый раз увожу мышь, чтобы нажать Cancel, это не помогает, второй раз - жму крестик и "завершить процесс"):
Вот из лога советника после перезапуска терминала:
Код:
Внутри цикла стоит точка останова. Запускаю тестирование на исторических данных ( ), после останова продолжаю по кнопке .
В чем вижу ошибку:
Массив rates, после копирования в него 'count' элементов становится массивом из трех элементов.
В чем вижу ошибку:
При отслеживании значения i-того элемента 'rates[i].time' его значение не отображается. А если сделать двойной клик, то это значение разворачивается как массив.
Спасибо за подробный отчёт об ошибке, исправлено