Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Опубликуй статью. Получи вознаграждение!
khorosh
8188
khorosh 2010.11.03 16:20 

Бывает ситуация при быстрых движениях цены, когда при попытке открыть ордер сервер не принимает его, сообщая что нет связи. И при повторных попытках реакция сервера остаётся неизменной. Но стоило переключиться на другой сервер, как ордер открылся легко и с первого раза.

Можно ли из эксперта пересканировать сервера?

Алексей
287
Алексей 2010.11.03 16:29  

А что значит "пересканировать" в данном случае? Зачем вам его сканировать? Может имеется ввиду переключиться на другой сервер?

Vladyslav Goshkov
2066
Vladyslav Goshkov 2010.11.03 16:37  
khorosh:

Бывает ситуация при быстрых движениях цены, когда при попытке открыть ордер сервер не принимает его, сообщая что нет связи. И при повторных попытках реакция сервера остаётся неизменной. Но стоило переключиться на другой сервер, как ордер открылся легко и с первого раза.

Можно ли из эксперта пересканировать сервера?

#define RESCANSERVERS_COMMAND_CODE   37400
#define OPENLOGINWINDOW_COMMAND_CODE 35429
#define PAUSE 1000

int ReScanServers()
{
int hwindow=GetAncestor(WindowHandle(Symbol(),Period()),2);   // Get Main MT Handle
   if(hwindow!=0) 
   {                                                          // If Exist
      return(PostMessageA(hwindow,WM_COMMAND,RESCANSERVERS_COMMAND_CODE,0)); // Send ReScan Servers Command
   }
   return(-1);
}

int ReLoginAccount()
{
int hwnd=GetAncestor(WindowHandle(Symbol(),Period()),2);           // Get Main MT Handle
    PostMessageA(hwnd,WM_COMMAND,OPENLOGINWINDOW_COMMAND_CODE,0);  // Open Login Window
    Sleep(PAUSE);
    hwnd=GetLastActivePopup(hwnd);                                 // Finde Login Window Handle
    hwnd=GetDlgItem(hwnd,0x1);                                     // Finde Login Button window handle
    Sleep(PAUSE);
    SendMessageA(hwnd,BM_CLICK,0,0);                               // Press Login button 
    return(0);
}

В принципе - это уже обсуждалось...... Штатный файл замените прикрепленным....

Удачи ....

Файлы:
winuser32.mqh 110 kb
khorosh
8188
khorosh 2010.11.03 17:08  
VladislavVG:


В принципе - это уже обсуждалось...... Штатный файл замените прикрепленным....

Удачи ....


Большое спасибою
khorosh
8188
khorosh 2010.11.03 18:02  
NorthAlec:

А что значит "пересканировать" в данном случае? Зачем вам его сканировать? Может имеется ввиду переключиться на другой сервер?

Щёлкните по значку в правом нижнем углу индицирующего наличие связи и там увидите пункт - "Пересканировать серверы" . Так вот именно это мне и хотелось сделать автоматически.

Vadim Zhunko
5226
Vadim Zhunko 2010.11.03 18:48  
VladislavVG:
 Штатный файл замените прикрепленным.... 

Файл-то в ходу... :-)))

Вот новая версия. Самая последняя. 

Файлы:
Vadim Zhunko
5226
Vadim Zhunko 2010.11.03 18:52  
khorosh:

Щёлкните по значку в правом нижнем углу индицирующего наличие связи и там увидите пункт - "Пересканировать серверы" . Так вот именно это мне и хотелось сделать автоматически.

Здесь библиотека сервисных функций для МТ4. Работают после первого вызова несоизмеримо быстрее, чем вызов WinAPI функций в MQL4.

По ощущениям раз в 10 быстрее.

Vladyslav Goshkov
2066
Vladyslav Goshkov 2010.11.03 19:10  
Zhunko:

Здесь библиотека сервисных функций для МТ4. Работают после первого вызова не соизмеримо быстрее, чем вызов WinAPI функций в MQL4.

По ощущениям раз в 10 быстрее.

Спасибо.
khorosh
8188
khorosh 2010.11.03 19:21  
Zhunko:

Здесь библиотека сервисных функций для МТ4. Работают после первого вызова не соизмеримо быстрее, чем вызов WinAPI функций в MQL4.

По ощущениям раз в 10 быстрее.

Большое спасибо за Ваш бескорыстный и высококвалифицированный труд. А с чем связано, уменьшение объёма файла WinUser32_1.mqh по сравнению с выложенным VladislavVG:
khorosh
8188
khorosh 2010.11.03 19:30  
VladislavVG:


В принципе - это уже обсуждалось...... Штатный файл замените прикрепленным....

Удачи ....

А после пересканирования обязательно ли производить перелогинивание?
Vladyslav Goshkov
2066
Vladyslav Goshkov 2010.11.03 20:41  
khorosh:
А после пересканирования обязательно ли производить перелогинивание?

Я не делаю - вроде нормально работает ....
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий