Ошибки, баги, вопросы - страница 1710

 
Slawa:

На второй картинке после короткого имени индикатора LastData нет последних рассчитанных данных. Тогда как они есть на первой картинке 244 -363 и на третьей 247 -409

Это говорит о том, что индикатор на данный момент не посчитан. Он считается, и данные не готовы. Напомню, что индикаторы считаются в отдельном потоке, а не в главном потоке приложения, который отвечает в том числе за отрисовку. Индикаторы считаются на каждом пришедшем тике без исключения.

В процессе двигания графиком мышкой вы захватили вычислительные ресурсы на обработку системных сообщений от мышки (откройте диспетчер задач и посмотрите, как растут проценты цпу в зависимости от интенсивности перемещения мыши). И ваш индикатор просто не успел пересчитаться. Поэтому второй график - пустой.

Все гораздо круче, к сожалению. Индикатор полностью приложил. Ссылка на ветку с подробностями выше.
 
fxsaber:
Все гораздо круче, к сожалению. Индикатор полностью приложил. Ссылка на ветку с подробностями выше.
Отсутствие последних данных рядом с коротким именем, а также отсутствие отрисовки индикатора, явно говорит о том, что на момент отрисовки графика данные индикатора ещё не были готовы, и сам индикатор находился в состоянии расчёта
 
Slawa:
Отсутствие последних данных рядом с коротким именем, а также отсутствие отрисовки индикатора, явно говорит о том, что на момент отрисовки графика данные индикатора ещё не были готовы, и сам индикатор находился в состоянии расчёта
Предоставил полностью короткий исходный код. Я бы рад был, если бы Ваше объяснение было верным. Но Вы можете сами убедиться, запустив индикатор, что дело в другом.
 
Slawa:
Отсутствие последних данных рядом с коротким именем, а также отсутствие отрисовки индикатора, явно говорит о том, что на момент отрисовки графика данные индикатора ещё не были готовы, и сам индикатор находился в состоянии расчёта
Т.е. такое может происходить один раз после нанесения на чарт, так как при повторных действиях данные уже будут подсчитаны, верно?
 
-Aleks-:
Т.е. такое может происходить один раз после нанесения на чарт, так как при повторных действиях данные уже будут подсчитаны, верно?
Нет. Может и не один раз. Вы двигаете график мышкой туда-сюда, а в этот момент приходит тик.
 
Slawa:
Нет. Может и не один раз. Вы двигаете график мышкой туда-сюда, а в этот момент приходит тик.
Я думал, что уже посчитанные данные в графическом буфере не пересчитываются на каждом тике....
 
Slawa:
Нет. Может и не один раз. Вы двигаете график мышкой туда-сюда, а в этот момент приходит тик.
В моем случае мерцание и без двигания мышкой - в окне CTRL+D.
 
Почему на demo.metaquotes.net:443 нельзя открыть демо счет для обновы ?
 
-Aleks-:
Я думал, что уже посчитанные данные в графическом буфере не пересчитываются на каждом тике....

1. Зависит от реализации индикатора. Если написано экономно, то пересчитывается только последнее значение.

2. Если график неподвижен, количество баров не изменилось, то в случае коллизии отрисовывается предыдущий буфер (то есть, пустоты не будет)

 
fxsaber:
Целый день потратил на разборы, ничего не вышло. Максимально упростил код и создал ветку. Прошу помощи!
Сделайте замер выполнения OnCalculate() через GetMicrosecondCount(). Выводите полученное значение в лог. Лучше запоминать максимальное время и выводить в лог только обновление максимума - так нагляднее будет.
Причина обращения: