Не помню, с какого билда. Пришлось в Virtual переделывать - достиг заметного ускорения.
Про это в книге тоже написано в разделе про указатели. Дело в том, что сравнение с NULL не эквивалентно if(ptr).
Сравнение с NULL тупо проверяет на ненулёвость (как число, и всё), но не гарантирует правильность (валидность) ссылки.
Проверка if(ptr) эвивалента if(CheckPointer(ptr) != POINTER_INVALID), то есть выполняет важную дополнительную работу и гарантирует работоспособность программы.
Так что решайте сами, что важнее - повысить быстродействие за счет потенциального падения программы или оставить её чуть более медленной, но надежной.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
из библиотеки экспортируются функции-фабрики, возвращающие указатель на объект
Возможно, дадите ответы на два вопроса по библиотекам: первый, второй.
С библиотеками никогда не работал, первый блин с ними - MT4Orders.
Мне надо как-то из MT4Orders суметь сообщить, что MT4Orders встроена в советник в виде mqh или ex5. Не смог придумать, как это сделать.
ЗЫ Для запуска EX5 в других терминалах использовал такую идентификацию библиотек.
Но это другая тема.Видимо, есть какая-то общая таблица указателей на весь Терминал, что получается работать с передачей указателей из одного EX5 в другой.
Я в этом сомневаюсь, библиотека ex5 работает в том же потоке, что и основной ex5.
Таким образом, указатели являются общими не для Терминала, а для каждого потока.
Я в этом сомневаюсь, библиотека ex5 работает в том же потоке, что и основной ex5.
Таким образом, указатели являются общими не для Терминала, а для каждого потока.
Возможно, Вы правы.
при одинаковой сборке МТ5 4885 в редакторе 2 разных стиля оформления, где это выбирается? это на одном компьютере Windows 10
Это медленнее работает, чем
Не помню, с какого билда. Пришлось в Virtual переделывать - достиг заметного ускорения.
Про это в книге тоже написано в разделе про указатели. Дело в том, что сравнение с NULL не эквивалентно if(ptr).
Сравнение с NULL тупо проверяет на ненулёвость (как число, и всё), но не гарантирует правильность (валидность) ссылки.
Проверка if(ptr) эвивалента if(CheckPointer(ptr) != POINTER_INVALID), то есть выполняет важную дополнительную работу и гарантирует работоспособность программы.
Так что решайте сами, что важнее - повысить быстродействие за счет потенциального падения программы или оставить её чуть более медленной, но надежной.
Возможно, дадите ответы на два вопроса по библиотекам: первый, второй.
Мне надо как-то из MT4Orders суметь сообщить, что MT4Orders встроена в советник в виде mqh или ex5. Не смог придумать, как это сделать.
Ответил там. По поводу инлайнинга экспортируемых функций ничего не знаю - не задавался этим вопросом.
Доп. информация по поводу проблемы с запуском под wine:
https://www.mql5.com/ru/forum/10113/page12#comment_56404046
Сомнительная стилизация от встроенного стилизатора
Баг (или фича) найден пользователем @c327515.

ссылка на его тему
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2025.04.09 17:59
Недокументированный DEAL_TYPE: so compensation.