Забавная, однако, приблуда! Должно быть и вправду очень полезная.
Только не совсем понятна проблема, отсюда и как пользоваться кодом.
Я правильно понял:
Исследуемый код надо поместить внутрь цикла?
И если в ходе его работы будут возникать логические ошибки, то резкое падение кол-ва итераций?
А в каких ситуациях эти ошибки возможны?(просто я не писал еще достатоточно больших и сложных программ).
С уважением,
Владимир
P.S. У меня вот 50-60 все время кажет?
Здравствуйте SK!
Забавная, однако, приблуда! Должно быть и вправду очень полезная.
Только не совсем понятна проблема, отсюда и как пользоваться кодом.
Я правильно понял:
Исследуемый код надо поместить внутрь цикла?
И если в ходе его работы будут возникать логические ошибки, то резкое падение кол-ва итераций?
А в каких ситуациях эти ошибки возможны?(просто я не писал еще достатоточно больших и сложных программ).
С уважением,
Владимир
В общем-то, правильно, но наоборот. В исследуемый зацикленный
код нужно поместить эту приблуду (но без цикла внутри, конечно).
Я оформил представленный код в виде функции и запускаю её в конце каждого большого цикла большой программы. А здесь, на форуме, нет необходимости приводить весь код, поэтому здесь представлен упрощённый вариант, в виде эксперта, который ничего не вычисляет, а только то и делает, что считает итерации. Можно запускать и как скрипт.
В моём коде критичным является время, затрачиваемое на перерисовку экрана (для моментального отображения граф. объектов в изменённых координатах), поэтому возникает опасность вставить перерисовку куда не попадя, тогда колич. итераций падает и я вижу, что пошла ошибка. Другим пользователям будет интересно посмотреть как ведёт себя показометр при перекл. ТФ, при том или ином количестве открытых фин. инструментов, а также при простом движении мыши.
Кстати, когда пошли котировки, проблема со Скайпом ушла. Видимо, это явление можно наблюдать только в выходные, когда нет котировок. Сейчас стабильно держится 400-420.
В общем-то, правильно, но наоборот. В исследуемый зацикленный
код нужно поместить эту приблуду (но без цикла внутри, конечно).
Мне, пока навряд ли понадобится, но инструмент хороший и под рукой всегда должен быть.
С уважением,
Владимир
Кстати, когда пошли котировки, проблема со Скайпом ушла. Видимо, это явление можно наблюдать только в выходные, когда нет котировок. Сейчас стабильно держится 400-420.
Насколько я понимаю, все-таки это проблема (если проблема) не со Скайпом. :-) Даже если явление исчезло когда пошли котировки, то все равно его наличие означает, что где-то что-то не так. Или что мы чего-то не знаем и потому что-то не так делаем. У меня Скайпа нет, поэтому поучаствовать в эксперименте не могу, однако, когда-то давно я обратил внимание, что при торможении в работе МТ запуск других программ, активно использующих Интернет, как бы проталкивает затор. Подчеркну - это было мое устойчивое ощущение, не факт. А доказать это на цифрах руки не дошли.
Интересно, эта ваша зацикленная программа оформлена как эксперт или как скрипт ?
Интересно, эта ваша зацикленная программа оформлена как эксперт или как скрипт ?
Как эксперт. Полноценный - с возможностью тестирования, перекл. ТФ, настройками и пр. Прообраз можно посмотреть на моём сайте.
Интересно, эта ваша зацикленная программа оформлена как эксперт или как скрипт ?
Как эксперт. Полноценный - с возможностью тестирования, перекл. ТФ, настройками и пр. Прообраз можно посмотреть на моём сайте.
Может быть попробовать запустить его как скрипт, благо переделка элементарна. Смысл - если тормозить перестанет, то надо полагать проблема во взаимодействии терминала с тиковым потоком. То есть или что-то там не так работает, или мы чего-то важного об этом процессе не знаем.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Работаю над зацикленной программой. Одним из требований является экономный код, а количественным показателем - количество итераций в секунду. Любая логическая ошибка приводит к снижению колич. итераций. Для возможности постоянного контроля я сделал небольшую функцию - эдакий графический индикатор. Точка показывает моментальное изменение количества итераций (обновляется каждые 0.5 сек), а крестик - среднее значение за последние 10 сек.
Обычно этот показометр показывает 400-450 итераций. А сегодня утром - как бы ни с того ни с сего - всего 60. Это меня немало озадачило, т.к. последние изменения вносились в программу накануне вечером и всё было нормально. Анализ кода никаких результатов не дал. Однако, когда я включил Skype, показометр резко подскочил до обычных значений. Для полноты эксперимента я переписал функцию показометра в виде отдельной программы. И стал запускать при работающем Скайпе и при неработающем. Оказалось, что явление устойчивое.
На первой из приведенных картинок Скайп работает. Показометр показывает чуть меньше 500 итераций в сек (нормальное значение).
На второй картинке Скайп отключён. Точка моментально ушла на 60-70. Снимок сделан в момент, когда крестик "тянется" к точке, через несколько секунд он туда пришёл.
Если бы посторонняя программа тормозила МТ, это было бы понятнее, а в данном случае - наоборот.
Всем, кому это интересно, предлагаю повторить эксперимент на Вашем ПК, в сочетании со Скайпом и другими программами.