Ошибки, баги, вопросы - страница 1710
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
На второй картинке после короткого имени индикатора LastData нет последних рассчитанных данных. Тогда как они есть на первой картинке 244 -363 и на третьей 247 -409
Это говорит о том, что индикатор на данный момент не посчитан. Он считается, и данные не готовы. Напомню, что индикаторы считаются в отдельном потоке, а не в главном потоке приложения, который отвечает в том числе за отрисовку. Индикаторы считаются на каждом пришедшем тике без исключения.
В процессе двигания графиком мышкой вы захватили вычислительные ресурсы на обработку системных сообщений от мышки (откройте диспетчер задач и посмотрите, как растут проценты цпу в зависимости от интенсивности перемещения мыши). И ваш индикатор просто не успел пересчитаться. Поэтому второй график - пустой.
Все гораздо круче, к сожалению. Индикатор полностью приложил. Ссылка на ветку с подробностями выше.
Отсутствие последних данных рядом с коротким именем, а также отсутствие отрисовки индикатора, явно говорит о том, что на момент отрисовки графика данные индикатора ещё не были готовы, и сам индикатор находился в состоянии расчёта
Отсутствие последних данных рядом с коротким именем, а также отсутствие отрисовки индикатора, явно говорит о том, что на момент отрисовки графика данные индикатора ещё не были готовы, и сам индикатор находился в состоянии расчёта
Т.е. такое может происходить один раз после нанесения на чарт, так как при повторных действиях данные уже будут подсчитаны, верно?
Нет. Может и не один раз. Вы двигаете график мышкой туда-сюда, а в этот момент приходит тик.
Нет. Может и не один раз. Вы двигаете график мышкой туда-сюда, а в этот момент приходит тик.
Я думал, что уже посчитанные данные в графическом буфере не пересчитываются на каждом тике....
1. Зависит от реализации индикатора. Если написано экономно, то пересчитывается только последнее значение.
2. Если график неподвижен, количество баров не изменилось, то в случае коллизии отрисовывается предыдущий буфер (то есть, пустоты не будет)
Целый день потратил на разборы, ничего не вышло. Максимально упростил код и создал ветку. Прошу помощи!