Отжать кнопку АвтоТорговля MT4

 

Всем привет ребята. Скорей всего такой вопрос уже где-то обсуждался, но на первой странице гугла не нашел.

Как средствами MT4 (в советнике) отжать кнопку АвтоТорговля? Скорей всего невозможно, да?

 
Evgeniy Zhdan:

Всем привет ребята. Скорей всего такой вопрос уже где-то обсуждался, но на первой странице гугла не нашел.

Как средствами MT4 (в советнике) отжать кнопку АвтоТорговля? Скорей всего невозможно, да?

Много раз обсуждали: Нашел в поиске отжать кнопку АвтоТорговля
 
Konstantin Erin:
Много раз обсуждали: Нашел в поиске отжать кнопку АвтоТорговля
#include <WinUser32.mqh>

#define VK_CONTROL 0x11 
#define KEY_CODE   'E'


void PressOrReleaseAutotrade()
{
   keybd_event(VK_CONTROL, 0, 0, 0);
   keybd_event(KEY_CODE, 0, 0, 0);
   keybd_event(KEY_CODE, 0, 2, 0);
   keybd_event(VK_CONTROL, 0, 2, 0);   
}

Ну это сочетанием клавиш Ctrl+E будет работать. А как бы сделать чтоб не сочетанием клавиш, в просто вызовом функции какбэп

 
Evgeniy Zhdan:

Ну это сочетанием клавиш Ctrl+E будет работать. А как бы сделать чтоб не сочетанием клавиш, в просто вызовом функции какбэп

так тут и приведена функция, вызов которой даст требуемый результат. Функция программно имитирует нажатие сочетания клавиш

 
Konstantin Erin:

так тут и приведена функция, вызов которой даст требуемый результат. Функция программно имитирует нажатие сочетания клавиш

Ну так я уже испробовал ее перед тем как писать, не сработало. А сочетанием клавишь сработало

 

пРИВЕТ ,


 Можно  просто чтобы терминал выключился. 

Переменная- ТерминалКлозе().

И ахтунг полный. 

Никагой гнопки не нада нажимат.

 

Раскопал в своих запасах. Это для MT4, насколько я помню


#include <WinUser32.mqh>

#import "user32.dll"
int      GetDlgItem(int hDlg, int nIDDlgItem);
int      GetAncestor(int hWnd, int gaFlags);
int      SendMessageA(int  hWnd, int  Msg, int  wParam, int& lParam[]);
#import


void ExpertEnabled (bool Switch) // TRUE - включить эксперт, FALSE - отключить эксперт.
{
  int HandlWindow = WindowHandle (Symbol(), Period());
  int HandlMT4;
  int HandlToolbar;
  int    ArIntTemp[1];
  if ((Switch && !IsExpertEnabled()) || (!Switch && IsExpertEnabled()) )  {
     HandlMT4 = GetAncestor (HandlWindow, 2); 
     HandlToolbar = GetDlgItem (HandlMT4, 0x63);
     ArIntTemp[0] = HandlToolbar;
     SendMessageA (HandlMT4, WM_COMMAND, 33020, ArIntTemp);
  }
}
 
Так как же всё-таки управлять кнопкой Авто-торговля? Приведённые выше коды не работают.
 
khorosh:
Так как же всё-таки управлять кнопкой Авто-торговля? Приведённые выше коды не работают.

Dll включены?

 
Evgeny Belyaev:

Dll включены?

Спасибо. Да, именно в этом была причина!

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