Ошибки, баги, вопросы - страница 2472
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Создаю кастомный символ и заполняю его дневными барами за 25 лет, это должно весить примерно 400 кб. Однако в папке символа создаются .hcc файлы суммарным размером 15 мб! И вдобавок всё это занимает около 20 секунд! Ни в какие ворота не лезет... Как это можно объяснить?
С удивлением обнаружил возможность объявления typedef с указателем на шаблонную функцию.
Однако счастье не оказалось долгим.
За последнее время предоставлено информацию о десятке "особенностей" работы и багов в МТ.
Как узнать стоит ждать их исправление или нет?
Прошу не предлагать тестить все каждый раз при выходе нового билда.
# (не исправлено в MT5(build 2057)) "Тестер стратегий: запланировано 2 прохода, но на практике бесконечное число проходов > 900шт из-за ошибки "OnInit critical error"".
# (не исправлено в MT5(build 2057)) "Некорректное значение поля размер массива в рамках работы дефолтного оператора присваивания для структур с динамическими массивами".
# (не исправлено в MT5(build 2057)) "Компилятор не видит дефолтный конструктор копирования для класса при возвращении объекта класса по значению из функции".
# и # (не исправлено в MT5(build 2057)) "Ошибка компиляции при выполнении type cast "самого в себя" для шаблонных классов и "сложных" структур".
# (не исправлено в MT5(build 2057)) "При работе с typedef использование шаблонной функции с явной специализацией не вызывает генерацию кода этой шаблонной функции".
# (не исправлено в MT5(build 2057)) "Ошибка компиляции при повторном использовании одной и той же сигнатуры функции в рамках typedef".
# (не исправлено в MT5(build 2057)) "Значительная часть функций для работы со строками не работает с NULL символами в строке (например: ShortArrayToString, StringInit, StringFill)".
# (не исправлено в MT5(build 2057)) "Функция StringSetLength работает только в сторону "обрезания" длины строки, но не увеличения".
# (исправлено в MT5(build 2057)) "Тестер стратегий: запуск 750 процессов "metatester64.exe"".
# "Форум www.mql5.com, при правке сообщения с картинкой, предыдущая картинка не заменяется на новую".
Предложения:
# "Предоставить пользователю возможность принудительной генерации/удаления кода для оператора присвоения (конструктор копирования) по умолчанию".
# "Разрешить функции ArrayCopy копировать классы и "сложные" структуры, аналогично тому как структуры предоставляют функционал deep copy для любого типа объекта".
# "Предоставить пользователю функционал для чтения/установки значения Capacity при работе с динамическими массивами"
# "Изменения по улучшению инфографики сервиса "Сигналы""
О чем я и говорил
Шаблонный typedef и использование typedef в шаблонном классе - это разные вещи.
Второй вариант рабочий, но возникает проблема с перекрытием пространства имен при повторном использовании шаблонного класса с другим типом.
Создаю кастомный символ и заполняю его дневными барами за 25 лет, это должно весить примерно 400 кб. Однако в папке символа создаются .hcc файлы суммарным размером 15 мб! И вдобавок всё это занимает около 20 секунд! Ни в какие ворота не лезет... Как это можно объяснить?
Посмотрите, что записалось.
Посмотрите, что записалось.
Ну формата hcc я не знаю, поэтому не могу проверить, что там в файле. А в терминале показывает дневные бары. При переключении на меньший таймфрейм вижу те же самые бары. Cудя по всему, он ВСЕ таймфреймы тоже сохраняет в файл изначально, так чтоль... Я полагал, сохраняются только минутки, из которых потом уже синтезируются все остальные таймфреймы. А число минутных баров, как уже сказано, совпадает с дневками, т.е. всего имеется около 7000 минутных баров.
Т.е. у меня такое предположение, что он сохраняет в файл 7000*М1, 7000*М2, 7000*М3 и т.д. вплоть до 7000*D1, тогда наверно и накрутит 15 Мб в итоге. Если так, то это бред полнейший. Но даже учётом этого непонятно, почему оно затрачивает аж 20 секунд! Поправочка: около 5 секунд (20 - это при обновлении имеющейся истории).
Что-то сломалось на сайте форума: не вижу своих последних сообщений.
Например, это и это отсутствуют во "Всех сообщениях"
И вроде раньше рейтинг был более 6000 еще несколько месяцев назад. Хотя не знаю - может рейтинг может уменьшаться со временем от меньшей активности.
На текущий момент не возможно использовать статическую переменную, объявленную внутри шаблонного класса.
С внедрением пространства имен, данное ограничение можна будет обойти?
На текущий момент не возможно использовать статическую переменную, объявленную внутри шаблонного класса.
С внедрением пространства имен, данное ограничение можна будет обойти?
Дело не в переменной. Он класс BB не видит. Его нужно вынести за пределы класса B как template<typename T> class BB;
Дело не в переменной. Он класс BB не видит. Его нужно вынести за пределы класса B как template<typename T> class BB;
Пост был адресован разработчикам, что бы если будет их воля "нашаманили" поддержку с коробки.
Повторюсь, проблема касается не возможности использовать статическую переменную, объявленную внутри шаблонного класса.
Что предложите делать в случаи с typedef: