Особенности языка mql5, тонкости и приёмы работы - страница 218

 
Ilyas #:

Спасибо, исправил.

Не могу проверить, потому что:

Ошибка при компиляции

Капитально зависает

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

CHARTEVENT_CHART_CHANGE в MQL5

Ilyas, 2021.12.08 11:02

Подавляющее большинство свойств своего чарта (чарта на котором работает эксперт), запрашиваются в обход очереди сообщений эксперта

Ниже список свойств, которые в любом случае запрашиваются через очередь:

  • CHART_WINDOW_IS_VISIBLE
  • CHART_HEIGHT_IN_PIXELS
  • CHART_WINDOW_TOP 
  • CHART_FIRST_VISIBLE_BAR
  • CHART_PRICE_MIN (при условии, что задано не нулевое подокно)
  • CHART_PRICE_MAX (при условии, что задано не нулевое подокно) 

 
Комментарии, не относящиеся к этой теме, были перенесены в "Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам".
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Nikolai Semko, 2021.12.26 11:17

Что удалось выяснить:

  • при переключении окон ресурс не удаляется
  • при переключении окон происходит событие CHARTEVENT_CHART_CHANGE, так как меняется размер окна на размер окна предыдущих установок размера "не на все окно", т.е. словно окно перешло в такой режим: 
  • целесообразно контролировать активность окна (ChartGetInteger(0, CHART_BRING_TO_TOP)) и выключать формирование битмапа (заполнять канвас) для экономии ресурсов работы процессора в случае неактивности окна


В тестовом индикаторе счетчик сохраняется в ресурсе канваса.


 
Nikolai Semko #:
  • целесообразно контролировать активность окна (ChartGetInteger(0, CHART_BRING_TO_TOP)) и выключать формирование битмапа (заполнять канвас) для экономии ресурсов работы процессора в случае неактивности окна

Далеко не целесообразно,  на самом деле это свойство показывает, что окно находится в фокусе(точнее выбрано). Например, если окна располагаются "мозаикой" и окно находится не в фокусе, то в вашем случае остановится отрисовка этого окна.

 
Yury Kulikov #:

Далеко не целесообразно,  на самом деле это свойство показывает, что окно находится в фокусе(точнее выбрано). Например, если окна располагаются "мозаикой" и окно находится не в фокусе, то в вашем случае остановится отрисовка этого окна.

Ах, ну да.
И насколько я понимаю - не существует способа выяснить развернуто ли какое-то окно на все окно?
 
Nikolai Semko #:
Ах, ну да.
И насколько я понимаю - не существует способа выяснить развернуто ли какое-то окно на все окно?
Есть. В свойствах ищи. Мне с мобильного не удобно. Что-то там с maximized
 
Artyom Trishkin #:
Есть. В свойствах ищите. Мне с мобильного не удобно.
Т.е. Артем, ты хочешь сказать, что существует способ выяснить видимость окна?
Вроде тратил на это время, но решение так и не нашел 
 
Nikolai Semko #:
Т.е. Артем, ты хочешь сказать, что существует способ выяснить видимость окна?
Вроде тратил на это время, но решение так и не нашел 

CHART_IS_MAXIMIZED

Окно графика развернуто

bool r/o

CHART_IS_MINIMIZED

Окно графика свернуто

bool r/o

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
Примеры работы с графиком - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Nikolai Semko #:
существует способ выяснить видимость окна?

Здесь.