Ошибки, баги, вопросы - страница 1337
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
На символах BR-8.15 и BR-10.15 глючит, остальные периоды BR - нормально.
build 1150 real открытие win7 x64 максимальная
Видеофайлы .mp4 в прицепе.
+ на периоде M1 (например)
Если отжать кнопку - "автопрокрутка графика к концу с приходом новых тиков" - график смещается в начало
затем если нажать клавишу "END" график на секунду перемещается в конец и опять - график смещается в начало.
Как-то раньше не заострял внимание, но сейчас при работе с большими массивами объектов классов обратил внимание на черезчур большой расход памяти. Проверил по sizeof() - абсолютно пустой класс занимает 16 байт. А учитывая, что классы тут управляемые, то добавляем ещё 8 байт на указатель. Итого 24 байт. Как-то черезчур накладно.
Залез в документацию и вот что там обнаружил:
Спрашивается: зачем в простых классах (не участвующих в наследовании) нужна таблица виртуальных функций? Ведь об этих классах всё известно на этапе компиляции.
Выходит, что методы в них вызываются точно так же, как и виртуальные методы, т.е. идёт дополнительное перенаправление доступа по таблице. И где же хвалёная оптимизация компилятора? Как можно после этого заявлять о каком-то сравнении производительности с С++?
Кроме того, MQL, некоторые виртуальные вызовы выполняет как вызов обычной функции, не через таблицу.
Как написал Ренат, классы в MQL действительно всегда имеют виртуальную таблицу, которая занимает 8 байт + 8 байт метаинформации.
Разработчики не без юмора
По мне так загрузка, а "Закачка" что то типа качать дерево в право или лево.
Выделенное предположение неверно, через таблицу вызываются только виртуальные методы и моё утверждение верно не только для MQL компилятора.
Кроме того, MQL, некоторые виртуальные вызовы выполняет как вызов обычной функции, не через таблицу.
Как написал Ренат, классы в MQL действительно всегда имеют виртуальную таблицу, которая занимает 8 байт + 8 байт метаинформации.
Благодарю за ответ. Но всё же не могли бы вы пояснить, зачем простому классу, ни от кого не наследуемому, а следовательно не участвующему в виртуализации, нужна таблица? Ренат упоминал про виртуальные деструкторы, но в рассматриваемом случае ведь виртуализировать нечего. Деструктор всего один, поэтому его тоже можно заинлайнить, разве нет? Тем самым оставив лишь 8 байт метаданных.
Исполняющая система(окружение MQL программы) построена с учётом того, что класс занимает минимум 16 байт.
билд 854 винда 10 64 х
при тестировании советников с визуализацией при попытке закрыть любое другое ранее открытое окно, кроме текущего рабочего с тестом, тестирование прерывается ...
Опробавано закрыте через среднюю клавишу мыши и через контекстное меню ...
билд 854 винда 10 64 х
при тестировании советников с визуализацией при попытке закрыть любое другое ранее открытое окно, кроме текущего рабочего с тестом, тестирование прерывается ...
Опробавано закрыте через среднюю клавишу мыши и через контекстное меню ...
Не воспроизводится.
Стабильное воспроизведение? Если да, то более подробно опишите шаги для воспроизведения.
Не воспроизводится.
Стабильное воспроизведение? Если да, то более подробно опишите шаги для воспроизведения.
Запустил советник с визуальным тестированием, хочу закрыть старые окна, не зависимо от того началось тестирование или еще подготавливается при попытке закрыть старые окна тестирование прекращается,
могу записать минутное видео.