Ошибки, баги, вопросы - страница 2681
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это Вы у своего брокера спрашивайте, эти данные заполняет брокер...
Ясно, спасибо Владимир.
Стакан не работает в тестере? - ничего не нашел по этому вопросу в справке.
Подписка на стакан MarketBookAdd (Symbol ()) выдает true, но событие OnBookEvent (const string &symbol) не приходит ни разу за весь тест.
Стакан не работает в тестере? - ничего не нашел по этому вопросу в справке.
Подписка на стакан MarketBookAdd (Symbol ()) выдает true, но событие OnBookEvent (const string &symbol) не приходит ни разу за весь тест.
Не работает. И истории стакана нет.
кто-нибудь подскажет, что за ошибка 533?
предположил, что версия, где скомпилировано новее - попросил обновить. не помогло.
кто-нибудь подскажет, что за ошибка 533?
предположил, что версия, где скомпилировано новее - попросил обновить. не помогло.
Нарушена целостность ex5.
Откуда у Вас этот ex5?
Более подробно сможет ответить Ильяс, если Вы ему отошлёте этого эксперта
Нарушена целостность ex5.
Откуда у Вас этот ex5?
Более подробно сможет ответить Ильяс, если Вы ему отошлёте этого эксперта
скомпилировал в билде 2361. на том терминале, где скомпилировано - работает. отправил скайпом другому человеку, чтоб попробовал (без исходника) - ошибка 533.
отослать именно тот не могу - загрузил 2366 и перекомпилировал вновь (с тем же именем). результат пока не знаю, не ответили мне.
добавлено: в скайпе он сохранился. отправлю.
добавлено2: перекомпиляция в 2366 вызывает ту же ошибку. Ильясу отправил исходник и компилированный
Баг МТ5 (build 2367) Не соответствие приоритетов выполнения шаблонных функций в MQL в сравнении с шаблонными функциями в С++ (online: https://onlinegdb.com/B172m1PLL).
Похоже, что в рамках исправления бага, исправлена ошибка компиляции, однако приоритет выполнения перегруженных шаблонных функций так и не приведен к поведению в С++.
Столкнулся с прикольной проблемой. В макрос нельзя передать шаблонный тип с несколькими типами-параметрами, потому что препроцессор не знает, что имеет дело с шаблоном и считает параметры по запятым.
Описание проблемы и её решение для C++ нашел на SO.
Попробовал на MQL, но к сожалению не работает. Компилятор дает ошибку "undeclared identifier" для переменной описываемой переданным типом.
Пока обошелся дополнительным производным классом, но может поправить как в C++?
Oops. Нашел решение. Вот так работает:
#define COMMA() ,Вопрос снимается.Баг МТ5 (build 2367) расположение перегруженных шаблонных функций влияет на результат компиляции.
Изначальный тикет в рамках которого велись работы - https://www.mql5.com/ru/forum/1111/page2655#comment_15119627
С++ online (https://onlinegdb.com/BJzbH2DLL).
Дефекты в работе кеша шаблонной функции/класса:
(исправлено MT5(build 2368)) *** (up) Undefined Behavior, создаешь сложный несколько раз обернутый объект с внутренним типом "С", а там оказывается совсем другой тип данных, может "B", может "int", что хочешь...
(исправлено MT5(build 2368)) * Compile Error, баг при передаче в качестве const ref template аргумента указателя на функцию.
(исправлено MT5(build 2368)) * Compile Error, объект B<int> можно создать после объекта класса B<void*>, но если сделать это перед, то возникает ошибка компиляции.
Дефекты в работе шаблонной функции/класса:
(исправлено MT5(build 2368)) *** (up) Compile Error, баг внутри шаблонной функции, переданный указатель в рамках операции явного приведения типа ведет себя как класс в остальных случаях - как указатель.
(исправлено MT5(build 2368)) ** (up) Compile Error, баг при попытке доступа к internal class для шаблонного параметра шаблонной функции.
(не исправлено MT5(build 2368)) *** Compile Error, Основная претензия к неуместному выводу warning - "deprecated behavior, hidden method calling will be disabled in a future MQL compiler version". Текущая реализация - это стрельба с пушки по воробьям.
(не исправлено MT5(build 2368)) ** Compile Error, баг касается возвращаемого значения шаблонной функции, когда возвращаемое значение - internal class, расположенный внутри шаблонного класса, тип параметра которого задается типом аргумента шаблонной функции.
(не исправлено MT5(build 2368)) ** Compile Error, баг связанный с пространством имен и области видимости в шаблонном конструкторе при вызове базового класса, когда используется одно и то же имя класса при наследовании и в internal class.
(не исправлено MT5(build 2368)) * Compile Error, баг при вызове шаблонной функции с явным указанием типов аргументов, когда вызов выполняется из перегруженной нешаблонной функции.
(не исправлено MT5(build 2368)) Compile Error, баг при определении internal class - отсутствует возможность явно сослаться на глобальное пространство имен при указании базового класса.
(исправлено MT5(build 2368)) ** Compile Error, баг с генерацией кода шаблонного класса при использовании internal class.
(исправлено MT5(build 2368)) * Compile Error, баг при генерации шаблонного метода/класса, процесс "автозамены" шаблонного параметра выходит за пределы скоупа в основной код программы.
(исправлено MT5(build 2368)) * Compile Error, баг с отсутствием автоматической генерации кода шаблонного класса, когда шаблонный класс выступает в качестве return value для шаблонного метода.
(исправлено MT5(build 2368)) * Compile Error, баг при передаче internal struct в шаблонную функцию, полученный тип данных невозможно использовать как базовый тип данных для другой internal struct в шаблонном классе.
(исправлено MT5(build 2368)) * Compile Error, не выполняется проверка на наличие повторно использованных имен шаблонных типов при объявлении шаблонной функции внутри шаблонного класса, что приводит к неожидаемому поведению.
(исправлено MT5(build 2368)) Compile Error, множество дефектов связанных с return "in place created" object, когда объектом выступает шаблонный класс/структура.
(не исправлено MT5(build 2368)) * (It's not a bug, it's a feature) в конструкторе базового класса невозможно выполнить explicit typecast по приведению указателя на объект базового класса к указателю на родительский класс.
Дефекты связанные с несоответствием приоритетов вызовов перегруженных функций в MQL в сравнении с С++:
(исправлено MT5(build 2368)) ** (up) Compile Error, приоритет вызовов перегруженных шаблонных функций в действительности зависит от типа шаблонного параметра, который, в теории ни как не должен влиять на результат компиляции.
(исправлено MT5(build 2368)) ** (up) Compile Error, когда первая из перегруженных шаблонных функций использует полностью специализированный шаблонный базовый класс, а вторая - неспециализированный шаблонный базовый класс.
(не исправлено MT5(build 2368)) ** Compile Error, при генерации кода шаблонной функции возникает ошибка компиляции несмотря на то, что имеется перегруженная шаблонная функция с подходящей сигнатурой для передаваемых параметров.
(не исправлено MT5(build 2368)) * Compile Error, "ambiguous call to overloaded function" при вызове перегруженных шаблонных функций с разным количеством шаблонных параметров.
(исправлено MT5(build 2368)) *** Compile Error, когда есть наследование классов A <= B <= C <= D и реализованы две overloading функции, например одна c параметра А*, а вторая с B*, то передача в такую функцию объекта C* или D* в MQL вызывает ошибку компиляции "ambiguous call to overloaded function".
(исправлено MT5(build 2368)) ** Runtime, Несоответствие приоритетов для вызовов перегруженных шаблонных функций.
Дефекты связанные с медленным выполнением функций, работой оптимизатора кода:
(исправлено MT5(build 2368)) ** Runtime, большой overhead при добавлении по одному элементу в массив с помощью ArrayResize, не смотря на то, что память для них была заранее зарезервирована, например для структур аж до 7-ми раз медленнее.
Предложения:
(new) ссылка - о внедрении поддержки intellisense для функциональности namespace на основе работы intellisense для статических методов в классах.
ссылка - о предоставлении возможности передавать литералы и временные переменные в виде const ref аргументов функции.
ссылка - при перемещении файлов проекта во вкладке "Project", для перемещаемых файлов, которые открыты и находятся во вкладках ME, автоматически обновлять их путь расположения.
ссылка - о необходимости введения в MQL typedef declaration функциональности.
ссылка - о предоставлении возможности принудительной генерации дефолтных конструкторов копирования и операторов присвоения.