Как программно управлять кнопкой ExpertEnabled ? - страница 2

 
int HandlMT4;        // Системный дескриптор окна МТ4.
int HandlToolbar;    // Системный дескриптор окна инструментов.
// Массвы.
int ArIntTemp[1];
//------------------------
if (!IsExpertEnabled()) // Разрешаем работу экспертов, если она была запрещена.
 {
  HandlMT4 = GetAncestor (HandlWindow, 2);	
  HandlToolbar = GetDlgItem (HandlMT4, 0x63);
  ArIntTemp[0] = HandlToolbar;
  SendMessageA (HandlMT4, WM_COMMAND, 33020, ArIntTemp);
 }
//------------------------
if (IsExpertEnabled()) // Запрещаем работу экспертов. Возвращаем кнопку на место.
 {
  HandlMT4 = GetAncestor (HandlWindow, 2);	
  HandlToolbar = GetDlgItem (HandlMT4, 0x63);
  ArIntTemp[0] = HandlToolbar;
  SendMessageA (HandlMT4, WM_COMMAND, 33020, ArIntTemp);
 }
Это Ильнур так подсказал сделать.
 

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

При выгрузке выгружает все указанные индикаторы.

Этим же способом эксперт вызывает свои свойства. Как известно, от зацикленного эксперта окна свойств не дождётесь.

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

Скрипт запускается через эмуляцию нажатия горячих кнопок.

Таким образом можно поручать скрипту разные вычисления. Информацию через маппинг гонять.

Вообщем, параллельные вычисления получаются... через задницу :-))

Причина обращения: