Может ли OnTimer вызываться реже из-за использования библиотек - страница 2

 

Может, очередь событий переполняется? ChartEvent-ы используются?

Попробуйте запустить 10 пустых советников с таймером - будут пропуски?

 
Chart Event используется, но дело не в нем, так как им пользуются редко а тормоза возникают сами собой когда сервером никто не пользуется.
зацикленный тестовый советник рядом работает хорошо, без задержек, т.е. сам он не виснет когда все виснет. 
У него также задержка в 50 милисекунд между циклами. 
 
Nikolay Khrushchev:
Chart Event используется, но дело не в нем, так как им пользуются редко а тормоза возникают сами собой когда сервером никто не пользуется.
зацикленный тестовый советник рядом работает хорошо, без задержек, т.е. сам он не виснет когда все виснет. 
У него также задержка в 50 милисекунд между циклами. 

VPS? Если да, то вот он и ответ.
 

Из библиотек подключены kernel32.dll и user32.dll - работа с буфером обмена. И еще одна библиотека которую сделал другой программист. Вот в ней то и есть сомнения. 

this

более чем вероятно что советники (которые работают в разных тредах), просто не поделили один глобальный ресурс и все встало клином пока кто-то не отвалил по таймауту.

 
Ihor Herasko:

VPS? Если да, то вот он и ответ.
выделенный сервер dell 
 
Maxim Kuznetsov:

this

более чем вероятно что советники (которые работают в разных тредах), просто не поделили один глобальный ресурс и все встало клином пока кто-то не отвалил по таймауту.

попробую временно убрать, но врятли. обращение к буферу обмена происходит только когда это нужно пользователю (он кликает для копирования информации в определенном месте, притом нужен двойной клик.
сам советник в своей работе буфер обмена не использует.
 

Может помочь"повышение приоритета процесса" для терминала. Гуглите. Делается на свой страх и риск.

Мне помогло.

 
Nikolay Khrushchev:  тормоза возникают сами собой когда сервером никто не пользуется.
Зависание может происходить из-за вызова определенных индикаторов функцией iCustom. Такие индикаторы при установке на график вызывают задержку порядка секунд. Все графики, в том числе и тиковые, встают - это идет расчет баров истории. Потом все начинает нормально работать. Посмотрите загрузку ядер процессора. Когда система 32-разрядная, 4 ядра и загрузка процессора 25%, то одно ядро загружено полностью и начинаются тормоза.
 
Тормоза действительно возникают при вызове таких индикаторов через функцию iCustom - в мт4 индикатор каждый раз загружается в память и выполняется
 

добрый день.
мы имеем следующую иерархию
1терминал
2советник
3индикаторы которые вызывает советник.
все события в советнике вызываются терминалом, OnTick(), OnTester(), OnTimer() и другие по разным условиям и событиям терминала.
индикаторы могут тормозить работу советника, советник может тормозить работу терминала.
как следствие нужно рассматривать взаимодействие всей системы в целом, включая все индикаторы, советники, графики, объекты и так далее добавив в этот список работу тестера в момент глюков.

с уважением.

P.S.  я бы начал с одного графика, одного советника и смотрел на результат. если глюков нет, идем дальше(подключаем что то еще) до того момента как он возникнет. если он есть изначально при одном графике и одном советнике, искать будет уже легче. для начала можно попробовать вообще кинуть советник который будет выводить в миллисекундах разницу между вызовами в принт без каких либо премудростей.