Как программно управлять кнопкой ExpertEnabled ?

 
Собственно тема, когда то помню, был разговор по этой, или смежной теме, не могу найти. Может кто подскажет из уважаемого сообщества?
 
Ap
 
xrust писал (а) >>
Ap

из того же процесса МТ4 никак

с другого процесса МЕ4 можно т е если пущено два терминала

---

что бы что то выполнялось надо ее нажать!

что бы ей управлять надо что бы что то работало

но если вы ее нажмете первый раз на выключение то включить ее будет некому

---

остается вариант извращений

и вариант пуска совершенно посторонней программы!

которая и будет находить процесс TERMINAL искать там кнопку и давить ее

задача в принципе реашаемая но не из MT4

---


вообще в таких случаях мне всегда хочется задать вопрос

в чем рацинональность ?

зачем это надо - ну не вижу я причин по которым надо из другой программы включать - выключать эксперта

---

 

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

 
xrust писал (а) >>
Собственно тема, когда то помню, был разговор по этой, или смежной теме, не могу найти. Может кто подскажет из уважаемого сообщества?

По этой теме большой специалист - Jonny. Поищи в его постах.

 
xrust писал (а) >>

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

ну вот если бы в первом вопросе вы четко это сразу сказали !

тогда не сложно я бы сказал очень легко

юзайте в сторону API как нажимать кнопки тут хорошо описано в форуме...


что то наподобе


   // int hwnd = WindowHandle(  . найти главное окно...  );  
       PostMessageA(hwnd, WM_COMMAND, XXXXX,0);  // тут надо найти событие по этой кнопке


вот еще пример одного решения

https://c.mql4.com/forum/2007/08/Key_Home_5.mq4

 
xrust >>:
Собственно тема, когда то помню, был разговор по этой, или смежной теме, не могу найти. Может кто подскажет из уважаемого сообщества?
 
#include <WinUser32.mqh>
 
 
#import "user32.dll"
  int GetAncestor(int hWnd, int gaFlags);
#import
 
#define  PUSKSTOP 33020
 
void start()
{
   int hChart  = WindowHandle(Symbol(), Period());
   int hMetaTrader = GetAncestor(hChart,2);
   PostMessageA(hMetaTrader, WM_COMMAND, PUSKSTOP ,0);  // пуск или остановка советника
}

 
В принципе, на кнопку жать необязательно. После выполнения условия на выключение - создать глобальную переменную флаг и выполнять возврат на каждом опросе. Эту же переменную можно читать для индикации состояния.
 

Тема интересна в плане дистанционного управления сервером, на котором стоит МТ4, через Интернет.

Вот здесь есть близкое по теме 'Автоматизация с перехватом нажатия кнопок и мыши.'

 
FION >>:
В принципе, на кнопку жать необязательно. После выполнения условия на выключение - создать глобальную переменную флаг и выполнять возврат на каждом опросе. Эту же переменную можно читать для индикации состояния.

тут есть аспект один, если эксперт сам себя выключил то включить могут только руками или из индикатора

по теме просили программное управление кнопкой - вроде это как раз то что надо


тут есть одно но!

перед пуском - т е перед тем как ее нажать - непонятно в каком состоянии кнопка

хотя и это можно получить через все тот же API

 
YuraZ писал(а) >>

тут есть аспект один, если эксперт сам себя выключил то включить могут только руками или из индикатора

по теме просили программное управление кнопкой - вроде это как раз то что надо

тут есть одно но!

перед пуском - т е перед тем как ее нажать - непонятно в каком состоянии кнопка

Условие простое - кнопка в МТ-4 всегда нажата, а управление - внешнее, через чтение и изменение глобальных переменных. Хотя, конечно, неясно откуда и чем управлять. Просто как вариант...
Причина обращения: