//+------------------------------------------------------------------+
//|                                             QuickTest_Script.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, zznbrm"

#import "user32.dll"
   int      GetWindowTextA(int hWnd,string lpString,int nMaxCount);
   int      GetWindow(int hWnd,int uCmd);
   int      GetParent(int hWnd);
   int      PostMessageA(int hWnd,int Msg,int wParam,int lParam);
   int      RegisterWindowMessageA(string lpString);
#import

#define GW_HWNDFIRST                   0
#define GW_HWNDNEXT                    2
#define WM_COMMAND                     0x0111

int start()
{
   int intStart = GetTickCount();
   updateAllOffline( "T101-1,M101" );   
   Print( GetTickCount() - intStart );     
   return( 0 );
}

//+------------------------------------------------------------------+
//| updateAllOffline                                                 |
//+------------------------------------------------------------------+
void updateAllOffline( string strWindowName )
{
   static int intMT4MsgID = 0;
   bool blnContinue = true;  
   string astrTitle[1];
   int intParent = GetParent( WindowHandle( Symbol(), Period() ) );   
   int intChild = GetWindow( intParent, GW_HWNDFIRST );     
      
   if ( intMT4MsgID == 0 )
         intMT4MsgID = RegisterWindowMessageA("MetaTrader4_Internal_Message");         
   
   while( intChild > 0 )
   {
      astrTitle[0] = "                                                  ";
      GetWindowTextA( intChild, astrTitle[0], 50 );
      
      if ( StringFind( astrTitle[0], strWindowName ) != -1 )
      {
         // Refresh and simulate tick
         PostMessageA( intChild, WM_COMMAND, 33324, 0 );         
         PostMessageA( intChild, intMT4MsgID, 2, 1 );
      }
           
      intChild = GetWindow( intChild, GW_HWNDNEXT );   
   }
}


