サーバを再スキャンするコード。

Basketbull_v8.0_Eng.mq4 というバスケットトレードEAに書かれていたのを抜粋しました。
このEAは start()関数内で while ループし続けるタイプなので、この種のコードが必要なのでしょう..。

#define WM_COMMAND  0x0111

#import "user32.dll"
   int GetAncestor(int hWnd, int gaFlags);
   int PostMessageA(int hWnd,int Msg,int wParam,int lParam);
#import

int start()
  {
   if(!IsConnected()) reconn();
   return(0);
  }
//+------------------------------------------------------------------+
//|    SCAN SERVERS ON DISCONNECTION                                
//+------------------------------------------------------------------+
void reconn()
{
   int hMetaTrader = GetAncestor(WindowHandle(Symbol(),Period()),2); // focus on the terminal window 
   if (hMetaTrader !=0) PostMessageA (hMetaTrader, WM_COMMAND, 37400, 0); // rescan all servers
   return;
}