Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
С выводом в комментарий: Завершено за 221079 ms
Если вместо комментария x++: Завершено за 16 ms
Тип ЦП QuadCore Intel Core 2 Quad Q6600, 2400 MHz (9 x 267)
Системная память 2048 Мб (DDR2-800 DDR2 SDRAM)
Это СКРИПТ.
Симптомы те же. В нижних строках - "нетронутый", в верхних строках "потроганный".
в тестах - если советник отлажен для скорости при оптимизациях разумно конечно отключать распринтовку и коменты
и тут очень бы помогла условная компиляция которой увы нет в MQL4
и я так понимаю что увы ее не включат в MQL5
пока приходится лазить по тексту и вырубать
Зачем условная компиляция и зачем что-то вырубать, если есть функция IsTesting()?
Ну никак не получается больше 100-200 миллисекунд на 10 000 выводов Comment. И так пробовал и этак...
Вероятно, что у вас на машине появление окна алерта и перерисовка экрана как раз и занимает то самое время, за которое цикл успевает прогнаться. В результате вы скорее всего не видите вывода всех цифр на экран. Например у меня лично отсчет в углу экрана иногда появляется не с начала, а с 3000 итерации. Получается, что до 3000 итерации экран "занят" выводом того самого алерта и перерисовкой.
При обновлении окна графика когда перемещаешь окно алерта по экрану, функция коммент игнорируется. И вычисления проходят довольно быстро. Если же нет, то вызов коммента долгая вещь..
sergeev, возьмите указанный мною код, поместите его в скрипт (именно в скрипт, а не эксперта), однократно бросьте на график, а потом опубликуйте результат.Ну не совсем уж я такой (.)(.), чтоб скрипт не отличать от эксперта. Результат вы мой видели.
Вероятно, что у вас на машине появление окна алерта и перерисовка экрана как раз и занимает то самое время, за которое цикл успевает прогнаться. В результате вы скорее всего не видите вывода всех цифр на экран. Например у меня лично отсчет в углу экрана иногда появляется не с начала, а с 3000 итерации. Получается, что до 3000 итерации экран "занят" выводом того самого алерта и перерисовкой.
При обновлении окна графика когда перемещаешь окно алерта по экрану, функция коммент игнорируется. И вычисления проходят довольно быстро. Если же нет, то вызов коммента долгая вещь..
Наверное, это близко к истине. "Перескакивание" отображаемой цифры происходит также при скрытом окне Алерта и двигании графика мышкой вправо-влево. Т.е. можно предположить, что ускорение достигается в случаях, когда терминал занят другими процессами, при которых графический вывод Comment не происходит. Но это - только домыслы.
Но это - только домыслы.
с 99% вероятности.
Атлон х2 6000+, 1Гб (эксперт)
Сдается мне, что sergeev тестировал не скорость выполнения функции Comment(), а скорее свою видеокарту. Ибо функция Comment() при обычной работе вызывает принудительную перерисовку активного окна. В результате работы этого скрипта приходится смотреть на 10 000 перерисовок экрана, а не на фактическое присвоение какой-то простой строки в поле коммента.
Специально прогнал тест на старом ноутбуке со слабым процессором и слабой видеокартой (Windows XP, одноядерный мобильный проц T1350 1.86Ghz, RAM 512Mb, встроенное интеловское видео) и получил видимость смены номеров комментов в окне и время на уровне 31 700 миллисекунд. Потом скопировал полностью каталог терминала на другой старый компьютер (Windows XP, P4 3.4Ghz, RAM 2Gb, видео ATI 9600/X1050), запустил на том же графике тот же скрипт и получил 93 миллисекунды.
Вот и объяснение - на встроенных видеокартах функции отрисовки экрана тормозят из-за отсутствия аппаратной ускорения.
На всякий случай повторю еще раз: